@gravity-ui/blog-constructor 5.16.1 → 6.1.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 (115) hide show
  1. package/README.md +5 -5
  2. package/build/cjs/blocks/Banner/Banner.js +7 -9
  3. package/build/cjs/blocks/CTA/CTA.js +7 -9
  4. package/build/cjs/blocks/Feed/Feed.js +5 -12
  5. package/build/cjs/blocks/Header/Header.js +10 -14
  6. package/build/cjs/blocks/Media/Media.js +1 -0
  7. package/build/cjs/blocks/Meta/Meta.js +11 -15
  8. package/build/cjs/blocks/Suggest/Suggest.js +8 -11
  9. package/build/cjs/components/FeedHeader/components/Controls/Controls.css +19 -5
  10. package/build/cjs/components/FeedHeader/components/Controls/Controls.d.ts +1 -2
  11. package/build/cjs/components/FeedHeader/components/Controls/Controls.js +22 -27
  12. package/build/cjs/components/FeedHeader/components/Controls/customRenders.js +1 -1
  13. package/build/cjs/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.css +1 -1
  14. package/build/cjs/components/Paginator/Paginator.js +16 -19
  15. package/build/cjs/components/Paginator/components/NavigationButton.js +1 -1
  16. package/build/cjs/components/PostCard/PostCard.d.ts +3 -6
  17. package/build/cjs/components/PostCard/PostCard.js +2 -2
  18. package/build/cjs/components/PostInfo/PostInfo.d.ts +4 -10
  19. package/build/cjs/components/PostInfo/PostInfo.js +4 -4
  20. package/build/cjs/components/PostInfo/SuggestPostInfo.js +4 -1
  21. package/build/cjs/components/PostInfo/components/ReadingTime.js +1 -1
  22. package/build/cjs/components/PostInfo/components/Save.d.ts +4 -6
  23. package/build/cjs/components/PostInfo/components/Save.js +3 -6
  24. package/build/cjs/components/PostInfo/components/Sharing.d.ts +3 -5
  25. package/build/cjs/components/PostInfo/components/Sharing.js +4 -10
  26. package/build/cjs/components/Posts/Posts.js +3 -3
  27. package/build/cjs/components/PostsEmpty/PostsEmpty.js +2 -2
  28. package/build/cjs/components/PostsError/PostsError.js +3 -3
  29. package/build/cjs/components/PromptSignIn/PromptSignIn.js +2 -2
  30. package/build/cjs/components/Search/Search.js +1 -1
  31. package/build/cjs/constants.d.ts +2 -1
  32. package/build/cjs/constants.js +20 -19
  33. package/build/cjs/constructor/BlogConstructorProvider.js +1 -0
  34. package/build/cjs/containers/BlogPage/BlogPage.d.ts +1 -2
  35. package/build/cjs/containers/BlogPostPage/BlogPostPage.css +1 -1
  36. package/build/cjs/contexts/FeedContext.d.ts +1 -2
  37. package/build/cjs/contexts/LocaleContext.js +2 -2
  38. package/build/cjs/counters/metrika.js +0 -3
  39. package/build/cjs/counters/utils.d.ts +1 -1
  40. package/build/cjs/counters/utils.js +7 -7
  41. package/build/cjs/i18n/index.d.ts +1 -3
  42. package/build/cjs/i18n/index.js +8 -10
  43. package/build/cjs/index.d.ts +0 -1
  44. package/build/cjs/index.js +1 -3
  45. package/build/cjs/models/common.d.ts +1 -4
  46. package/build/cjs/models/locale.d.ts +1 -4
  47. package/build/cjs/models/locale.js +1 -6
  48. package/build/cjs/utils/common.d.ts +15 -3
  49. package/build/cjs/utils/common.js +20 -19
  50. package/build/esm/blocks/Banner/Banner.js +8 -10
  51. package/build/esm/blocks/CTA/CTA.js +8 -10
  52. package/build/esm/blocks/Feed/Feed.js +8 -15
  53. package/build/esm/blocks/Header/Header.js +12 -16
  54. package/build/esm/blocks/Media/Media.js +1 -0
  55. package/build/esm/blocks/Meta/Meta.js +13 -17
  56. package/build/esm/blocks/Suggest/Suggest.js +9 -12
  57. package/build/esm/components/FeedHeader/components/Controls/Controls.css +19 -5
  58. package/build/esm/components/FeedHeader/components/Controls/Controls.d.ts +1 -2
  59. package/build/esm/components/FeedHeader/components/Controls/Controls.js +25 -30
  60. package/build/esm/components/FeedHeader/components/Controls/customRenders.js +2 -2
  61. package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.css +1 -1
  62. package/build/esm/components/Paginator/Paginator.js +18 -21
  63. package/build/esm/components/Paginator/components/NavigationButton.js +2 -2
  64. package/build/esm/components/PostCard/PostCard.d.ts +3 -6
  65. package/build/esm/components/PostCard/PostCard.js +2 -2
  66. package/build/esm/components/PostInfo/PostInfo.d.ts +4 -10
  67. package/build/esm/components/PostInfo/PostInfo.js +4 -4
  68. package/build/esm/components/PostInfo/SuggestPostInfo.js +4 -1
  69. package/build/esm/components/PostInfo/components/ReadingTime.js +2 -2
  70. package/build/esm/components/PostInfo/components/Save.d.ts +4 -6
  71. package/build/esm/components/PostInfo/components/Save.js +3 -6
  72. package/build/esm/components/PostInfo/components/Sharing.d.ts +3 -5
  73. package/build/esm/components/PostInfo/components/Sharing.js +5 -11
  74. package/build/esm/components/Posts/Posts.js +4 -4
  75. package/build/esm/components/PostsEmpty/PostsEmpty.js +3 -3
  76. package/build/esm/components/PostsError/PostsError.js +4 -4
  77. package/build/esm/components/PromptSignIn/PromptSignIn.js +3 -3
  78. package/build/esm/components/Search/Search.js +2 -2
  79. package/build/esm/constants.d.ts +2 -1
  80. package/build/esm/constants.js +19 -18
  81. package/build/esm/constructor/BlogConstructorProvider.js +2 -1
  82. package/build/esm/containers/BlogPage/BlogPage.d.ts +1 -2
  83. package/build/esm/containers/BlogPostPage/BlogPostPage.css +1 -1
  84. package/build/esm/contexts/FeedContext.d.ts +1 -2
  85. package/build/esm/contexts/LocaleContext.js +1 -1
  86. package/build/esm/counters/metrika.js +0 -3
  87. package/build/esm/counters/utils.d.ts +1 -1
  88. package/build/esm/counters/utils.js +6 -6
  89. package/build/esm/i18n/index.d.ts +1 -3
  90. package/build/esm/i18n/index.js +7 -9
  91. package/build/esm/index.d.ts +0 -1
  92. package/build/esm/index.js +0 -1
  93. package/build/esm/models/common.d.ts +1 -4
  94. package/build/esm/models/locale.d.ts +1 -4
  95. package/build/esm/models/locale.js +0 -5
  96. package/build/esm/utils/common.d.ts +15 -3
  97. package/build/esm/utils/common.js +18 -17
  98. package/package.json +15 -14
  99. package/server/data/contentFilter.d.ts +1 -1
  100. package/server/data/contentFilter.js +2 -1
  101. package/server/data/transformPageContent.d.ts +2 -2
  102. package/server/data/transformPost.d.ts +7 -2
  103. package/server/data/transformPost.js +1 -1
  104. package/server/index.d.ts +1 -1
  105. package/server/models/common.d.ts +1 -4
  106. package/server/models/locale.d.ts +1 -4
  107. package/server/models/locale.js +1 -6
  108. package/styles/storybook/common.scss +8 -0
  109. package/styles/storybook/index.scss +1 -1
  110. package/styles/styles.css +115 -0
  111. package/styles/styles.scss +1 -0
  112. package/build/cjs/configure.d.ts +0 -5
  113. package/build/cjs/configure.js +0 -8
  114. package/build/esm/configure.d.ts +0 -5
  115. package/build/esm/configure.js +0 -4
@@ -1,7 +1,8 @@
1
1
  /// <reference types="lodash" />
2
- import { ContentBlockProps, HeaderBreadCrumbsProps, MetrikaGoal, NewMetrikaGoal } from '@gravity-ui/page-constructor';
2
+ import { AnalyticsEvent, AnalyticsEventsProp, ContentBlockProps, HeaderBreadCrumbsProps } from '@gravity-ui/page-constructor';
3
3
  import { RouterContextProps } from '../contexts/RouterContext';
4
4
  import { GetPostsRequest, Query, Tag } from '../models/common';
5
+ import { AnalyticsCounter } from '../counters/utils';
5
6
  export interface QueryParam {
6
7
  name: string;
7
8
  value?: string | number | null;
@@ -38,9 +39,20 @@ type GetBreadcrumbsProps = {
38
39
  };
39
40
  export declare const getBlogPath: (pathPrefix: string) => string;
40
41
  export declare const getBreadcrumbs: ({ tags, blogPath }: GetBreadcrumbsProps) => HeaderBreadCrumbsProps;
41
- export declare const isMetrikaExist: (goal: NewMetrikaGoal, existGoals: NewMetrikaGoal[]) => boolean;
42
- export declare const getBlogElementMetrika: (blogCustomGoal: NewMetrikaGoal, existingGoals?: MetrikaGoal) => string | string[] | NewMetrikaGoal[];
42
+ export declare const getMergedAnalyticsEvents: (analyticEvents: AnalyticsEventsProp, existringEvents?: AnalyticsEventsProp) => {
43
+ name: string;
44
+ type?: string | undefined;
45
+ counters?: import("@gravity-ui/page-constructor").AnalyticsCounters | undefined;
46
+ context?: string | undefined;
47
+ target?: string | undefined;
48
+ }[];
43
49
  export declare const getFeedQueryParams: (queryString: Query, pageNumber?: number) => GetPostsRequest;
44
50
  export declare const scrollOnPageChange: (containerId: string) => void;
45
51
  export declare const getQaAttributes: (qa?: string, ...customKeys: (string | Array<string>)[]) => Record<string, string>;
52
+ type PrepareAnalyticsEventArgs = {
53
+ name: string;
54
+ counter?: AnalyticsCounter;
55
+ options?: Record<string, string | number>;
56
+ };
57
+ export declare const prepareAnalyticsEvent: ({ name, counter, options, }: PrepareAnalyticsEventArgs) => AnalyticsEvent;
46
58
  export {};
@@ -1,12 +1,12 @@
1
1
  import { __rest } from "tslib";
2
2
  import { format, parse } from 'url';
3
- import { isNewMetrikaFormat, } from '@gravity-ui/page-constructor';
4
3
  import camelCase from 'lodash/camelCase';
5
4
  import debounce from 'lodash/debounce';
6
5
  import flatten from 'lodash/flatten';
7
6
  import memoize from 'lodash/memoize';
8
7
  import { CONTENT_DEFAULT_COL_SIZES, CONTENT_DEFAULT_SIZE, CONTENT_DEFAULT_THEME, DEFAULT_PAGE, DEFAULT_ROWS_PER_PAGE, } from '../blocks/constants';
9
- import { Keyset, i18 } from '../i18n';
8
+ import { Keyset, i18n } from '../i18n';
9
+ import { AnalyticsCounter } from '../counters/utils';
10
10
  const QA_ATTRIBUTES_KEYS = ['container', 'content', 'wrapper', 'image', 'button'];
11
11
  export function getAbsolutePath(router, url) {
12
12
  if (!router || !router.pathname) {
@@ -54,7 +54,7 @@ export const getBlogPath = (pathPrefix) => {
54
54
  };
55
55
  export const getBreadcrumbs = ({ tags, blogPath }) => {
56
56
  const breadcrumbs = {
57
- items: [{ text: i18(Keyset.TitleBreadcrumbs), url: blogPath }],
57
+ items: [{ text: i18n(Keyset.TitleBreadcrumbs), url: blogPath }],
58
58
  theme: 'light',
59
59
  };
60
60
  if (tags === null || tags === void 0 ? void 0 : tags.length) {
@@ -65,21 +65,19 @@ export const getBreadcrumbs = ({ tags, blogPath }) => {
65
65
  }
66
66
  return breadcrumbs;
67
67
  };
68
- export const isMetrikaExist = (goal, existGoals) => {
69
- return Boolean(existGoals.find((existGoal) => goal.name === existGoal.name));
70
- };
71
- export const getBlogElementMetrika = (blogCustomGoal, existingGoals) => {
72
- if (existingGoals) {
73
- if (isNewMetrikaFormat(existingGoals) && !isMetrikaExist(blogCustomGoal, existingGoals)) {
74
- const goals = [...existingGoals];
75
- goals.push(blogCustomGoal);
76
- return goals;
77
- }
78
- return existingGoals;
68
+ const getArrayOfEvents = (events) => {
69
+ if (!events) {
70
+ return [];
79
71
  }
80
- else {
81
- return [blogCustomGoal];
72
+ if (Array.isArray(events)) {
73
+ return events;
82
74
  }
75
+ return [events];
76
+ };
77
+ export const getMergedAnalyticsEvents = (analyticEvents, existringEvents) => {
78
+ const eventsAsArray = getArrayOfEvents(analyticEvents);
79
+ const existingAsArray = getArrayOfEvents(existringEvents);
80
+ return eventsAsArray.concat(existingAsArray);
83
81
  };
84
82
  export const getFeedQueryParams = (queryString, pageNumber) => {
85
83
  const queryParams = getPageSearchParams(queryString);
@@ -109,4 +107,7 @@ export const getQaAttributes = (qa, ...customKeys) => {
109
107
  attributes.default = qa;
110
108
  }
111
109
  return attributes;
112
- };
110
+ };
111
+ export const prepareAnalyticsEvent = ({ name, counter = AnalyticsCounter.Main, options = {}, }) => (Object.assign(Object.assign({}, options), { name, counters: {
112
+ include: [counter],
113
+ } }));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/blog-constructor",
3
- "version": "5.16.1",
3
+ "version": "6.1.0",
4
4
  "description": "Gravity UI Blog Constructor",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -60,8 +60,8 @@
60
60
  },
61
61
  "dependencies": {
62
62
  "@bem-react/classname": "^1.6.0",
63
- "@gravity-ui/components": "^2.8.0",
64
- "@gravity-ui/i18n": "^1.1.0",
63
+ "@gravity-ui/components": "^3.0.0",
64
+ "@gravity-ui/i18n": "^1.3.0",
65
65
  "lodash": "^4.17.21",
66
66
  "react-helmet": "^6.1.0",
67
67
  "ua-parser-js": "^0.7.28",
@@ -70,9 +70,9 @@
70
70
  "uuid": "^9.0.1"
71
71
  },
72
72
  "peerDependencies": {
73
- "@doc-tools/transform": "^3.3.2",
74
- "@gravity-ui/page-constructor": "^4.45.0",
75
- "@gravity-ui/uikit": "^5.12.0",
73
+ "@diplodoc/transform": "^4.10.7",
74
+ "@gravity-ui/page-constructor": "^5.0.0",
75
+ "@gravity-ui/uikit": "^6.1.1",
76
76
  "react": "^16.0.0 || ^17.0.0 || ^18.0.0"
77
77
  },
78
78
  "devDependencies": {
@@ -80,19 +80,20 @@
80
80
  "@babel/preset-react": "^7.22.5",
81
81
  "@babel/preset-typescript": "^7.22.5",
82
82
  "@commitlint/config-conventional": "^17.4.3",
83
- "@doc-tools/transform": "^3.11.0",
83
+ "@diplodoc/transform": "^4.10.8",
84
84
  "@gravity-ui/eslint-config": "^3.1.1",
85
- "@gravity-ui/page-constructor": "^4.46.0",
85
+ "@gravity-ui/page-constructor": "^5.1.0",
86
86
  "@gravity-ui/prettier-config": "^1.1.0",
87
87
  "@gravity-ui/stylelint-config": "^4.0.1",
88
88
  "@gravity-ui/tsconfig": "^1.0.0",
89
- "@gravity-ui/uikit": "^5.25.0",
89
+ "@gravity-ui/uikit": "^6.2.0",
90
90
  "@jest/environment": "^29.7.0",
91
- "@storybook/addon-essentials": "^7.0.27",
92
- "@storybook/cli": "^7.0.27",
91
+ "@storybook/addon-essentials": "^7.6.17",
92
+ "@storybook/addon-mdx-gfm": "^7.6.17",
93
+ "@storybook/cli": "^7.6.17",
93
94
  "@storybook/preset-scss": "^1.0.3",
94
- "@storybook/react": "^7.0.27",
95
- "@storybook/react-webpack5": "^7.0.27",
95
+ "@storybook/react": "^7.6.17",
96
+ "@storybook/react-webpack5": "^7.6.17",
96
97
  "@testing-library/dom": "^9.3.3",
97
98
  "@testing-library/jest-dom": "^5.16.5",
98
99
  "@testing-library/react": "^14.0.0",
@@ -127,7 +128,7 @@
127
128
  "rimraf": "^3.0.2",
128
129
  "sass": "^1.54.4",
129
130
  "sass-loader": "^13.3.1",
130
- "storybook": "^7.0.27",
131
+ "storybook": "^7.6.17",
131
132
  "stylelint": "^15.11.0",
132
133
  "ts-jest": "^29.0.5",
133
134
  "typescript": "^4.9.3"
@@ -1,5 +1,5 @@
1
1
  import { PageContent } from '@gravity-ui/page-constructor';
2
- import { Lang } from '../models/locale';
2
+ import { Lang } from '@gravity-ui/uikit';
3
3
  type FilteringOptions = {
4
4
  lang: Lang;
5
5
  region?: string;
@@ -2,7 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.filterContent = exports.filterItems = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const evaluation_1 = tslib_1.__importDefault(require("@doc-tools/transform/lib/liquid/evaluation"));
5
+ // eslint-disable-next-line import/no-extraneous-dependencies
6
+ const evaluation_1 = tslib_1.__importDefault(require("@diplodoc/transform/lib/liquid/evaluation"));
6
7
  /**
7
8
  * Filters items by expression and removes empty items.
8
9
  * @param {Array} items
@@ -1,5 +1,5 @@
1
- import { MarkdownItPluginCb } from '@doc-tools/transform/lib/plugins/typings';
2
- import { Lang } from '../models/locale';
1
+ import { MarkdownItPluginCb } from '@diplodoc/transform/lib/plugins/typings';
2
+ import { Lang } from '@gravity-ui/uikit';
3
3
  type TypographyConfigType = {
4
4
  [x: string]: Record<string, unknown>;
5
5
  };
@@ -1,5 +1,10 @@
1
1
  import { PostData, TransformPostOptions } from '../models/common';
2
- import { Lang } from '../models/locale';
2
+ import { Lang } from '@gravity-ui/uikit';
3
+ export type TransformPostType = {
4
+ postData: PostData;
5
+ lang: Lang;
6
+ options: TransformPostOptions;
7
+ };
3
8
  /**
4
9
  * Func for transform post data
5
10
  *
@@ -9,4 +14,4 @@ import { Lang } from '../models/locale';
9
14
  * @param plugins - YFM plugins list
10
15
  * @returns -prepared post
11
16
  */
12
- export declare const transformPost: (postData: PostData, lang: Lang, { plugins }?: TransformPostOptions) => PostData;
17
+ export declare const transformPost: ({ postData, lang, options: { plugins } }: TransformPostType) => PostData;
@@ -12,7 +12,7 @@ const server_1 = require("@gravity-ui/page-constructor/server");
12
12
  * @param plugins - YFM plugins list
13
13
  * @returns -prepared post
14
14
  */
15
- const transformPost = (postData, lang, { plugins } = {}) => {
15
+ const transformPost = ({ postData, lang, options: { plugins } = {} }) => {
16
16
  if (!postData) {
17
17
  // eslint-disable-next-line no-console
18
18
  console.error('Post not found');
package/server/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export { transformPageContent } from "./data/transformPageContent";
2
2
  export { createReadableContent } from "./data/createReadableContent";
3
3
  export { sanitizeMeta } from "./data/sanitizeMeta";
4
- export { transformPost } from "./data/transformPost";
4
+ export { transformPost, TransformPostType } from "./data/transformPost";
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
- import { MarkdownItPluginCb } from '@doc-tools/transform/lib/plugins/typings';
2
+ import { MarkdownItPluginCb } from '@diplodoc/transform/lib/plugins/typings';
3
3
  import { HeaderBlockProps as PageConstructorHeaderBlockProps } from '@gravity-ui/page-constructor';
4
4
  import { IBrowser, IDevice } from 'ua-parser-js';
5
5
  import { Locale } from '../models/locale';
@@ -149,9 +149,6 @@ export type GetPostsRequest = {
149
149
  };
150
150
  export type GetPostsType = (query: GetPostsRequest) => Promise<PostsProps>;
151
151
  export type HandleChangeQueryParams = (params: Query) => void;
152
- export type SetQueryType = (params: Query, options?: {
153
- [y: string]: boolean;
154
- }) => Promise<void> | void;
155
152
  export declare enum DefaultEventNames {
156
153
  ShareButton = "share-button-click",
157
154
  SaveButton = "save-button-click",
@@ -1,7 +1,4 @@
1
- export declare enum Lang {
2
- Ru = "ru",
3
- En = "en"
4
- }
1
+ import { Lang } from '@gravity-ui/uikit';
5
2
  export declare enum Currency {
6
3
  RUB = "RUB",
7
4
  USD = "USD",
@@ -1,11 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Currency = exports.Lang = void 0;
4
- var Lang;
5
- (function (Lang) {
6
- Lang["Ru"] = "ru";
7
- Lang["En"] = "en";
8
- })(Lang = exports.Lang || (exports.Lang = {}));
3
+ exports.Currency = void 0;
9
4
  var Currency;
10
5
  (function (Currency) {
11
6
  Currency["RUB"] = "RUB";
@@ -1,3 +1,5 @@
1
+ @import '../mixins.scss';
2
+
1
3
  .demo-container {
2
4
  min-height: calc(100vh - 1px);
3
5
  padding: 50px;
@@ -33,3 +35,9 @@
33
35
  --pc-first-block-indent: 64px;
34
36
  margin-bottom: 120px;
35
37
  }
38
+
39
+ .pc-layout {
40
+ @include add-specificity(&) {
41
+ min-height: auto;
42
+ }
43
+ }
@@ -3,7 +3,7 @@
3
3
  @import './common';
4
4
  @import './palette';
5
5
  @import './typography';
6
- @import '~@doc-tools/transform/dist/css/yfm.css';
6
+ @import '~@diplodoc/transform/dist/css/yfm.css';
7
7
  /**
8
8
  * storybook-host container style overrides
9
9
  * @see {@link https://github.com/philcockfield/storybook-host/issues/43}
package/styles/styles.css CHANGED
@@ -1,4 +1,119 @@
1
1
  @import '~@gravity-ui/uikit/styles/styles.css';
2
+ /* use this for style redefinitions to awoid problems with
3
+ unpredictable css rules order in build */
4
+ .yfm_blog {
5
+ font-size: var(--g-text-body-3-font-size);
6
+ line-height: var(--g-text-body-3-line-height);
7
+ color: var(--g-color-text-primary);
8
+ }
9
+ .yfm_blog h1:first-child,
10
+ .yfm_blog h2:first-child,
11
+ .yfm_blog h3:first-child,
12
+ .yfm_blog h4:first-child {
13
+ padding: 0;
14
+ margin-top: 0;
15
+ padding-top: 0;
16
+ }
17
+ .yfm_blog h2 {
18
+ font-size: var(--g-text-display-2-font-size);
19
+ line-height: var(--g-text-display-2-line-height);
20
+ }
21
+ .yfm_blog h3 {
22
+ font-size: var(--g-text-header-2-font-size);
23
+ line-height: var(--g-text-header-2-line-height);
24
+ }
25
+ .yfm_blog h4 {
26
+ font-size: var(--g-text-header-1-font-size);
27
+ line-height: var(--g-text-header-1-line-height);
28
+ }
29
+ .yfm_blog.yfm_blog h1,
30
+ .yfm_blog.yfm_blog h2,
31
+ .yfm_blog.yfm_blog h3,
32
+ .yfm_blog.yfm_blog h4,
33
+ .yfm_blog.yfm_blog h5,
34
+ .yfm_blog.yfm_blog h6 {
35
+ margin-bottom: 16px;
36
+ margin-top: 32px;
37
+ padding-top: 0;
38
+ font-weight: var(--g-text-header-font-weight);
39
+ }
40
+
41
+ .yfm_blog blockquote,
42
+ .yfm_blog dl,
43
+ .yfm_blog ol,
44
+ .yfm_blog p,
45
+ .yfm_blog pre,
46
+ .yfm_blog table,
47
+ .yfm_blog ul {
48
+ margin: 0 0 16px;
49
+ }
50
+ .yfm_blog img {
51
+ margin-bottom: 32px;
52
+ margin-top: 16px;
53
+ border-radius: 24px;
54
+ }
55
+ .yfm_blog hr {
56
+ height: 1px;
57
+ }
58
+ .yfm_blog ol,
59
+ .yfm_blog ul {
60
+ padding-left: 1.4em;
61
+ }
62
+ .yfm_blog code {
63
+ color: var(--g-color-text-misc);
64
+ }
65
+ .yfm_blog pre > code {
66
+ color: var(--g-color-text-primary);
67
+ }
68
+ .yfm_blog table {
69
+ color: var(--g-color-text-primary);
70
+ border: 1px solid var(--g-color-line-generic);
71
+ background: var(--g-color-base-background);
72
+ }
73
+ .yfm_blog thead tr,
74
+ .yfm_blog table tr:nth-child(2n) {
75
+ background-color: var(--g-color-base-generic);
76
+ }
77
+ .yfm_blog_media {
78
+ font-size: var(--g-text-body-3-font-size);
79
+ line-height: var(--g-text-body-3-line-height);
80
+ color: var(--g-color-text-secondary);
81
+ }
82
+ .yfm_blog_breadcrumbs {
83
+ font-size: var(--g-text-body-2-font-size);
84
+ line-height: var(--g-text-body-2-line-height);
85
+ color: var(--g-text-color-base);
86
+ }
87
+ .yfm_blog a {
88
+ color: var(--g-color-text-link);
89
+ border-radius: var(--g-focus-border-radius);
90
+ }
91
+ .yfm_blog a:hover {
92
+ color: var(--g-color-text-link-hover);
93
+ }
94
+ .yfm_blog a:focus {
95
+ box-shadow: 0 0 0 2px var(--g-color-line-focus);
96
+ }
97
+ .yfm_blog a:focus:not(:focus-visible) {
98
+ box-shadow: none;
99
+ }
100
+ .yfm_blog a:focus {
101
+ outline: 0;
102
+ }
103
+ .yfm_blog .yfm-tab:hover, .yfm_blog .yfm-tab:active {
104
+ color: var(--g-color-text-link-hover);
105
+ }
106
+ .yfm_blog .yfm-tab.active {
107
+ border-bottom-color: var(--g-color-text-link);
108
+ }
109
+ .yfm_blog .yfm-clipboard {
110
+ margin: 32px 0;
111
+ }
112
+
113
+ .yfm_blog_card p {
114
+ color: var(--pc-text-header-color);
115
+ }
116
+
2
117
  @font-face {
3
118
  font-family: "YS Display";
4
119
  src: url("https://yastatic.net/s3/home/fonts/ys/1/display-thin.woff2") format("woff2"), url("https://yastatic.net/s3/home/fonts/ys/1/display-thin.woff") format("woff");
@@ -1,2 +1,3 @@
1
1
  @import '~@gravity-ui/uikit/styles/styles.css';
2
+ @import './yfm.scss';
2
3
  @import './fonts.scss';
@@ -1,5 +0,0 @@
1
- import { Lang } from './models/locale';
2
- export interface ProjectConfigParams {
3
- lang: Lang;
4
- }
5
- export declare const configure: ({ lang }: ProjectConfigParams) => void;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configure = void 0;
4
- const i18n_1 = require("./i18n");
5
- const configure = ({ lang }) => {
6
- i18n_1.i18n.setLang(lang);
7
- };
8
- exports.configure = configure;
@@ -1,5 +0,0 @@
1
- import { Lang } from './models/locale';
2
- export interface ProjectConfigParams {
3
- lang: Lang;
4
- }
5
- export declare const configure: ({ lang }: ProjectConfigParams) => void;
@@ -1,4 +0,0 @@
1
- import { i18n } from './i18n';
2
- export const configure = ({ lang }) => {
3
- i18n.setLang(lang);
4
- };