@doyourjob/gravity-ui-page-constructor 5.31.249 → 5.31.252

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 (51) hide show
  1. package/build/cjs/blocks/Scroller/Scroller.js +119 -36
  2. package/build/cjs/blocks/Scroller/schema.d.ts +0 -6
  3. package/build/cjs/blocks/Scroller/schema.js +0 -3
  4. package/build/cjs/blocks/WhatsNew/WhatsNew.js +2 -2
  5. package/build/cjs/blocks/WhatsNew/schema.d.ts +0 -3
  6. package/build/cjs/constructor-items.d.ts +1 -0
  7. package/build/cjs/constructor-items.js +1 -0
  8. package/build/cjs/models/constructor-items/blocks.d.ts +1 -2
  9. package/build/cjs/models/constructor-items/sub-blocks.d.ts +25 -2
  10. package/build/cjs/models/constructor-items/sub-blocks.js +1 -0
  11. package/build/cjs/schema/constants.d.ts +211 -2
  12. package/build/cjs/schema/constants.js +2 -1
  13. package/build/cjs/schema/validators/sub-blocks.d.ts +1 -0
  14. package/build/cjs/schema/validators/sub-blocks.js +1 -0
  15. package/build/cjs/sub-blocks/MiniCaseCard/MiniCaseCard.css +149 -0
  16. package/build/cjs/sub-blocks/MiniCaseCard/MiniCaseCard.d.ts +4 -0
  17. package/build/cjs/sub-blocks/MiniCaseCard/MiniCaseCard.js +54 -0
  18. package/build/cjs/sub-blocks/MiniCaseCard/schema.d.ts +211 -0
  19. package/build/cjs/sub-blocks/MiniCaseCard/schema.js +28 -0
  20. package/build/cjs/sub-blocks/index.d.ts +1 -0
  21. package/build/cjs/sub-blocks/index.js +3 -1
  22. package/build/cjs/text-transform/config.js +11 -0
  23. package/build/esm/blocks/Scroller/Scroller.js +119 -36
  24. package/build/esm/blocks/Scroller/schema.d.ts +0 -6
  25. package/build/esm/blocks/Scroller/schema.js +0 -3
  26. package/build/esm/blocks/WhatsNew/WhatsNew.js +2 -2
  27. package/build/esm/blocks/WhatsNew/schema.d.ts +0 -3
  28. package/build/esm/constructor-items.d.ts +1 -0
  29. package/build/esm/constructor-items.js +2 -1
  30. package/build/esm/models/constructor-items/blocks.d.ts +1 -2
  31. package/build/esm/models/constructor-items/sub-blocks.d.ts +25 -2
  32. package/build/esm/models/constructor-items/sub-blocks.js +1 -0
  33. package/build/esm/schema/constants.d.ts +211 -2
  34. package/build/esm/schema/constants.js +3 -2
  35. package/build/esm/schema/validators/sub-blocks.d.ts +1 -0
  36. package/build/esm/schema/validators/sub-blocks.js +1 -0
  37. package/build/esm/sub-blocks/MiniCaseCard/MiniCaseCard.css +149 -0
  38. package/build/esm/sub-blocks/MiniCaseCard/MiniCaseCard.d.ts +5 -0
  39. package/build/esm/sub-blocks/MiniCaseCard/MiniCaseCard.js +52 -0
  40. package/build/esm/sub-blocks/MiniCaseCard/schema.d.ts +211 -0
  41. package/build/esm/sub-blocks/MiniCaseCard/schema.js +25 -0
  42. package/build/esm/sub-blocks/index.d.ts +1 -0
  43. package/build/esm/sub-blocks/index.js +1 -0
  44. package/build/esm/text-transform/config.js +11 -0
  45. package/package.json +1 -1
  46. package/schema/index.js +1 -1
  47. package/server/models/constructor-items/blocks.d.ts +1 -2
  48. package/server/models/constructor-items/sub-blocks.d.ts +25 -2
  49. package/server/models/constructor-items/sub-blocks.js +1 -0
  50. package/server/text-transform/config.js +11 -0
  51. package/widget/index.js +1 -1
@@ -0,0 +1,149 @@
1
+ /* use this for style redefinitions to awoid problems with
2
+ unpredictable css rules order in build */
3
+ .pc-mini-case-card {
4
+ display: flex;
5
+ flex-direction: row;
6
+ justify-content: space-between;
7
+ align-items: flex-start;
8
+ gap: 32px;
9
+ padding: 52px;
10
+ border-radius: 40px;
11
+ }
12
+ @media (max-width: 769px) {
13
+ .pc-mini-case-card {
14
+ flex-direction: column;
15
+ padding: 48px 16px;
16
+ border-radius: 32px;
17
+ }
18
+ }
19
+ .pc-mini-case-card__lhs {
20
+ display: flex;
21
+ flex-direction: column;
22
+ align-items: flex-start;
23
+ gap: 24px;
24
+ align-self: stretch;
25
+ justify-content: space-between;
26
+ max-width: 660px;
27
+ }
28
+ @media (max-width: 769px) {
29
+ .pc-mini-case-card__lhs {
30
+ align-self: auto;
31
+ max-width: none;
32
+ }
33
+ }
34
+ .pc-mini-case-card__content {
35
+ display: flex;
36
+ flex-direction: column;
37
+ align-items: flex-start;
38
+ gap: 24px;
39
+ }
40
+ .pc-mini-case-card__head {
41
+ display: flex;
42
+ flex-direction: column;
43
+ align-items: flex-start;
44
+ gap: 16px;
45
+ }
46
+ .pc-mini-case-card__tags {
47
+ display: flex;
48
+ flex-direction: row;
49
+ gap: 8px;
50
+ }
51
+ .pc-mini-case-card__tag {
52
+ display: flex;
53
+ align-items: center;
54
+ justify-content: center;
55
+ padding: 4px 12px 5px;
56
+ border-radius: 12px;
57
+ border: 1px solid;
58
+ }
59
+ .pc-mini-case-card__tag_usecase {
60
+ color: #614efa;
61
+ border-color: #614efa;
62
+ }
63
+ .pc-mini-case-card__tag_industry {
64
+ color: #3a8ef5;
65
+ border-color: #3a8ef5;
66
+ }
67
+ .pc-mini-case-card__tag, .pc-mini-case-card__author-name, .pc-mini-case-card__author-position {
68
+ font-size: var(--g-text-body-1-font-size, var(--pc-text-body-1-font-size));
69
+ line-height: var(--g-text-body-1-line-height, var(--pc-text-body-1-line-height));
70
+ line-height: 22px;
71
+ }
72
+ .pc-mini-case-card__title {
73
+ font-size: var(--g-text-display-3-font-size, var(--pc-text-display-3-font-size));
74
+ line-height: var(--g-text-display-3-line-height, var(--pc-text-display-3-line-height));
75
+ font-weight: var(--g-text-accent-font-weight);
76
+ }
77
+ @media (max-width: 769px) {
78
+ .pc-mini-case-card__title {
79
+ font-size: var(--g-text-display-2-font-size, var(--pc-text-display-2-font-size));
80
+ line-height: var(--g-text-display-2-line-height, var(--pc-text-display-2-line-height));
81
+ }
82
+ }
83
+ .pc-mini-case-card__text, .pc-mini-case-card__quote, .pc-mini-case-card__label {
84
+ font-size: var(--g-text-body-2-font-size, var(--pc-text-body-2-font-size));
85
+ line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
86
+ }
87
+ .pc-mini-case-card__rhs {
88
+ display: flex;
89
+ flex-direction: column;
90
+ gap: 4px;
91
+ }
92
+ @media (max-width: 769px) {
93
+ .pc-mini-case-card__rhs {
94
+ align-self: stretch;
95
+ }
96
+ }
97
+ .pc-mini-case-card__box {
98
+ display: flex;
99
+ flex-direction: column;
100
+ justify-content: center;
101
+ align-items: center;
102
+ text-align: center;
103
+ border-radius: 30px;
104
+ padding: 30px;
105
+ color: var(--g-color-text-light-primary);
106
+ min-width: 400px;
107
+ }
108
+ @media (max-width: 769px) {
109
+ .pc-mini-case-card__box {
110
+ min-width: 100%;
111
+ }
112
+ }
113
+ .pc-mini-case-card__value {
114
+ font-size: 40px;
115
+ line-height: 48px;
116
+ letter-spacing: 0;
117
+ font-weight: var(--g-text-display-font-weight);
118
+ text-transform: uppercase;
119
+ }
120
+ .pc-mini-case-card__author {
121
+ display: flex;
122
+ flex-direction: row;
123
+ gap: 16px;
124
+ }
125
+ .pc-mini-case-card__author-avatar {
126
+ display: block;
127
+ flex-shrink: 0;
128
+ width: 64px;
129
+ height: 64px;
130
+ border-radius: 12px;
131
+ object-fit: cover;
132
+ }
133
+ .pc-mini-case-card__author-name {
134
+ font-weight: var(--g-text-accent-font-weight);
135
+ }
136
+ .pc-mini-case-card__wrap-logo {
137
+ display: flex;
138
+ align-items: center;
139
+ max-height: 32px;
140
+ }
141
+ @media (max-width: 769px) {
142
+ .pc-mini-case-card__wrap-logo {
143
+ max-height: 54px;
144
+ }
145
+ }
146
+ .pc-mini-case-card__logo {
147
+ display: block;
148
+ max-height: 100%;
149
+ }
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { MiniCaseCardProps } from '../../models';
3
+ import './MiniCaseCard.css';
4
+ declare const MiniCaseCard: React.FC<MiniCaseCardProps>;
5
+ export default MiniCaseCard;
@@ -0,0 +1,52 @@
1
+ import React from 'react';
2
+ import { HTML, Image } from '../../components';
3
+ import { block } from '../../utils';
4
+ import './MiniCaseCard.css';
5
+ const b = block('mini-case-card');
6
+ const MiniCaseCardAuthor = ({ showQuote, avatar, author, position, }) => {
7
+ if (!showQuote || !(avatar || author || position)) {
8
+ return null;
9
+ }
10
+ return (React.createElement("div", { className: b('author') },
11
+ avatar && React.createElement(Image, { src: avatar, className: b('author-avatar') }),
12
+ (author || position) && (React.createElement("div", { className: b('author-text') },
13
+ author && React.createElement("span", { className: b('author-name') }, author),
14
+ author && position && React.createElement("br", null),
15
+ position && React.createElement("span", { className: b('author-position') }, position)))));
16
+ };
17
+ const MiniCaseCardTags = ({ tagUsecase, tagIndustry }) => {
18
+ if (!(tagUsecase === null || tagUsecase === void 0 ? void 0 : tagUsecase.length) && !(tagIndustry === null || tagIndustry === void 0 ? void 0 : tagIndustry.length)) {
19
+ return null;
20
+ }
21
+ return (React.createElement("div", { className: b('tags') }, tagUsecase === null || tagUsecase === void 0 ? void 0 :
22
+ tagUsecase.map((tag, index) => (React.createElement("div", { key: `usecase-${index}`, className: b('tag', { usecase: true }) },
23
+ React.createElement(HTML, null, tag)))), tagIndustry === null || tagIndustry === void 0 ? void 0 :
24
+ tagIndustry.map((tag, index) => (React.createElement("div", { key: `industry-${index}`, className: b('tag', { industry: true }) },
25
+ React.createElement(HTML, null, tag))))));
26
+ };
27
+ const MiniCaseCardHead = ({ title, shouldShowStory, showQuote, text, quote, avatar, author, position, }) => {
28
+ const shouldShowQuote = showQuote && Boolean(quote || avatar || author || position);
29
+ if (!title && !shouldShowStory && !shouldShowQuote) {
30
+ return null;
31
+ }
32
+ return (React.createElement("div", { className: b('head') },
33
+ title && (React.createElement("div", { className: b('title') },
34
+ React.createElement(HTML, null, title))),
35
+ shouldShowStory && React.createElement(HTML, { className: b('text') }, text),
36
+ showQuote && quote && React.createElement(HTML, { className: b('quote') }, quote),
37
+ React.createElement(MiniCaseCardAuthor, { showQuote: showQuote, avatar: avatar, author: author, position: position })));
38
+ };
39
+ const MiniCaseCard = ({ title, showStory = true, showQuote = true, text, quote, avatar, author, position, logo, tagUsecase, tagIndustry, data, background, backgroundData, }) => {
40
+ const shouldShowStory = showStory && Boolean(text);
41
+ return (React.createElement("div", { className: b(), style: background ? { background } : undefined },
42
+ React.createElement("div", { className: b('lhs') },
43
+ React.createElement("div", { className: b('content') },
44
+ logo && (React.createElement("div", { className: b('wrap-logo') },
45
+ React.createElement(Image, { src: logo, className: b('logo') }))),
46
+ React.createElement(MiniCaseCardHead, { title: title, shouldShowStory: shouldShowStory, showQuote: showQuote, text: text, quote: quote, avatar: avatar, author: author, position: position })),
47
+ React.createElement(MiniCaseCardTags, { tagUsecase: tagUsecase, tagIndustry: tagIndustry })),
48
+ React.createElement("div", { className: b('rhs') }, data === null || data === void 0 ? void 0 : data.map((item, index) => (React.createElement("div", { key: index, className: b('box'), style: backgroundData ? { background: backgroundData } : undefined },
49
+ React.createElement("div", { className: `${b('value')} title-font-family` }, item.value),
50
+ React.createElement("div", { className: b('label') }, item.label)))))));
51
+ };
52
+ export default MiniCaseCard;
@@ -0,0 +1,211 @@
1
+ export declare const MiniCaseCard: {
2
+ 'mini-case-card': {
3
+ additionalProperties: boolean;
4
+ required: never[];
5
+ properties: {
6
+ title: {
7
+ type: string;
8
+ };
9
+ tagUsecase: {
10
+ type: string;
11
+ items: {
12
+ type: string;
13
+ };
14
+ };
15
+ tagIndustry: {
16
+ type: string;
17
+ items: {
18
+ type: string;
19
+ };
20
+ };
21
+ showStory: {
22
+ type: string;
23
+ };
24
+ showQuote: {
25
+ type: string;
26
+ };
27
+ text: {
28
+ type: string;
29
+ };
30
+ quote: {
31
+ type: string;
32
+ };
33
+ logo: {
34
+ type: string;
35
+ };
36
+ avatar: {
37
+ type: string;
38
+ };
39
+ author: {
40
+ type: string;
41
+ };
42
+ position: {
43
+ type: string;
44
+ };
45
+ data: {
46
+ type: string;
47
+ items: {
48
+ type: string;
49
+ additionalProperties: boolean;
50
+ required: string[];
51
+ properties: {
52
+ value: {
53
+ type: string;
54
+ };
55
+ label: {
56
+ type: string;
57
+ };
58
+ };
59
+ };
60
+ };
61
+ background: {
62
+ type: string;
63
+ };
64
+ backgroundData: {
65
+ type: string;
66
+ };
67
+ anchor: {
68
+ type: string;
69
+ additionalProperties: boolean;
70
+ required: string[];
71
+ properties: {
72
+ text: {
73
+ type: string;
74
+ contentType: string;
75
+ };
76
+ url: {
77
+ type: string;
78
+ };
79
+ urlTitle: {
80
+ type: string;
81
+ };
82
+ };
83
+ };
84
+ visibility: {
85
+ oneOf: ({
86
+ type: string;
87
+ enum: string[];
88
+ additionalProperties?: undefined;
89
+ properties?: undefined;
90
+ } | {
91
+ type: string;
92
+ additionalProperties: boolean;
93
+ properties: {
94
+ xs: {
95
+ type: string;
96
+ };
97
+ sm: {
98
+ type: string;
99
+ };
100
+ md: {
101
+ type: string;
102
+ };
103
+ lg: {
104
+ type: string;
105
+ };
106
+ xl: {
107
+ type: string;
108
+ };
109
+ xxl: {
110
+ type: string;
111
+ };
112
+ };
113
+ enum?: undefined;
114
+ })[];
115
+ };
116
+ visible: {
117
+ type: string;
118
+ enum: string[];
119
+ };
120
+ hidden: {
121
+ type: string;
122
+ enum: string[];
123
+ };
124
+ resetPaddings: {
125
+ type: string;
126
+ };
127
+ context: {
128
+ type: string;
129
+ };
130
+ indent: {
131
+ type: string;
132
+ additionalProperties: boolean;
133
+ properties: {
134
+ top: {
135
+ enum: string[];
136
+ };
137
+ bottom: {
138
+ enum: string[];
139
+ };
140
+ };
141
+ };
142
+ backgroundFull: {
143
+ type: string;
144
+ };
145
+ visibilityFilter: {
146
+ oneOf: ({
147
+ type: string;
148
+ items?: undefined;
149
+ } | {
150
+ type: string;
151
+ items: {
152
+ type: string;
153
+ };
154
+ })[];
155
+ };
156
+ blockUnicorn: {
157
+ type: string;
158
+ };
159
+ blockUnicornSdkUrl: {
160
+ type: string;
161
+ };
162
+ blockBackground: {
163
+ oneOf: ({
164
+ type: string;
165
+ additionalProperties?: undefined;
166
+ properties?: undefined;
167
+ } | {
168
+ type: string;
169
+ additionalProperties: boolean;
170
+ properties: {
171
+ color: {
172
+ type: string;
173
+ };
174
+ image: {
175
+ type: string;
176
+ };
177
+ size: {
178
+ type: string;
179
+ };
180
+ repeat: {
181
+ type: string;
182
+ };
183
+ position: {
184
+ type: string;
185
+ };
186
+ attachment: {
187
+ type: string;
188
+ };
189
+ clip: {
190
+ type: string;
191
+ };
192
+ origin: {
193
+ type: string;
194
+ };
195
+ blendMode: {
196
+ type: string;
197
+ };
198
+ };
199
+ })[];
200
+ };
201
+ column: {
202
+ type: string;
203
+ enum: string[];
204
+ };
205
+ type: {};
206
+ when: {
207
+ type: string;
208
+ };
209
+ };
210
+ };
211
+ };
@@ -0,0 +1,25 @@
1
+ import { BlockBaseProps } from '../../schema/validators/common';
2
+ export const MiniCaseCard = {
3
+ 'mini-case-card': {
4
+ additionalProperties: false,
5
+ required: [],
6
+ properties: Object.assign(Object.assign({}, BlockBaseProps), { title: { type: 'string' }, tagUsecase: {
7
+ type: 'array',
8
+ items: { type: 'string' },
9
+ }, tagIndustry: {
10
+ type: 'array',
11
+ items: { type: 'string' },
12
+ }, showStory: { type: 'boolean' }, showQuote: { type: 'boolean' }, text: { type: 'string' }, quote: { type: 'string' }, logo: { type: 'string' }, avatar: { type: 'string' }, author: { type: 'string' }, position: { type: 'string' }, data: {
13
+ type: 'array',
14
+ items: {
15
+ type: 'object',
16
+ additionalProperties: false,
17
+ required: ['value'],
18
+ properties: {
19
+ value: { type: 'string' },
20
+ label: { type: 'string' },
21
+ },
22
+ },
23
+ }, background: { type: 'string' }, backgroundData: { type: 'string' } }),
24
+ },
25
+ };
@@ -20,4 +20,5 @@ export { default as EventPersonCard } from './EventPersonCard/EventPersonCard';
20
20
  export { default as AttachmentCard } from './AttachmentCard/AttachmentCard';
21
21
  export { default as CaseStudyCard } from './CaseStudyCard/CaseStudyCard';
22
22
  export { default as StoryCard } from './StoryCard/StoryCard';
23
+ export { default as MiniCaseCard } from './MiniCaseCard/MiniCaseCard';
23
24
  export { default as FeedPartner } from './FeedPartner/FeedPartner';
@@ -20,4 +20,5 @@ export { default as EventPersonCard } from './EventPersonCard/EventPersonCard';
20
20
  export { default as AttachmentCard } from './AttachmentCard/AttachmentCard';
21
21
  export { default as CaseStudyCard } from './CaseStudyCard/CaseStudyCard';
22
22
  export { default as StoryCard } from './StoryCard/StoryCard';
23
+ export { default as MiniCaseCard } from './MiniCaseCard/MiniCaseCard';
23
24
  export { default as FeedPartner } from './FeedPartner/FeedPartner';
@@ -478,6 +478,17 @@ export const config = {
478
478
  transformer: yfmTransformer,
479
479
  },
480
480
  ],
481
+ [SubBlockType.MiniCaseCard]: [
482
+ {
483
+ fields: ['title'],
484
+ transformer: typografTransformer,
485
+ parser: parseTitle,
486
+ },
487
+ {
488
+ fields: ['text', 'quote', 'author', 'position'],
489
+ transformer: yfmTransformer,
490
+ },
491
+ ],
481
492
  [BlockType.MiniCaseBlock]: blockHeaderTransformer,
482
493
  [BlockType.AdvantagesBlock]: {
483
494
  fields: ['title'],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doyourjob/gravity-ui-page-constructor",
3
- "version": "5.31.249",
3
+ "version": "5.31.252",
4
4
  "description": "Gravity UI Page Constructor",
5
5
  "license": "MIT",
6
6
  "repository": {