@gravity-ui/blog-constructor 5.16.1-alpha.1 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
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 +6 -14
  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.js +22 -27
  11. package/build/cjs/components/FeedHeader/components/Controls/customRenders.js +1 -1
  12. package/build/cjs/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.css +4 -1
  13. package/build/cjs/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.js +2 -2
  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.css +8 -0
  19. package/build/cjs/components/PostInfo/PostInfo.d.ts +4 -10
  20. package/build/cjs/components/PostInfo/PostInfo.js +4 -4
  21. package/build/cjs/components/PostInfo/SuggestPostInfo.js +4 -1
  22. package/build/cjs/components/PostInfo/components/ReadingTime.js +1 -1
  23. package/build/cjs/components/PostInfo/components/Save.d.ts +4 -6
  24. package/build/cjs/components/PostInfo/components/Save.js +4 -7
  25. package/build/cjs/components/PostInfo/components/Sharing.d.ts +3 -5
  26. package/build/cjs/components/PostInfo/components/Sharing.js +4 -10
  27. package/build/cjs/components/Posts/Posts.js +3 -3
  28. package/build/cjs/components/PostsEmpty/PostsEmpty.js +2 -2
  29. package/build/cjs/components/PostsError/PostsError.js +3 -3
  30. package/build/cjs/components/PromptSignIn/PromptSignIn.js +2 -2
  31. package/build/cjs/components/Search/Search.css +3 -0
  32. package/build/cjs/components/Search/Search.js +2 -2
  33. package/build/cjs/constants.d.ts +2 -1
  34. package/build/cjs/constants.js +20 -19
  35. package/build/cjs/constructor/BlogConstructorProvider.js +1 -0
  36. package/build/cjs/containers/BlogPostPage/BlogPostPage.css +1 -1
  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 -1
  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 +9 -17
  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.js +25 -30
  59. package/build/esm/components/FeedHeader/components/Controls/customRenders.js +2 -2
  60. package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.css +4 -1
  61. package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.js +2 -2
  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.css +8 -0
  67. package/build/esm/components/PostInfo/PostInfo.d.ts +4 -10
  68. package/build/esm/components/PostInfo/PostInfo.js +4 -4
  69. package/build/esm/components/PostInfo/SuggestPostInfo.js +4 -1
  70. package/build/esm/components/PostInfo/components/ReadingTime.js +2 -2
  71. package/build/esm/components/PostInfo/components/Save.d.ts +4 -6
  72. package/build/esm/components/PostInfo/components/Save.js +4 -7
  73. package/build/esm/components/PostInfo/components/Sharing.d.ts +3 -5
  74. package/build/esm/components/PostInfo/components/Sharing.js +5 -11
  75. package/build/esm/components/Posts/Posts.js +4 -4
  76. package/build/esm/components/PostsEmpty/PostsEmpty.js +3 -3
  77. package/build/esm/components/PostsError/PostsError.js +4 -4
  78. package/build/esm/components/PromptSignIn/PromptSignIn.js +3 -3
  79. package/build/esm/components/Search/Search.css +3 -0
  80. package/build/esm/components/Search/Search.js +3 -3
  81. package/build/esm/constants.d.ts +2 -1
  82. package/build/esm/constants.js +19 -18
  83. package/build/esm/constructor/BlogConstructorProvider.js +2 -1
  84. package/build/esm/containers/BlogPostPage/BlogPostPage.css +1 -1
  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 -1
  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 -1
  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,5 @@
1
- import { I18N } from '@gravity-ui/i18n';
2
- import { Lang } from '../models/locale';
3
- const KEYSET_NAME = 'blog';
4
- export const i18n = new I18N();
1
+ import { addComponentKeysets } from '@gravity-ui/uikit/i18n';
2
+ const NAMESPACE = 'blog';
5
3
  export var Keyset;
6
4
  (function (Keyset) {
7
5
  Keyset["Title"] = "title";
@@ -24,7 +22,7 @@ export var Keyset;
24
22
  Keyset["PromptSignInOnLike"] = "prompt_sign_in_on_like";
25
23
  Keyset["SignIn"] = "Sign In";
26
24
  })(Keyset || (Keyset = {}));
27
- i18n.registerKeyset(Lang.En, KEYSET_NAME, {
25
+ const en = {
28
26
  [Keyset.Title]: 'Blog',
29
27
  [Keyset.TitleBreadcrumbs]: 'Blog',
30
28
  [Keyset.TitleSuggest]: 'See also',
@@ -48,8 +46,8 @@ i18n.registerKeyset(Lang.En, KEYSET_NAME, {
48
46
  '{{count}} mins to read',
49
47
  ],
50
48
  [Keyset.SignIn]: 'Sign In',
51
- });
52
- i18n.registerKeyset(Lang.Ru, KEYSET_NAME, {
49
+ };
50
+ const ru = {
53
51
  [Keyset.Title]: 'Блог',
54
52
  [Keyset.TitleBreadcrumbs]: 'Блог',
55
53
  [Keyset.TitleSuggest]: 'Читать также',
@@ -73,5 +71,5 @@ i18n.registerKeyset(Lang.Ru, KEYSET_NAME, {
73
71
  '{{count}} минут чтения',
74
72
  ],
75
73
  [Keyset.SignIn]: 'Войти',
76
- });
77
- export const i18 = i18n.keyset(KEYSET_NAME);
74
+ };
75
+ export const i18n = addComponentKeysets({ en, ru }, NAMESPACE);
@@ -1,4 +1,3 @@
1
- export { configure } from './configure';
2
1
  export { BlogConstructorProvider } from './constructor/BlogConstructorProvider';
3
2
  export { BlogPostPage } from './containers/BlogPostPage/BlogPostPage';
4
3
  export { BlogPage } from './containers/BlogPage/BlogPage';
@@ -1,4 +1,3 @@
1
- export { configure } from './configure';
2
1
  export { BlogConstructorProvider } from './constructor/BlogConstructorProvider';
3
2
  export { BlogPostPage } from './containers/BlogPostPage/BlogPostPage';
4
3
  export { BlogPage } from './containers/BlogPage/BlogPage';
@@ -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';
@@ -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,8 +1,3 @@
1
- export var Lang;
2
- (function (Lang) {
3
- Lang["Ru"] = "ru";
4
- Lang["En"] = "en";
5
- })(Lang || (Lang = {}));
6
1
  export var Currency;
7
2
  (function (Currency) {
8
3
  Currency["RUB"] = "RUB";
@@ -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-alpha.1",
3
+ "version": "6.0.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';
@@ -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
- };