@gravity-ui/blog-constructor 1.0.0 → 1.1.0-alpha.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. package/README.md +61 -1
  2. package/build/cjs/blocks/Author/Author.css +31 -0
  3. package/build/cjs/blocks/Banner/Banner.css +58 -0
  4. package/build/cjs/blocks/CTA/CTA.css +56 -0
  5. package/build/cjs/blocks/ColoredText/ColoredText.css +28 -0
  6. package/build/cjs/blocks/Layout/Layout.css +22 -0
  7. package/build/cjs/blocks/Media/Media.css +41 -0
  8. package/build/cjs/blocks/Meta/Meta.css +7 -0
  9. package/build/cjs/blocks/YFM/__tests__/YFM.test.d.ts +1 -0
  10. package/build/cjs/blocks/YFM/__tests__/YFM.test.js +16 -0
  11. package/build/cjs/components/ButtonWithIcon/ButtonWithIcon.css +76 -0
  12. package/build/cjs/components/FeedHeader/FeedHeader.css +54 -0
  13. package/build/cjs/components/FeedHeader/components/Controls/Controls.css +108 -0
  14. package/build/cjs/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.css +14 -0
  15. package/build/cjs/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.css +53 -0
  16. package/build/cjs/components/Paginator/Paginator.css +54 -0
  17. package/build/cjs/components/PostCard/PostCard.css +85 -0
  18. package/build/cjs/components/PostInfo/PostInfo.css +88 -0
  19. package/build/cjs/components/Posts/Posts.css +28 -0
  20. package/build/cjs/components/PostsEmpty/PostsEmpty.css +25 -0
  21. package/build/cjs/components/PostsError/PostError.css +30 -0
  22. package/build/cjs/components/Search/Search.css +32 -0
  23. package/build/cjs/components/Wrapper/Wrapper.css +32 -0
  24. package/build/cjs/containers/BlogPage/BlogPage.css +21 -0
  25. package/build/cjs/containers/BlogPostPage/BlogPostPage.css +251 -0
  26. package/build/cjs/models/blocks.d.ts +0 -1
  27. package/build/esm/blocks/Author/Author.css +31 -0
  28. package/build/esm/blocks/Banner/Banner.css +58 -0
  29. package/build/esm/blocks/CTA/CTA.css +56 -0
  30. package/build/esm/blocks/ColoredText/ColoredText.css +28 -0
  31. package/build/esm/blocks/Layout/Layout.css +22 -0
  32. package/build/esm/blocks/Media/Media.css +41 -0
  33. package/build/esm/blocks/Meta/Meta.css +7 -0
  34. package/build/esm/blocks/YFM/__tests__/YFM.test.d.ts +1 -0
  35. package/build/esm/blocks/YFM/__tests__/YFM.test.js +11 -0
  36. package/build/esm/components/ButtonWithIcon/ButtonWithIcon.css +76 -0
  37. package/build/esm/components/FeedHeader/FeedHeader.css +54 -0
  38. package/build/esm/components/FeedHeader/components/Controls/Controls.css +108 -0
  39. package/build/esm/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.css +14 -0
  40. package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.css +53 -0
  41. package/build/esm/components/Paginator/Paginator.css +54 -0
  42. package/build/esm/components/PostCard/PostCard.css +85 -0
  43. package/build/esm/components/PostInfo/PostInfo.css +88 -0
  44. package/build/esm/components/Posts/Posts.css +28 -0
  45. package/build/esm/components/PostsEmpty/PostsEmpty.css +25 -0
  46. package/build/esm/components/PostsError/PostError.css +30 -0
  47. package/build/esm/components/Search/Search.css +32 -0
  48. package/build/esm/components/Wrapper/Wrapper.css +32 -0
  49. package/build/esm/containers/BlogPage/BlogPage.css +21 -0
  50. package/build/esm/containers/BlogPostPage/BlogPostPage.css +251 -0
  51. package/build/esm/models/blocks.d.ts +0 -1
  52. package/package.json +38 -28
  53. package/server/models/blocks.d.ts +0 -1
  54. package/styles/mixins.css +2 -0
  55. package/styles/mixins.scss +0 -11
  56. package/styles/root.css +21 -0
  57. package/styles/styles.css +196 -0
  58. package/styles/variables.css +0 -0
  59. package/styles/yfm.css +103 -0
@@ -0,0 +1,88 @@
1
+ /* use this for style redefinitions to awoid problems with
2
+ unpredictable css rules order in build */
3
+ .bc-post-info__item {
4
+ font-size: var(--yc-text-body-2-font-size);
5
+ line-height: var(--yc-text-body-2-line-height);
6
+ display: flex;
7
+ padding-right: 24px;
8
+ padding-top: 12px;
9
+ flex-wrap: nowrap;
10
+ align-items: center;
11
+ }
12
+ .bc-post-info__item_size_s {
13
+ font-size: var(--yc-text-body-2-font-size);
14
+ line-height: var(--yc-text-body-2-line-height);
15
+ }
16
+ .bc-post-info__item_size_m {
17
+ font-size: var(--yc-text-body-3-font-size);
18
+ line-height: var(--yc-text-body-3-line-height);
19
+ }
20
+ .bc-post-info__item:last-child {
21
+ font-size: var(--yc-text-body-2-font-size);
22
+ line-height: var(--yc-text-body-2-line-height);
23
+ display: flex;
24
+ padding-right: 0px;
25
+ padding-top: 12px;
26
+ flex-wrap: nowrap;
27
+ align-items: center;
28
+ }
29
+ .bc-post-info__switcher {
30
+ color: var(--yc-color-text-secondary);
31
+ }
32
+ .bc-post-info__switcher:hover {
33
+ color: var(--yc-color-text-primary);
34
+ }
35
+ .bc-post-info__switcher_theme_dark {
36
+ color: var(--yc-color-text-light-secondary);
37
+ }
38
+ .bc-post-info__switcher_theme_dark.yc-share-tooltip__container, .bc-post-info__switcher_theme_dark.yc-share-popover__container {
39
+ color: var(--yc-color-text-light-secondary);
40
+ }
41
+ .bc-post-info__switcher_theme_dark:hover {
42
+ color: var(--yc-color-text-light-primary);
43
+ }
44
+ .bc-post-info__switcher_theme_dark:hover.yc-share-tooltip__container, .bc-post-info__switcher_theme_dark:hover.yc-share-popover__container {
45
+ color: var(--yc-color-text-light-primary);
46
+ }
47
+ .bc-post-info__container {
48
+ display: flex;
49
+ align-items: flex-start;
50
+ flex-wrap: wrap;
51
+ padding-top: 12px;
52
+ color: var(--yc-color-text-secondary);
53
+ }
54
+ .bc-post-info__container_theme_dark {
55
+ color: var(--yc-color-text-light-secondary);
56
+ }
57
+ .bc-post-info__icon {
58
+ margin-right: 6px;
59
+ display: flex;
60
+ align-items: center;
61
+ }
62
+ .bc-post-info__title {
63
+ width: auto;
64
+ overflow: hidden;
65
+ }
66
+ .bc-post-info__title_cursor {
67
+ cursor: pointer;
68
+ }
69
+ .bc-post-info__content {
70
+ display: flex;
71
+ }
72
+ .bc-post-info__content_cursor {
73
+ cursor: pointer;
74
+ }
75
+ .bc-post-info__content_cursor:hover {
76
+ color: var(--yc-color-text-primary);
77
+ }
78
+ .bc-post-info__content_cursor.bc-post-info__content_theme_dark:hover {
79
+ color: var(--yc-color-text-light-primary);
80
+ }
81
+ .bc-post-info__likes {
82
+ display: flex;
83
+ }
84
+ .bc-post-info__suggest-container {
85
+ display: flex;
86
+ flex-grow: 1;
87
+ flex-wrap: wrap;
88
+ }
@@ -0,0 +1,28 @@
1
+ /* use this for style redefinitions to awoid problems with
2
+ unpredictable css rules order in build */
3
+ .bc-posts__cards-container, .bc-posts__pinned-container {
4
+ padding-top: 24px;
5
+ scroll-margin: 48px;
6
+ }
7
+ .bc-posts__pagination {
8
+ display: flex;
9
+ flex-direction: column;
10
+ align-items: center;
11
+ justify-content: center;
12
+ padding-top: 48px;
13
+ padding-bottom: 64px;
14
+ }
15
+ .bc-posts__more-button {
16
+ margin-bottom: 12px;
17
+ }
18
+ .bc-posts__error-show-more {
19
+ display: flex;
20
+ flex-direction: column;
21
+ align-items: center;
22
+ justify-content: center;
23
+ color: var(--yc-color-promo-base-tomato);
24
+ padding-bottom: 12px;
25
+ }
26
+ .bc-posts__paginator {
27
+ padding-top: 12px;
28
+ }
@@ -0,0 +1,25 @@
1
+ /* use this for style redefinitions to awoid problems with
2
+ unpredictable css rules order in build */
3
+ .bc-posts-empty__container {
4
+ display: flex;
5
+ flex-direction: column;
6
+ justify-content: center;
7
+ align-items: center;
8
+ }
9
+ .bc-posts-empty__title, .bc-posts-empty__subtitle {
10
+ text-align: center;
11
+ word-wrap: break-word;
12
+ max-width: 400px;
13
+ width: 100%;
14
+ }
15
+ .bc-posts-empty__title {
16
+ margin-top: 24px;
17
+ font-size: var(--yc-text-display-2-font-size);
18
+ line-height: var(--yc-text-display-2-line-height);
19
+ font-weight: var(--yc-text-accent-font-weight);
20
+ }
21
+ .bc-posts-empty__subtitle {
22
+ margin-top: 16px;
23
+ font-size: var(--yc-text-body-3-font-size);
24
+ line-height: var(--yc-text-body-3-line-height);
25
+ }
@@ -0,0 +1,30 @@
1
+ /* use this for style redefinitions to awoid problems with
2
+ unpredictable css rules order in build */
3
+ .bc-posts-error__container {
4
+ display: flex;
5
+ flex-direction: column;
6
+ justify-content: center;
7
+ align-items: center;
8
+ padding-top: 24px;
9
+ padding-bottom: 64px;
10
+ }
11
+ .bc-posts-error__title, .bc-posts-error__subtitle {
12
+ text-align: center;
13
+ word-wrap: break-word;
14
+ max-width: 400px;
15
+ width: 100%;
16
+ }
17
+ .bc-posts-error__title {
18
+ margin-top: 24px;
19
+ font-size: var(--yc-text-display-2-font-size);
20
+ line-height: var(--yc-text-display-2-line-height);
21
+ font-weight: var(--yc-text-accent-font-weight);
22
+ }
23
+ .bc-posts-error__subtitle {
24
+ margin-top: 16px;
25
+ font-size: var(--yc-text-body-3-font-size);
26
+ line-height: var(--yc-text-body-3-line-height);
27
+ }
28
+ .bc-posts-error__button {
29
+ padding: 24px 0 48px;
30
+ }
@@ -0,0 +1,32 @@
1
+ /* use this for style redefinitions to awoid problems with
2
+ unpredictable css rules order in build */
3
+ .bc-search {
4
+ font-size: var(--yc-text-body-1-font-size);
5
+ line-height: var(--yc-text-body-1-line-height);
6
+ position: relative;
7
+ display: flex;
8
+ align-items: center;
9
+ justify-content: flex-end;
10
+ height: 44px;
11
+ transition: width 0.3s;
12
+ }
13
+ .bc-search__close-button, .bc-search__search-button {
14
+ position: absolute;
15
+ z-index: 2;
16
+ right: 10px;
17
+ color: var(--yc-color-text-hint);
18
+ }
19
+ .bc-search__search-button:hover {
20
+ color: var(--yc-color-text-secondary);
21
+ }
22
+ .bc-search__search-suggest-container {
23
+ width: 100%;
24
+ }
25
+ .bc-search__search-suggest .yc-text-input__control {
26
+ padding-right: 32px;
27
+ }
28
+ .bc-search_size_s {
29
+ height: 36px;
30
+ width: 352px;
31
+ max-width: 100%;
32
+ }
@@ -0,0 +1,32 @@
1
+ /* use this for style redefinitions to awoid problems with
2
+ unpredictable css rules order in build */
3
+ .bc-wrapper_padding-top_xs {
4
+ padding-top: 0px;
5
+ }
6
+ .bc-wrapper_padding-top_s {
7
+ padding-top: 16px;
8
+ }
9
+ .bc-wrapper_padding-top_m {
10
+ padding-top: 32px;
11
+ }
12
+ .bc-wrapper_padding-top_l {
13
+ padding-top: 48px;
14
+ }
15
+ .bc-wrapper_padding-top_xl {
16
+ padding-top: 64px;
17
+ }
18
+ .bc-wrapper_padding-bottom_xs {
19
+ padding-bottom: 0px;
20
+ }
21
+ .bc-wrapper_padding-bottom_s {
22
+ padding-bottom: 16px;
23
+ }
24
+ .bc-wrapper_padding-bottom_m {
25
+ padding-bottom: 32px;
26
+ }
27
+ .bc-wrapper_padding-bottom_l {
28
+ padding-bottom: 48px;
29
+ }
30
+ .bc-wrapper_padding-bottom_xl {
31
+ padding-bottom: 64px;
32
+ }
@@ -0,0 +1,21 @@
1
+ :root {
2
+ --header-height: 64px;
3
+ }
4
+
5
+ .yc-root {
6
+ --yc-text-accent-font-weight: 500;
7
+ --bc-transparent: rgba(255, 255, 255, 0);
8
+ --bc-image-padding: 4px;
9
+ --bc-border-radius: var(--pc-border-radius, 24px);
10
+ --bc-color-sfx-shadow: var(--yc-color-base-simple-hover);
11
+ --bc-color-line-generic-active-solid: #b3b3b3;
12
+ --bc-color-base-float-hover: var(--yc-color-base-float);
13
+ --bc-monochrome-button: #262626;
14
+ --bc-monochrome-button-hover: #393939;
15
+ --bc-text-header-color: var(--yc-color-text-primary);
16
+ }
17
+ .yc-root.yc-root_theme_dark {
18
+ --bc-color-sfx-shadow: var(--yc-color-sfx-shadow);
19
+ --bc-color-line-generic-active-solid: #6c6c70;
20
+ --bc-color-base-float-hover: var(--yc-color-base-float-hover);
21
+ }
@@ -0,0 +1,251 @@
1
+ @charset "UTF-8";
2
+ @import '~@doc-tools/transform/dist/css/yfm.css';
3
+ :root {
4
+ --header-height: 64px;
5
+ }
6
+
7
+ .yc-root {
8
+ --yc-text-accent-font-weight: 500;
9
+ --bc-transparent: rgba(255, 255, 255, 0);
10
+ --bc-image-padding: 4px;
11
+ --bc-border-radius: var(--pc-border-radius, 24px);
12
+ --bc-color-sfx-shadow: var(--yc-color-base-simple-hover);
13
+ --bc-color-line-generic-active-solid: #b3b3b3;
14
+ --bc-color-base-float-hover: var(--yc-color-base-float);
15
+ --bc-monochrome-button: #262626;
16
+ --bc-monochrome-button-hover: #393939;
17
+ --bc-text-header-color: var(--yc-color-text-primary);
18
+ }
19
+ .yc-root.yc-root_theme_dark {
20
+ --bc-color-sfx-shadow: var(--yc-color-sfx-shadow);
21
+ --bc-color-line-generic-active-solid: #6c6c70;
22
+ --bc-color-base-float-hover: var(--yc-color-base-float-hover);
23
+ }
24
+
25
+ /* use this for style redefinitions to awoid problems with
26
+ unpredictable css rules order in build */
27
+ .yfm_blog {
28
+ font-size: var(--yc-text-body-3-font-size);
29
+ line-height: var(--yc-text-body-3-line-height);
30
+ color: var(--yc-color-text-primary);
31
+ }
32
+ .yfm_blog h1:first-child,
33
+ .yfm_blog h2:first-child,
34
+ .yfm_blog h3:first-child,
35
+ .yfm_blog h4:first-child {
36
+ padding: 0;
37
+ margin-top: 0;
38
+ padding-top: 0;
39
+ }
40
+ .yfm_blog h2 {
41
+ font-size: var(--yc-text-display-2-font-size);
42
+ line-height: var(--yc-text-display-2-line-height);
43
+ }
44
+ .yfm_blog h3 {
45
+ font-size: var(--yc-text-header-2-font-size);
46
+ line-height: var(--yc-text-header-2-line-height);
47
+ }
48
+ .yfm_blog h4 {
49
+ font-size: var(--yc-text-header-1-font-size);
50
+ line-height: var(--yc-text-header-1-line-height);
51
+ }
52
+ .yfm_blog h1,
53
+ .yfm_blog h2,
54
+ .yfm_blog h3,
55
+ .yfm_blog h4,
56
+ .yfm_blog h5,
57
+ .yfm_blog h6 {
58
+ margin-bottom: 16px;
59
+ margin-top: 48px;
60
+ padding-top: 0;
61
+ font-weight: var(--yc-text-header-font-weight);
62
+ }
63
+ .yfm_blog blockquote,
64
+ .yfm_blog dl,
65
+ .yfm_blog ol,
66
+ .yfm_blog p,
67
+ .yfm_blog pre,
68
+ .yfm_blog table,
69
+ .yfm_blog ul {
70
+ margin: 0 0 16px;
71
+ }
72
+ .yfm_blog img {
73
+ margin-bottom: 32px;
74
+ margin-top: 16px;
75
+ border-radius: 24px;
76
+ }
77
+ .yfm_blog hr {
78
+ height: 1px;
79
+ }
80
+ .yfm_blog ol,
81
+ .yfm_blog ul {
82
+ padding-left: 1.4em;
83
+ }
84
+ .yfm_blog code {
85
+ color: var(--yc-color-text-misc);
86
+ }
87
+ .yfm_blog pre > code {
88
+ color: var(--yc-color-text-primary);
89
+ }
90
+ .yfm_blog table {
91
+ color: var(--yc-color-text-primary);
92
+ border: 1px solid var(--yc-color-line-generic);
93
+ background: var(--yc-color-base-background);
94
+ }
95
+ .yfm_blog thead tr,
96
+ .yfm_blog table tr:nth-child(2n) {
97
+ background-color: var(--yc-color-base-generic);
98
+ }
99
+ .yfm_blog_media {
100
+ font-size: var(--yc-text-body-3-font-size);
101
+ line-height: var(--yc-text-body-3-line-height);
102
+ color: var(--yc-color-text-secondary);
103
+ }
104
+ .yfm_blog_breadcrumbs {
105
+ font-size: var(--yc-text-body-2-font-size);
106
+ line-height: var(--yc-text-body-2-line-height);
107
+ color: var(--yc-text-color-base);
108
+ }
109
+ .yfm_blog a {
110
+ color: var(--yc-color-text-link);
111
+ }
112
+ .yfm_blog a:hover {
113
+ color: var(--yc-color-text-link-hover);
114
+ }
115
+ .yfm_blog .yfm-tab:hover, .yfm_blog .yfm-tab:active {
116
+ color: var(--yc-color-text-link-hover);
117
+ }
118
+ .yfm_blog .yfm-tab.active {
119
+ border-bottom-color: var(--yc-color-text-link);
120
+ }
121
+ .yfm_blog .yfm-clipboard {
122
+ margin: 32px 0;
123
+ }
124
+
125
+ .yfm_blog_card p {
126
+ color: var(--pc-text-header-color);
127
+ }
128
+
129
+ /* use this for style redefinitions to awoid problems with
130
+ unpredictable css rules order in build */
131
+ .yfm_constructor {
132
+ font-family: var(--yc-font-family-sans);
133
+ color: var(--yc-color-text-primary);
134
+ }
135
+ .yfm_constructor code,
136
+ .yfm_constructor kbd,
137
+ .yfm_constructor pre {
138
+ font-family: var(--yc-font-family-monospace);
139
+ color: var(--yc-color-text-primary);
140
+ }
141
+ .yfm_constructor.yfm_constructor h1,
142
+ .yfm_constructor.yfm_constructor h2,
143
+ .yfm_constructor.yfm_constructor h3,
144
+ .yfm_constructor.yfm_constructor h4,
145
+ .yfm_constructor.yfm_constructor h5,
146
+ .yfm_constructor.yfm_constructor h6,
147
+ .yfm_constructor.yfm_constructor span,
148
+ .yfm_constructor.yfm_constructor p,
149
+ .yfm_constructor.yfm_constructor li {
150
+ color: var(--yc-color-text-primary);
151
+ }
152
+ .yfm_constructor.yfm_constructor_notice li,
153
+ .yfm_constructor.yfm_constructor_notice p {
154
+ color: var(--yc-color-text-secondary);
155
+ }
156
+ .yfm_constructor.yfm_constructor ul,
157
+ .yfm_constructor.yfm_constructor ol,
158
+ .yfm_constructor.yfm_constructor li,
159
+ .yfm_constructor.yfm_constructor p {
160
+ margin: 0 0 12px;
161
+ }
162
+ .yfm_constructor.yfm_constructor p strong {
163
+ font-weight: 500;
164
+ }
165
+ .yfm_constructor.yfm_constructor_size_s ul,
166
+ .yfm_constructor.yfm_constructor_size_s ol,
167
+ .yfm_constructor.yfm_constructor_size_s li,
168
+ .yfm_constructor.yfm_constructor_size_s p {
169
+ margin-bottom: 8px;
170
+ }
171
+
172
+ .yfm_constructor_theme_dark p {
173
+ color: var(--yc-color-text-light-primary);
174
+ }
175
+ .yfm_constructor_footnote_text p, .yfm_constructor_footnote_page p {
176
+ opacity: 0.5;
177
+ }
178
+ .yfm_constructor_footnote_text p {
179
+ font-size: var(--yc-text-body-2-font-size);
180
+ line-height: var(--yc-text-body-2-line-height);
181
+ }
182
+ .yfm_constructor_footnote_page p {
183
+ font-size: var(--yc-text-body-1-font-size);
184
+ line-height: var(--yc-text-body-1-line-height);
185
+ display: inline;
186
+ }
187
+ .yfm_constructor_list_style ul {
188
+ padding-left: 20px;
189
+ }
190
+ .yfm_constructor_list_style_dash ul {
191
+ list-style-type: none;
192
+ position: relative;
193
+ }
194
+ .yfm_constructor_list_style_dash ul li:before {
195
+ content: "—";
196
+ position: absolute;
197
+ margin-left: -20px;
198
+ }
199
+ .yfm_constructor a {
200
+ outline: none;
201
+ color: var(--yc-color-text-link);
202
+ text-decoration: none;
203
+ cursor: pointer;
204
+ }
205
+ .utilityfocus .yfm_constructor a:focus {
206
+ outline: 2px solid #ffdb4d;
207
+ }
208
+ .yfm_constructor a:hover, .yfm_constructor a:active {
209
+ --pc-text-header-color: var(--yc-color-text-link-hover);
210
+ color: var(--yc-color-text-link-hover);
211
+ }
212
+ .yfm_constructor table {
213
+ color: var(--yc-color-text-primary);
214
+ border: 1px solid var(--yc-color-line-generic);
215
+ background: var(--yc-color-base-background);
216
+ }
217
+ .yfm_constructor thead,
218
+ .yfm_constructor table tr:nth-child(2n) {
219
+ background-color: var(--yc-color-base-generic);
220
+ }
221
+
222
+ .yfm_constructor_table {
223
+ /* stylelint-enable declaration-no-important */
224
+ }
225
+ .yfm_constructor_table table {
226
+ border: 0;
227
+ table-layout: fixed;
228
+ }
229
+ .yfm_constructor_table thead,
230
+ .yfm_constructor_table tr {
231
+ /* stylelint-disable declaration-no-important */
232
+ background-color: transparent !important;
233
+ }
234
+ .yfm_constructor_table tbody tr {
235
+ border-top: 1px solid var(--yc-color-line-generic);
236
+ }
237
+ .yfm_constructor_table td,
238
+ .yfm_constructor_table th {
239
+ min-width: 120px;
240
+ width: 120px;
241
+ box-sizing: content-box;
242
+ white-space: inherit !important;
243
+ }
244
+ .yfm_constructor_table td:first-child,
245
+ .yfm_constructor_table th:first-child {
246
+ min-width: 172px;
247
+ width: 172px;
248
+ }
249
+ .yfm_constructor_table th {
250
+ text-align: left !important;
251
+ }
@@ -7,7 +7,6 @@ export type AuthorProps = ClassNameProps & {
7
7
  image: string;
8
8
  } & PaddingsYFMProps;
9
9
  export type BannerProps = ContentBlockProps & {
10
- background?: string;
11
10
  color?: string;
12
11
  image?: string;
13
12
  imageSize?: 's' | 'm';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/blog-constructor",
3
- "version": "1.0.0",
3
+ "version": "1.1.0-alpha.0",
4
4
  "description": "Gravity UI Blog Constructor",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -40,62 +40,57 @@
40
40
  "prepublishOnly": "npm run lint && npm run build",
41
41
  "prepare": "husky install",
42
42
  "svgo": "svgo --config svgo.config.js",
43
- "svgo:all": "svgo --config svgo.config.js -r -f assets"
43
+ "svgo:all": "svgo --config svgo.config.js -r -f assets",
44
+ "test": "jest --maxWorkers=50%",
45
+ "test:coverage": "jest --coverage",
46
+ "test:watch": "jest --watchAll --maxWorkers=25%"
44
47
  },
45
48
  "dependencies": {
46
49
  "@gravity-ui/i18n": "^1.0.0",
47
- "@gravity-ui/uikit": "^3.20.0",
48
- "@types/fast-html-parser": "^1.0.2",
49
- "@types/recompose": "^0.30.10",
50
50
  "bem-cn-lite": "^4.0.0",
51
51
  "fast-html-parser": "^1.0.1",
52
- "gulp": "^4.0.2",
53
- "gulp-dart-sass": "^1.0.2",
54
- "gulp-rename": "^2.0.0",
55
- "gulp-replace": "^1.1.3",
56
- "gulp-typescript": "^6.0.0-alpha.1",
57
- "html-loader": "^1.3.2",
58
52
  "isomorphic-dompurify": "^0.20.0",
59
53
  "lodash": "^4.17.21",
60
- "markdown-loader": "^6.0.0",
61
54
  "react-helmet": "^6.1.0",
62
55
  "react-player": "^2.9.0",
63
56
  "react-slick": "^0.28.1",
64
- "react-spring": "^9.3.0",
57
+ "react-spring": "~9.6.0",
65
58
  "react-transition-group": "^4.4.2",
66
59
  "react-waypoint": "^10.1.0",
67
- "recompose": "^0.30.0",
68
- "rimraf": "^3.0.2",
69
60
  "sanitize-html": "^2.6.1",
70
- "sass": "^1.54.4",
71
61
  "snakecase-keys": "^5.1.0",
72
62
  "typograf": "^6.14.0",
73
63
  "ua-parser-js": "^0.7.28",
74
64
  "url": "^0.11.0",
75
- "url-join": "^5.0.0",
76
- "webpack": "^4.46.0"
65
+ "url-join": "^5.0.0"
77
66
  },
78
67
  "peerDependencies": {
79
- "@doc-tools/components": "^2.0.0",
80
- "@doc-tools/transform": "^2.6.1",
81
- "@gravity-ui/page-constructor": "^1.1.0",
68
+ "@doc-tools/transform": "^2.9.0",
69
+ "@gravity-ui/uikit": "^3.20.0",
70
+ "@gravity-ui/page-constructor": "^1.22.0",
82
71
  "react": "^16.0.0 || ^17.0.0"
83
72
  },
84
73
  "devDependencies": {
85
74
  "@babel/core": "^7.15.8",
86
- "@doc-tools/components": "^2.1.0",
75
+ "@commitlint/config-conventional": "^17.4.3",
87
76
  "@doc-tools/transform": "^2.9.0",
88
77
  "@gravity-ui/eslint-config": "^1.0.2",
89
- "@gravity-ui/page-constructor": "^1.4.1",
78
+ "@gravity-ui/page-constructor": "^1.23.0",
90
79
  "@gravity-ui/prettier-config": "^1.0.1",
91
80
  "@gravity-ui/stylelint-config": "^1.0.0",
92
81
  "@gravity-ui/tsconfig": "^1.0.0",
82
+ "@gravity-ui/uikit": "^3.20.0",
93
83
  "@storybook/addon-actions": "^6.3.12",
94
84
  "@storybook/addon-essentials": "^6.5.10",
95
85
  "@storybook/addon-knobs": "^6.3.1",
96
86
  "@storybook/addon-viewport": "^6.3.12",
97
87
  "@storybook/preset-scss": "^1.0.3",
98
88
  "@storybook/react": "^6.5.10",
89
+ "@testing-library/jest-dom": "^5.16.5",
90
+ "@testing-library/react": "^12.1.5",
91
+ "@testing-library/user-event": "^14.4.3",
92
+ "@types/fast-html-parser": "^1.0.2",
93
+ "@types/jest": "^29.2.5",
99
94
  "@types/js-yaml": "^4.0.5",
100
95
  "@types/lodash": "^4.14.176",
101
96
  "@types/react": "^18.0.26",
@@ -104,22 +99,37 @@
104
99
  "@types/react-transition-group": "^4.4.4",
105
100
  "@types/sanitize-html": "^2.6.0",
106
101
  "@types/ua-parser-js": "^0.7.36",
107
- "eslint": "^7.32.0",
102
+ "eslint": "^8.0.0",
108
103
  "eslint-plugin-local": "./eslint-plugin-local",
104
+ "eslint-plugin-testing-library": "^5.9.1",
105
+ "gulp": "^4.0.2",
106
+ "gulp-dart-sass": "^1.0.2",
107
+ "gulp-rename": "^2.0.0",
108
+ "gulp-replace": "^1.1.3",
109
+ "gulp-typescript": "^6.0.0-alpha.1",
110
+ "html-loader": "^1.3.2",
109
111
  "husky": "^7.0.4",
112
+ "jest": "^29.3.1",
113
+ "jest-environment-jsdom": "^29.3.1",
114
+ "jest-transform-css": "^6.0.1",
110
115
  "js-yaml": "^3.14.1",
111
116
  "lint-staged": "^11.2.6",
117
+ "markdown-loader": "^6.0.0",
112
118
  "move-file-cli": "^3.0.0",
113
119
  "npm-run-all": "^4.1.5",
114
120
  "postcss": "^8.4.14",
115
121
  "prettier": "2.4.1",
116
- "react": "^18.2.0",
117
- "react-dom": "^18.2.0",
122
+ "react": "^17.0.0",
123
+ "react-dom": "^17.0.0",
124
+ "rimraf": "^3.0.2",
125
+ "sass": "^1.54.4",
118
126
  "sass-loader": "^10.3.1",
119
127
  "stylelint": "^14.11.0",
120
- "stylelint-scss": "^3.21.0",
128
+ "stylelint-scss": "^4.0.0",
121
129
  "svg-sprite-loader": "^6.0.11",
122
- "typescript": "^4.9.3"
130
+ "ts-jest": "^29.0.5",
131
+ "typescript": "^4.9.3",
132
+ "webpack": "^4.46.0"
123
133
  },
124
134
  "lint-staged": {
125
135
  "*.{css,scss}": [
@@ -7,7 +7,6 @@ export type AuthorProps = ClassNameProps & {
7
7
  image: string;
8
8
  } & PaddingsYFMProps;
9
9
  export type BannerProps = ContentBlockProps & {
10
- background?: string;
11
10
  color?: string;
12
11
  image?: string;
13
12
  imageSize?: 's' | 'm';
@@ -0,0 +1,2 @@
1
+ /* use this for style redefinitions to awoid problems with
2
+ unpredictable css rules order in build */
@@ -1,6 +1,5 @@
1
1
  @import './variables.scss';
2
2
  @import '@gravity-ui/page-constructor/styles/mixins.scss';
3
- @import '@gravity-ui/page-constructor/src/components/Button/Button.scss';
4
3
  @import '@gravity-ui/uikit/styles/mixins.scss';
5
4
 
6
5
  @mixin paddings() {
@@ -48,13 +47,3 @@
48
47
  }
49
48
  }
50
49
  }
51
-
52
- // @mixin monochromeButton() {
53
- // --yc-button-background-color: var(--pc-monochrome-button-background-color);
54
- // --yc-button-background-color-hover: var(--pc-monochrome-button-background-color-hover);
55
- // color: var(--yc-color-text-light-primary);
56
-
57
- // &:hover {
58
- // color: var(--yc-color-text-light-primary);
59
- // }
60
- // }