@cloud-ru/uikit-product-site-article 0.2.2 → 0.2.4

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 (116) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/cjs/components/ArticleLinks/ArticleLinks.d.ts +11 -0
  3. package/dist/cjs/components/ArticleLinks/ArticleLinks.js +28 -0
  4. package/dist/cjs/components/ArticleLinks/index.d.ts +1 -0
  5. package/dist/cjs/components/ArticleLinks/index.js +17 -0
  6. package/dist/cjs/components/ArticleLinks/styles.module.css +32 -0
  7. package/dist/cjs/components/ArticleRichText/ArticleRichText.d.ts +5 -0
  8. package/dist/cjs/components/ArticleRichText/ArticleRichText.js +13 -0
  9. package/dist/cjs/components/ArticleRichText/index.d.ts +1 -0
  10. package/dist/cjs/components/ArticleRichText/index.js +17 -0
  11. package/dist/cjs/components/ArticleRichText/styles.module.css +36 -0
  12. package/dist/cjs/components/ArticleTypography/ArticleTypography.d.ts +13 -0
  13. package/dist/cjs/components/ArticleTypography/ArticleTypography.js +17 -0
  14. package/dist/cjs/components/ArticleTypography/index.d.ts +1 -0
  15. package/dist/cjs/components/ArticleTypography/index.js +17 -0
  16. package/dist/cjs/components/ArticleTypography/styles.module.css +32 -0
  17. package/dist/cjs/components/DropdownShare/DropdownShare.d.ts +16 -0
  18. package/dist/cjs/components/DropdownShare/DropdownShare.js +43 -0
  19. package/dist/cjs/components/DropdownShare/index.d.ts +1 -0
  20. package/dist/cjs/components/DropdownShare/index.js +17 -0
  21. package/dist/cjs/components/FooterArticle/FooterArticle.d.ts +7 -0
  22. package/dist/cjs/components/FooterArticle/FooterArticle.js +15 -0
  23. package/dist/cjs/components/FooterArticle/index.d.ts +1 -0
  24. package/dist/cjs/components/FooterArticle/index.js +17 -0
  25. package/dist/cjs/components/FooterArticle/styles.module.css +10 -0
  26. package/dist/cjs/components/Highlight/Highlight.d.ts +5 -0
  27. package/dist/cjs/components/Highlight/Highlight.js +13 -0
  28. package/dist/cjs/components/Highlight/index.d.ts +1 -0
  29. package/dist/cjs/components/Highlight/index.js +17 -0
  30. package/dist/cjs/components/Highlight/styles.module.css +6 -0
  31. package/dist/cjs/components/ImageArticle/ImageArticle.d.ts +8 -0
  32. package/dist/cjs/components/ImageArticle/ImageArticle.js +14 -0
  33. package/dist/cjs/components/ImageArticle/index.d.ts +1 -0
  34. package/dist/cjs/components/ImageArticle/index.js +17 -0
  35. package/dist/cjs/components/ImageArticle/styles.module.css +10 -0
  36. package/dist/cjs/components/Products/Products.d.ts +13 -0
  37. package/dist/cjs/components/Products/Products.js +14 -0
  38. package/dist/cjs/components/Products/helperComponents/ServiceLight/ServiceLight.d.ts +4 -0
  39. package/dist/cjs/components/Products/helperComponents/ServiceLight/ServiceLight.js +13 -0
  40. package/dist/cjs/components/Products/helperComponents/ServiceLight/index.d.ts +1 -0
  41. package/dist/cjs/components/Products/helperComponents/ServiceLight/index.js +17 -0
  42. package/dist/cjs/components/Products/helperComponents/ServiceLight/styles.module.css +9 -0
  43. package/dist/cjs/components/Products/helperComponents/index.d.ts +1 -0
  44. package/dist/cjs/components/Products/helperComponents/index.js +17 -0
  45. package/dist/cjs/components/Products/index.d.ts +1 -0
  46. package/dist/cjs/components/Products/index.js +17 -0
  47. package/dist/cjs/components/Products/styles.module.css +29 -0
  48. package/dist/cjs/components/Quote/Quote.d.ts +8 -0
  49. package/dist/cjs/components/Quote/Quote.js +30 -0
  50. package/dist/cjs/components/Quote/QuotesSVG.d.ts +3 -0
  51. package/dist/cjs/components/Quote/QuotesSVG.js +7 -0
  52. package/dist/cjs/components/Quote/index.d.ts +1 -0
  53. package/dist/cjs/components/Quote/index.js +17 -0
  54. package/dist/cjs/components/Quote/styles.module.css +51 -0
  55. package/dist/cjs/components/index.d.ts +9 -0
  56. package/dist/cjs/components/index.js +25 -0
  57. package/dist/cjs/index.d.ts +1 -0
  58. package/dist/cjs/index.js +17 -0
  59. package/dist/esm/components/ArticleLinks/ArticleLinks.d.ts +11 -0
  60. package/dist/esm/components/ArticleLinks/ArticleLinks.js +22 -0
  61. package/dist/esm/components/ArticleLinks/index.d.ts +1 -0
  62. package/dist/esm/components/ArticleLinks/index.js +1 -0
  63. package/dist/esm/components/ArticleLinks/styles.module.css +32 -0
  64. package/dist/esm/components/ArticleRichText/ArticleRichText.d.ts +5 -0
  65. package/dist/esm/components/ArticleRichText/ArticleRichText.js +7 -0
  66. package/dist/esm/components/ArticleRichText/index.d.ts +1 -0
  67. package/dist/esm/components/ArticleRichText/index.js +1 -0
  68. package/dist/esm/components/ArticleRichText/styles.module.css +36 -0
  69. package/dist/esm/components/ArticleTypography/ArticleTypography.d.ts +13 -0
  70. package/dist/esm/components/ArticleTypography/ArticleTypography.js +11 -0
  71. package/dist/esm/components/ArticleTypography/index.d.ts +1 -0
  72. package/dist/esm/components/ArticleTypography/index.js +1 -0
  73. package/dist/esm/components/ArticleTypography/styles.module.css +32 -0
  74. package/dist/esm/components/DropdownShare/DropdownShare.d.ts +16 -0
  75. package/dist/esm/components/DropdownShare/DropdownShare.js +40 -0
  76. package/dist/esm/components/DropdownShare/index.d.ts +1 -0
  77. package/dist/esm/components/DropdownShare/index.js +1 -0
  78. package/dist/esm/components/FooterArticle/FooterArticle.d.ts +7 -0
  79. package/dist/esm/components/FooterArticle/FooterArticle.js +9 -0
  80. package/dist/esm/components/FooterArticle/index.d.ts +1 -0
  81. package/dist/esm/components/FooterArticle/index.js +1 -0
  82. package/dist/esm/components/FooterArticle/styles.module.css +10 -0
  83. package/dist/esm/components/Highlight/Highlight.d.ts +5 -0
  84. package/dist/esm/components/Highlight/Highlight.js +7 -0
  85. package/dist/esm/components/Highlight/index.d.ts +1 -0
  86. package/dist/esm/components/Highlight/index.js +1 -0
  87. package/dist/esm/components/Highlight/styles.module.css +6 -0
  88. package/dist/esm/components/ImageArticle/ImageArticle.d.ts +8 -0
  89. package/dist/esm/components/ImageArticle/ImageArticle.js +8 -0
  90. package/dist/esm/components/ImageArticle/index.d.ts +1 -0
  91. package/dist/esm/components/ImageArticle/index.js +1 -0
  92. package/dist/esm/components/ImageArticle/styles.module.css +10 -0
  93. package/dist/esm/components/Products/Products.d.ts +13 -0
  94. package/dist/esm/components/Products/Products.js +8 -0
  95. package/dist/esm/components/Products/helperComponents/ServiceLight/ServiceLight.d.ts +4 -0
  96. package/dist/esm/components/Products/helperComponents/ServiceLight/ServiceLight.js +7 -0
  97. package/dist/esm/components/Products/helperComponents/ServiceLight/index.d.ts +1 -0
  98. package/dist/esm/components/Products/helperComponents/ServiceLight/index.js +1 -0
  99. package/dist/esm/components/Products/helperComponents/ServiceLight/styles.module.css +9 -0
  100. package/dist/esm/components/Products/helperComponents/index.d.ts +1 -0
  101. package/dist/esm/components/Products/helperComponents/index.js +1 -0
  102. package/dist/esm/components/Products/index.d.ts +1 -0
  103. package/dist/esm/components/Products/index.js +1 -0
  104. package/dist/esm/components/Products/styles.module.css +29 -0
  105. package/dist/esm/components/Quote/Quote.d.ts +8 -0
  106. package/dist/esm/components/Quote/Quote.js +24 -0
  107. package/dist/esm/components/Quote/QuotesSVG.d.ts +3 -0
  108. package/dist/esm/components/Quote/QuotesSVG.js +4 -0
  109. package/dist/esm/components/Quote/index.d.ts +1 -0
  110. package/dist/esm/components/Quote/index.js +1 -0
  111. package/dist/esm/components/Quote/styles.module.css +51 -0
  112. package/dist/esm/components/index.d.ts +9 -0
  113. package/dist/esm/components/index.js +9 -0
  114. package/dist/esm/index.d.ts +1 -0
  115. package/dist/esm/index.js +1 -0
  116. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -3,6 +3,28 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 0.2.4 (2025-11-13)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **PD-3377:** removed contributors ([121640f](https://gitverse.ru/cloud-ru-tech/uikit-product/commits/121640f7b88b20a728a6ad2c39de8841532bb308))
12
+
13
+
14
+
15
+
16
+
17
+ ## 0.2.3 (2025-11-12)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **PD-3377:** contributors update to publish all packages ([719fd3e](https://gitverse.ru/cloud-ru-tech/uikit-product/commits/719fd3e1249e247443b125c47ea408d92c8395c3))
23
+
24
+
25
+
26
+
27
+
6
28
  ## 0.2.2 (2025-11-12)
7
29
 
8
30
  ### Only dependencies have been changed
@@ -0,0 +1,11 @@
1
+ import { MouseEvent } from 'react';
2
+ import { WithLayoutType } from '@cloud-ru/uikit-product-utils';
3
+ export type ArticleLink = {
4
+ id: string;
5
+ text: string;
6
+ onClick?: (e: MouseEvent<HTMLAnchorElement>) => void;
7
+ };
8
+ export type ArticleLinksProps = WithLayoutType<{
9
+ links: ArticleLink[];
10
+ }>;
11
+ export declare function ArticleLinks(props: ArticleLinksProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ArticleLinks = ArticleLinks;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const react_1 = require("react");
9
+ const typography_1 = require("@snack-uikit/typography");
10
+ const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
11
+ function ArticleLinks(props) {
12
+ const { layoutType, links } = props;
13
+ const typographyProps = (0, react_1.useMemo)(() => {
14
+ if (layoutType === 'mobile') {
15
+ return {
16
+ family: 'sans',
17
+ purpose: 'title',
18
+ size: 'm',
19
+ };
20
+ }
21
+ return {
22
+ family: 'sans',
23
+ purpose: 'title',
24
+ size: 'l',
25
+ };
26
+ }, [layoutType]);
27
+ return ((0, jsx_runtime_1.jsxs)("div", { className: styles_module_scss_1.default.articleLinks, children: [(0, jsx_runtime_1.jsx)(typography_1.Typography, Object.assign({ className: styles_module_scss_1.default.title }, typographyProps, { tag: 'div', children: "\u0421\u043E\u0434\u0435\u0440\u0436\u0430\u043D\u0438\u0435" })), (0, jsx_runtime_1.jsx)("ul", { className: styles_module_scss_1.default.list, "data-test-id": 'article-links', children: links.map(link => ((0, jsx_runtime_1.jsx)("li", { className: styles_module_scss_1.default.listItem, children: (0, jsx_runtime_1.jsx)("a", { className: styles_module_scss_1.default.link, href: `#${link.id}`, onClick: e => { var _a; return (_a = link.onClick) === null || _a === void 0 ? void 0 : _a.call(link, e); }, children: (0, jsx_runtime_1.jsx)(typography_1.Typography.SansBodyL, { children: link.text }) }) }, link.id))) })] }));
28
+ }
@@ -0,0 +1 @@
1
+ export * from './ArticleLinks';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ArticleLinks"), exports);
@@ -0,0 +1,32 @@
1
+ .articleLinks{
2
+ box-sizing:border-box;
3
+ padding:24px;
4
+ border:var(--border-width-general-xs, 1px) var(--border-styles-solid, solid) var(--sys-neutral-decor-default, #dde0ea);
5
+ }
6
+
7
+ .title{
8
+ color:var(--sys-neutral-text-main, #41424e);
9
+ margin-bottom:16px;
10
+ }
11
+
12
+ .list{
13
+ margin:0;
14
+ padding:0 0 0 20px;
15
+ display:flex;
16
+ flex-direction:column;
17
+ gap:16px;
18
+ }
19
+
20
+ .link{
21
+ color:var(--sys-primary-text-light, #0ea55b);
22
+ text-decoration:none;
23
+ }
24
+ .link:hover{
25
+ text-decoration-line:underline;
26
+ text-decoration-style:solid;
27
+ -webkit-text-decoration-skip:ink;
28
+ text-decoration-skip-ink:auto;
29
+ text-decoration-thickness:auto;
30
+ text-underline-offset:auto;
31
+ text-underline-position:from-font;
32
+ }
@@ -0,0 +1,5 @@
1
+ import { WithLayoutType } from '@cloud-ru/uikit-product-utils';
2
+ export type ArticleRichTextProps = WithLayoutType<{
3
+ richText: string;
4
+ }>;
5
+ export declare function ArticleRichText(props: ArticleRichTextProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ArticleRichText = ArticleRichText;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const ArticleTypography_1 = require("../ArticleTypography");
9
+ const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
10
+ function ArticleRichText(props) {
11
+ const { layoutType, richText } = props;
12
+ return ((0, jsx_runtime_1.jsx)(ArticleTypography_1.ArticleTypography, { layoutType: layoutType, tag: 'div', type: 'body', children: (0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.richText, dangerouslySetInnerHTML: { __html: richText } }) }));
13
+ }
@@ -0,0 +1 @@
1
+ export * from './ArticleRichText';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ArticleRichText"), exports);
@@ -0,0 +1,36 @@
1
+ .richText{
2
+ display:flex;
3
+ flex-direction:column;
4
+ gap:24px;
5
+ }
6
+ .richText *{
7
+ color:var(--sys-neutral-text-main, #41424e);
8
+ }
9
+ .richText p{
10
+ margin:0;
11
+ }
12
+ .richText p:has(br){
13
+ line-height:24px;
14
+ }
15
+ .richText b,
16
+ .richText strong{
17
+ font-weight:600;
18
+ }
19
+ .richText a{
20
+ color:var(--sys-primary-text-light, #0ea55b);
21
+ text-decoration:none;
22
+ }
23
+ .richText a:hover{
24
+ text-decoration-line:underline;
25
+ text-decoration-style:solid;
26
+ -webkit-text-decoration-skip:ink;
27
+ text-decoration-skip-ink:auto;
28
+ text-decoration-thickness:auto;
29
+ text-underline-offset:auto;
30
+ text-underline-position:from-font;
31
+ }
32
+ .richText ul,
33
+ .richText ol{
34
+ margin:0;
35
+ padding:0 0 0 20px;
36
+ }
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ import { WithLayoutType } from '@cloud-ru/uikit-product-utils';
3
+ export type ArticleTypographyProps = WithLayoutType<{
4
+ className?: string;
5
+ tag: 'span' | 'div' | 'p';
6
+ type: 'body' | 'bodyBold' | 'bodyLink';
7
+ children: ReactNode;
8
+ }>;
9
+ export declare function ArticleTypography(props: ArticleTypographyProps): import("react").DetailedReactHTMLElement<{
10
+ className: string;
11
+ 'data-layout-type': import("@cloud-ru/uikit-product-utils").LayoutType;
12
+ 'data-type': "body" | "bodyBold" | "bodyLink";
13
+ }, HTMLElement>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ArticleTypography = ArticleTypography;
7
+ const classnames_1 = __importDefault(require("classnames"));
8
+ const react_1 = require("react");
9
+ const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
10
+ function ArticleTypography(props) {
11
+ const { tag, className, layoutType, type, children } = props;
12
+ return (0, react_1.createElement)(tag, {
13
+ className: (0, classnames_1.default)(styles_module_scss_1.default.typography, className),
14
+ 'data-layout-type': layoutType,
15
+ 'data-type': type,
16
+ }, children);
17
+ }
@@ -0,0 +1 @@
1
+ export * from './ArticleTypography';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ArticleTypography"), exports);
@@ -0,0 +1,32 @@
1
+ .typography{
2
+ box-sizing:border-box;
3
+ max-width:100%;
4
+ margin:0;
5
+ padding:0;
6
+ overflow-wrap:break-word;
7
+ font-family:"SB Sans Text";
8
+ font-size:18px;
9
+ font-style:normal;
10
+ font-weight:400;
11
+ line-height:26px;
12
+ }
13
+ .typography[data-type=bodyBold]{
14
+ font-weight:600;
15
+ }
16
+ .typography[data-type=bodyLink]{
17
+ color:var(--sys-primary-text-light, #0ea55b);
18
+ text-decoration:none;
19
+ }
20
+ .typography[data-type=bodyLink]:hover{
21
+ text-decoration-line:underline;
22
+ text-decoration-style:solid;
23
+ -webkit-text-decoration-skip:ink;
24
+ text-decoration-skip-ink:auto;
25
+ text-decoration-thickness:auto;
26
+ text-underline-offset:auto;
27
+ text-underline-position:from-font;
28
+ }
29
+ .typography[data-layout-type=mobile]{
30
+ font-size:16px;
31
+ line-height:24px;
32
+ }
@@ -0,0 +1,16 @@
1
+ import { ValueOf } from '@snack-uikit/utils';
2
+ declare const SHARE_OPTIONS_TYPE: {
3
+ Telegram: string;
4
+ VK: string;
5
+ Copy: string;
6
+ };
7
+ export type DropdownShareOption = {
8
+ type: ValueOf<typeof SHARE_OPTIONS_TYPE>;
9
+ onClick: () => void;
10
+ };
11
+ export type DropdownShareProps = {
12
+ hideLabel?: boolean;
13
+ options: DropdownShareOption[];
14
+ };
15
+ export declare function DropdownShare(props: DropdownShareProps): import("react/jsx-runtime").JSX.Element;
16
+ export {};
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DropdownShare = DropdownShare;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const uikit_product_icons_1 = require("@cloud-ru/uikit-product-icons");
6
+ const button_1 = require("@snack-uikit/button");
7
+ const list_1 = require("@snack-uikit/list");
8
+ const SHARE_OPTIONS_TYPE = {
9
+ Telegram: 'telegram',
10
+ VK: 'vk',
11
+ Copy: 'copy',
12
+ };
13
+ function DropdownShare(props) {
14
+ const { hideLabel, options } = props;
15
+ const items = options.map(({ type, onClick }) => {
16
+ switch (type) {
17
+ case SHARE_OPTIONS_TYPE.Telegram:
18
+ return {
19
+ id: 'telegram',
20
+ content: { option: 'Telegram' },
21
+ beforeContent: (0, jsx_runtime_1.jsx)(uikit_product_icons_1.TelegramSVG, {}),
22
+ onClick,
23
+ };
24
+ case SHARE_OPTIONS_TYPE.VK:
25
+ return {
26
+ id: 'vk',
27
+ content: { option: 'VK' },
28
+ beforeContent: (0, jsx_runtime_1.jsx)(uikit_product_icons_1.VkSVG, {}),
29
+ onClick,
30
+ };
31
+ case SHARE_OPTIONS_TYPE.Copy:
32
+ return {
33
+ id: 'copy',
34
+ content: { option: 'Копировать ссылку' },
35
+ beforeContent: (0, jsx_runtime_1.jsx)(uikit_product_icons_1.LinkSVG, {}),
36
+ onClick,
37
+ };
38
+ default:
39
+ return {};
40
+ }
41
+ });
42
+ return ((0, jsx_runtime_1.jsx)(list_1.Droplist, { items: items, size: 'l', closeDroplistOnItemClick: true, children: (0, jsx_runtime_1.jsx)(button_1.ButtonFunction, { size: 'm', label: !hideLabel ? 'Поделиться' : undefined, icon: (0, jsx_runtime_1.jsx)(uikit_product_icons_1.ShareSVG, {}), "data-test-id": 'dropdown-share-button' }) }));
43
+ }
@@ -0,0 +1 @@
1
+ export * from './DropdownShare';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./DropdownShare"), exports);
@@ -0,0 +1,7 @@
1
+ import { WithLayoutType } from '@cloud-ru/uikit-product-utils';
2
+ import { DropdownShareOption } from '../DropdownShare';
3
+ export type FooterArticleProps = WithLayoutType<{
4
+ releaseDate: string;
5
+ dropdownOptions: DropdownShareOption[];
6
+ }>;
7
+ export declare function FooterArticle(props: FooterArticleProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FooterArticle = FooterArticle;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const typography_1 = require("@snack-uikit/typography");
9
+ const DropdownShare_1 = require("../DropdownShare");
10
+ const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
11
+ function FooterArticle(props) {
12
+ const { layoutType, releaseDate, dropdownOptions } = props;
13
+ const isMobile = layoutType === 'mobile';
14
+ return ((0, jsx_runtime_1.jsxs)("div", { className: styles_module_scss_1.default.footerArticle, "data-test-id": 'footer-article', children: [(0, jsx_runtime_1.jsx)(typography_1.Typography.SansBodyL, { className: styles_module_scss_1.default.releaseDate, children: releaseDate }), (0, jsx_runtime_1.jsx)(DropdownShare_1.DropdownShare, { hideLabel: isMobile, options: dropdownOptions })] }));
15
+ }
@@ -0,0 +1 @@
1
+ export * from './FooterArticle';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./FooterArticle"), exports);
@@ -0,0 +1,10 @@
1
+ .footerArticle{
2
+ box-sizing:border-box;
3
+ display:flex;
4
+ align-items:center;
5
+ justify-content:space-between;
6
+ }
7
+
8
+ .releaseDate{
9
+ color:var(--sys-neutral-text-support, #656774);
10
+ }
@@ -0,0 +1,5 @@
1
+ import { WithLayoutType } from '@cloud-ru/uikit-product-utils';
2
+ export type HighlightProps = WithLayoutType<{
3
+ richText: string;
4
+ }>;
5
+ export declare function Highlight(props: HighlightProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Highlight = Highlight;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const ArticleRichText_1 = require("../ArticleRichText");
9
+ const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
10
+ function Highlight(props) {
11
+ const { layoutType, richText } = props;
12
+ return ((0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.highlight, "data-test-id": 'highlight', children: (0, jsx_runtime_1.jsx)(ArticleRichText_1.ArticleRichText, { layoutType: layoutType, richText: richText }) }));
13
+ }
@@ -0,0 +1 @@
1
+ export * from './Highlight';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./Highlight"), exports);
@@ -0,0 +1,6 @@
1
+ .highlight{
2
+ box-sizing:border-box;
3
+ background-color:var(--sys-neutral-background, #eeeff3);
4
+ padding:24px;
5
+ color:var(--sys-neutral-text-main, #41424e);
6
+ }
@@ -0,0 +1,8 @@
1
+ export type ImageArticleProps = {
2
+ image: {
3
+ src: string;
4
+ alt?: string;
5
+ };
6
+ description?: string;
7
+ };
8
+ export declare function ImageArticle(props: ImageArticleProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ImageArticle = ImageArticle;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const typography_1 = require("@snack-uikit/typography");
9
+ const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
10
+ const IMG_ALT = 'Blog image';
11
+ function ImageArticle(props) {
12
+ const { image, description } = props;
13
+ return ((0, jsx_runtime_1.jsxs)("div", { className: styles_module_scss_1.default.imageArticle, "data-test-id": 'image-article', children: [(0, jsx_runtime_1.jsx)("img", { src: image.src, alt: image.alt || IMG_ALT }), (0, jsx_runtime_1.jsx)(typography_1.Typography.SansBodyL, { className: styles_module_scss_1.default.description, children: description })] }));
14
+ }
@@ -0,0 +1 @@
1
+ export * from './ImageArticle';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ImageArticle"), exports);
@@ -0,0 +1,10 @@
1
+ .imageArticle{
2
+ box-sizing:border-box;
3
+ display:flex;
4
+ flex-direction:column;
5
+ gap:12px;
6
+ }
7
+
8
+ .description{
9
+ color:var(--sys-neutral-text-support, #656774);
10
+ }
@@ -0,0 +1,13 @@
1
+ import { MouseEvent } from 'react';
2
+ import { WithLayoutType } from '@cloud-ru/uikit-product-utils';
3
+ export type ArticleProduct = {
4
+ name: string;
5
+ icon: string;
6
+ href: string;
7
+ onClick?: (e: MouseEvent<HTMLAnchorElement>) => void;
8
+ };
9
+ export type ProductsProps = WithLayoutType<{
10
+ products?: ArticleProduct[];
11
+ solutions?: ArticleProduct[];
12
+ }>;
13
+ export declare function Products(props: ProductsProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Products = Products;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const typography_1 = require("@snack-uikit/typography");
9
+ const helperComponents_1 = require("./helperComponents");
10
+ const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
11
+ function Products(props) {
12
+ const { layoutType, products, solutions } = props;
13
+ return ((0, jsx_runtime_1.jsxs)("div", { className: styles_module_scss_1.default.products, "data-layout-type": layoutType, children: [(products === null || products === void 0 ? void 0 : products.length) && products.length > 0 && ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(typography_1.Typography.SansTitleM, { className: styles_module_scss_1.default.label, tag: 'span', children: "\u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u043D\u044B\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044B:" }), (0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.tags, "data-layout-type": layoutType, "data-test-id": 'article-products', children: products.map(item => ((0, jsx_runtime_1.jsx)(helperComponents_1.ServiceLight, Object.assign({}, item), item.name))) })] })), (solutions === null || solutions === void 0 ? void 0 : solutions.length) && solutions.length > 0 && ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(typography_1.Typography.SansTitleM, { className: styles_module_scss_1.default.label, tag: 'span', children: "\u0420\u0435\u0448\u0435\u043D\u0438\u044F:" }), (0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.tags, "data-layout-type": layoutType, "data-test-id": 'article-solutions', children: solutions.map(item => ((0, jsx_runtime_1.jsx)(helperComponents_1.ServiceLight, Object.assign({}, item), item.name))) })] }))] }));
14
+ }
@@ -0,0 +1,4 @@
1
+ import { ArticleProduct } from '../../Products';
2
+ type ServiceLightProps = ArticleProduct;
3
+ export declare function ServiceLight(props: ServiceLightProps): import("react/jsx-runtime").JSX.Element;
4
+ export {};
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ServiceLight = ServiceLight;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const typography_1 = require("@snack-uikit/typography");
9
+ const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
10
+ function ServiceLight(props) {
11
+ const { icon, name, href, onClick } = props;
12
+ return ((0, jsx_runtime_1.jsxs)("a", { className: styles_module_scss_1.default.serviceLight, href: href, onClick: onClick, children: [(0, jsx_runtime_1.jsx)("img", { src: icon, alt: `Иконка-${name}`, width: 24, height: 24 }), (0, jsx_runtime_1.jsx)(typography_1.Typography.SansBodyM, { children: name })] }));
13
+ }
@@ -0,0 +1 @@
1
+ export * from './ServiceLight';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ServiceLight"), exports);
@@ -0,0 +1,9 @@
1
+ .serviceLight{
2
+ display:inline-flex;
3
+ align-items:center;
4
+ gap:4px;
5
+ color:var(--sys-neutral-text-support, #656774);
6
+ }
7
+ .serviceLight:hover{
8
+ color:var(--sys-primary-text-light, #0ea55b);
9
+ }
@@ -0,0 +1 @@
1
+ export * from './ServiceLight';