@meduza/ui-kit-2 0.4.15 → 0.5.1
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.
- package/package.json +12 -7
- package/src/Cover/index.tsx +2 -10
- package/src/DocumentItemsCount/DocumentItemsCount.module.css +12 -1
- package/src/DocumentItemsCount/DocumentItemsCount.test.tsx +9 -2
- package/src/DocumentItemsCount/index.tsx +3 -3
- package/src/Footnote/Footnote.module.css +6 -46
- package/src/Footnote/Footnote.stories.tsx +9 -26
- package/src/Image/Image.module.css +0 -11
- package/src/Meta/Meta.module.css +0 -5
- package/src/Meta/Meta.stories.module.css +0 -16
- package/src/Meta/Meta.stories.tsx +4 -51
- package/src/Meta/MetaContainer.tsx +0 -8
- package/src/Popover/Popover.module.css +29 -47
- package/src/Popover/Popover.stories.tsx +1 -25
- package/src/Popover/index.tsx +21 -1
- package/src/RawHtmlBlock/index.tsx +5 -0
- package/src/RelatedRichBlock/RelatedRichBlock.module.css +1 -11
- package/src/RenderBlocks/index.tsx +1 -5
- package/src/RichTitle/RichTitle.module.css +6 -16
- package/src/ShopRelatedBlock/ShopRelatedBlock.module.css +210 -0
- package/src/ShopRelatedBlock/ShopRelatedBlock.stories.module.css +12 -0
- package/src/ShopRelatedBlock/ShopRelatedBlock.stories.tsx +52 -0
- package/src/ShopRelatedBlock/ShopRelatedBlock.test.tsx +20 -0
- package/src/ShopRelatedBlock/ShopRelatedBlock.types.ts +4 -0
- package/src/ShopRelatedBlock/index.tsx +120 -0
- package/src/ShopRelatedBlock/mock.json +153 -0
- package/src/SimpleBlock/SimpleBlock.types.ts +1 -0
- package/src/SimpleBlock/index.tsx +3 -1
- package/src/Tag/Tag.module.css +3 -8
- package/src/Tag/Tag.stories.tsx +3 -16
- package/src/Tag/Tag.types.ts +1 -7
- package/src/index.tsx +1 -1
- package/dist/AnnouncementInText/AnnouncementInText.types.d.ts +0 -4
- package/dist/AnnouncementInText/index.d.ts +0 -3
- package/dist/BookmarkButton/BookmarkButton.types.d.ts +0 -6
- package/dist/BookmarkButton/index.d.ts +0 -3
- package/dist/Button/Button.d.ts +0 -3
- package/dist/Button/Button.types.d.ts +0 -16
- package/dist/Button/ButtonLoader.d.ts +0 -2
- package/dist/Button/index.d.ts +0 -2
- package/dist/CardTitle/CardTitle.types.d.ts +0 -10
- package/dist/CardTitle/index.d.ts +0 -3
- package/dist/ChapterBlock/ChapterBlock.types.d.ts +0 -7
- package/dist/ChapterBlock/index.d.ts +0 -3
- package/dist/Cover/Cover.types.d.ts +0 -24
- package/dist/Cover/index.d.ts +0 -3
- package/dist/DocumentItemsCount/DocumentItemsCount.types.d.ts +0 -7
- package/dist/DocumentItemsCount/index.d.ts +0 -3
- package/dist/DonatesTeaser/DonatesTeaser.types.d.ts +0 -4
- package/dist/DonatesTeaser/index.d.ts +0 -3
- package/dist/DotsOnImage/DotsOnImage.types.d.ts +0 -46
- package/dist/DotsOnImage/index.d.ts +0 -3
- package/dist/Dropdown/Dropdown.types.d.ts +0 -6
- package/dist/Dropdown/index.d.ts +0 -4
- package/dist/EmbedBlock/EmbedBlock.d.ts +0 -3
- package/dist/EmbedBlock/EmbedBlock.types.d.ts +0 -12
- package/dist/EmbedBlock/EmbedGif.d.ts +0 -3
- package/dist/EmbedBlock/IframeBlock.d.ts +0 -3
- package/dist/EmbedBlock/index.d.ts +0 -3
- package/dist/Footnote/Footnote.types.d.ts +0 -5
- package/dist/Footnote/index.d.ts +0 -3
- package/dist/GroupedBlock/GroupedBlock.types.d.ts +0 -4
- package/dist/GroupedBlock/index.d.ts +0 -3
- package/dist/HalfBlock/HalfBlock.types.d.ts +0 -4
- package/dist/HalfBlock/index.d.ts +0 -3
- package/dist/Image/Image.types.d.ts +0 -35
- package/dist/Image/RenderPicture.d.ts +0 -4
- package/dist/Image/index.d.ts +0 -3
- package/dist/ImportantLead/ImportantLead.types.d.ts +0 -4
- package/dist/ImportantLead/index.d.ts +0 -3
- package/dist/Lazy/Lazy.types.d.ts +0 -5
- package/dist/Lazy/index.d.ts +0 -3
- package/dist/ListBlock/ListBlock.types.d.ts +0 -10
- package/dist/ListBlock/index.d.ts +0 -3
- package/dist/MaterialNote/MaterialNote.types.d.ts +0 -13
- package/dist/MaterialNote/index.d.ts +0 -3
- package/dist/MaterialTitle/MaterialTitle.types.d.ts +0 -4
- package/dist/MaterialTitle/index.d.ts +0 -5
- package/dist/MediaCaption/MediaCaption.types.d.ts +0 -5
- package/dist/MediaCaption/index.d.ts +0 -3
- package/dist/Meta/Meta.mock.d.ts +0 -12
- package/dist/Meta/Meta.types.d.ts +0 -19
- package/dist/Meta/MetaContainer.d.ts +0 -3
- package/dist/Meta/index.d.ts +0 -3
- package/dist/MetaItem/MetaItem.types.d.ts +0 -7
- package/dist/MetaItem/index.d.ts +0 -3
- package/dist/MetaItemLive/MetaItemLive.types.d.ts +0 -3
- package/dist/MetaItemLive/index.d.ts +0 -3
- package/dist/Popover/Popover.types.d.ts +0 -5
- package/dist/Popover/index.d.ts +0 -3
- package/dist/QuoteBlock/QuoteBlock.types.d.ts +0 -6
- package/dist/QuoteBlock/index.d.ts +0 -3
- package/dist/RawHtmlBlock/RawHtmlBlock.types.d.ts +0 -17
- package/dist/RawHtmlBlock/index.d.ts +0 -3
- package/dist/RelatedBlock/RelatedBlock.types.d.ts +0 -17
- package/dist/RelatedBlock/index.d.ts +0 -3
- package/dist/RelatedBook/RelatedBook.mock.d.ts +0 -65
- package/dist/RelatedBook/RelatedBook.types.d.ts +0 -4
- package/dist/RelatedBook/index.d.ts +0 -3
- package/dist/RelatedRichBlock/RelatedRichBlock.types.d.ts +0 -4
- package/dist/RelatedRichBlock/index.d.ts +0 -3
- package/dist/RenderBlocks/RenderBlocks.types.d.ts +0 -11
- package/dist/RenderBlocks/index.d.ts +0 -3
- package/dist/RichTitle/RichTitle.types.d.ts +0 -13
- package/dist/RichTitle/index.d.ts +0 -3
- package/dist/SensitiveBlock/SensitiveBlock.types.d.ts +0 -15
- package/dist/SensitiveBlock/index.d.ts +0 -3
- package/dist/SimpleBlock/SimpleBlock.types.d.ts +0 -4
- package/dist/SimpleBlock/index.d.ts +0 -3
- package/dist/SimpleTitle/SimpleTitle.types.d.ts +0 -9
- package/dist/SimpleTitle/index.d.ts +0 -3
- package/dist/SourceBlock/SourceBlock.types.d.ts +0 -15
- package/dist/SourceBlock/index.d.ts +0 -3
- package/dist/Spoiler/Spoiler.types.d.ts +0 -4
- package/dist/Spoiler/index.d.ts +0 -3
- package/dist/SvgSymbol/SvgSymbol.types.d.ts +0 -8
- package/dist/SvgSymbol/icons.d.ts +0 -167
- package/dist/SvgSymbol/index.d.ts +0 -3
- package/dist/Switcher/Switcher.types.d.ts +0 -12
- package/dist/Switcher/index.d.ts +0 -3
- package/dist/Table/Table.types.d.ts +0 -25
- package/dist/Table/index.d.ts +0 -3
- package/dist/Tag/Tag.types.d.ts +0 -12
- package/dist/Tag/index.d.ts +0 -3
- package/dist/Timestamp/Timestamp.types.d.ts +0 -5
- package/dist/Timestamp/index.d.ts +0 -4
- package/dist/Toolbar/Toolbar.d.ts +0 -3
- package/dist/Toolbar/Toolbar.types.d.ts +0 -8
- package/dist/Toolbar/ToolbarItem.d.ts +0 -3
- package/dist/Toolbar/index.d.ts +0 -2
- package/dist/ToolbarButton/ToolbarButton.types.d.ts +0 -10
- package/dist/ToolbarButton/index.d.ts +0 -3
- package/dist/Tooltip/Tooltip.d.ts +0 -3
- package/dist/Tooltip/Tooltip.types.d.ts +0 -8
- package/dist/Tooltip/TooltipFooter.d.ts +0 -3
- package/dist/Tooltip/index.d.ts +0 -2
- package/dist/constants.d.ts +0 -41
- package/dist/index.d.ts +0 -45
- package/dist/types.d.ts +0 -20
- package/dist/ui-kit-2.cjs.development.js +0 -2639
- package/dist/ui-kit-2.cjs.development.js.map +0 -1
- package/dist/ui-kit-2.cjs.production.min.js +0 -2
- package/dist/ui-kit-2.cjs.production.min.js.map +0 -1
- package/dist/ui-kit-2.esm.js +0 -2585
- package/dist/ui-kit-2.esm.js.map +0 -1
- package/dist/ui-kit.css +0 -6068
- package/dist/utils/BlockContext.d.ts +0 -8
- package/dist/utils/DangerousHtml.d.ts +0 -8
- package/dist/utils/capitalizeFirstLetter.d.ts +0 -1
- package/dist/utils/converCase.d.ts +0 -2
- package/dist/utils/generateGradient.d.ts +0 -2
- package/dist/utils/getElementPositionRelativeToViewport.d.ts +0 -2
- package/dist/utils/makeClassName.d.ts +0 -3
- package/dist/utils/makeStyleContext.d.ts +0 -3
- package/dist/utils/pluralize.d.ts +0 -2
- package/dist/utils/postMessage.d.ts +0 -2
- package/dist/utils/viewportSize.d.ts +0 -6
- package/src/.DS_Store +0 -0
- package/src/Meta/Meta.mock.ts +0 -19
- package/src/RelatedBook/RelatedBook.mock.ts +0 -68
- package/src/RelatedBook/RelatedBook.module.css +0 -210
- package/src/RelatedBook/RelatedBook.stories.module.css +0 -5
- package/src/RelatedBook/RelatedBook.stories.tsx +0 -35
- package/src/RelatedBook/RelatedBook.test.tsx +0 -20
- package/src/RelatedBook/RelatedBook.types.ts +0 -4
- package/src/RelatedBook/index.tsx +0 -68
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
2
|
+
"version": "0.5.1",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"description": "UIKit for Meduza",
|
|
5
5
|
"repository": "https://github.com/meduza-corp/ui-kit-2.git",
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
"build-storybook": "storybook build"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
|
-
"dayjs": "^1.
|
|
31
|
-
"react": ">=
|
|
32
|
-
"react-intersection-observer": "^
|
|
30
|
+
"dayjs": "^1.10.3",
|
|
31
|
+
"react": ">=16",
|
|
32
|
+
"react-intersection-observer": "^8.31.0",
|
|
33
33
|
"react-router-dom": "^5.2.0"
|
|
34
34
|
},
|
|
35
35
|
"lint-staged": {
|
|
@@ -51,6 +51,12 @@
|
|
|
51
51
|
"@commitlint/config-conventional"
|
|
52
52
|
]
|
|
53
53
|
},
|
|
54
|
+
"husky": {
|
|
55
|
+
"hooks": {
|
|
56
|
+
"pre-commit": "tsc --noEmit && lint-staged",
|
|
57
|
+
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
|
|
58
|
+
}
|
|
59
|
+
},
|
|
54
60
|
"devDependencies": {
|
|
55
61
|
"@babel/core": "^7.22.9",
|
|
56
62
|
"@babel/preset-env": "^7.22.9",
|
|
@@ -72,7 +78,6 @@
|
|
|
72
78
|
"@typescript-eslint/eslint-plugin": "^6.1.0",
|
|
73
79
|
"@typescript-eslint/parser": "^6.1.0",
|
|
74
80
|
"babel-loader": "^9.1.3",
|
|
75
|
-
"css-loader": "^6.8.1",
|
|
76
81
|
"dayjs": "^1.11.9",
|
|
77
82
|
"dts-cli": "^2.0.3",
|
|
78
83
|
"eslint": "^8.45.0",
|
|
@@ -104,7 +109,6 @@
|
|
|
104
109
|
"storybook": "^7.1.0",
|
|
105
110
|
"storybook-addon-react-docgen": "^1.2.43",
|
|
106
111
|
"storybook-addon-react-router-v6": "^1.0.2",
|
|
107
|
-
"style-loader": "^3.3.3",
|
|
108
112
|
"stylelint": "^15.10.2",
|
|
109
113
|
"stylelint-config-rational-order": "^0.1.2",
|
|
110
114
|
"stylelint-config-sass-guidelines": "^10.0.0",
|
|
@@ -116,5 +120,6 @@
|
|
|
116
120
|
"typescript": "^5.1.6",
|
|
117
121
|
"typescript-plugin-css-modules": "^5.0.1",
|
|
118
122
|
"utils": "^0.3.1"
|
|
119
|
-
}
|
|
123
|
+
},
|
|
124
|
+
"dependencies": {}
|
|
120
125
|
}
|
package/src/Cover/index.tsx
CHANGED
|
@@ -38,10 +38,7 @@ export const Cover: React.FC<CoverProps> = ({
|
|
|
38
38
|
|
|
39
39
|
classNames = makeStyleContext(classNames, theme, styles)
|
|
40
40
|
|
|
41
|
-
style.backgroundImage = generateGradient(
|
|
42
|
-
gradients.bg_rgb,
|
|
43
|
-
'mediaBlockBottom'
|
|
44
|
-
)
|
|
41
|
+
style.backgroundImage = generateGradient(gradients.bg_rgb, 'mediaBlockBottom')
|
|
45
42
|
}
|
|
46
43
|
|
|
47
44
|
const renderCC = (context?: string): JSX.Element => (
|
|
@@ -55,12 +52,7 @@ export const Cover: React.FC<CoverProps> = ({
|
|
|
55
52
|
return (
|
|
56
53
|
<div data-testid="cover" className={makeClassName(classNames)}>
|
|
57
54
|
<div className={styles.image}>
|
|
58
|
-
<Image
|
|
59
|
-
optimized={urls}
|
|
60
|
-
ratio={mobileRatio}
|
|
61
|
-
display="narrow"
|
|
62
|
-
lazy={true}
|
|
63
|
-
/>
|
|
55
|
+
<Image optimized={urls} ratio={mobileRatio} display="narrow" />
|
|
64
56
|
</div>
|
|
65
57
|
<div className={styles.body} style={style}>
|
|
66
58
|
{blocks.map((item) => (
|
|
@@ -1,6 +1,17 @@
|
|
|
1
|
+
/* stylelint-disable declaration-empty-line-before */
|
|
1
2
|
@import '../vars';
|
|
2
3
|
|
|
3
|
-
.root
|
|
4
|
+
.root {
|
|
5
|
+
display: inline;
|
|
6
|
+
|
|
7
|
+
line-height: inherit;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.root svg {
|
|
11
|
+
vertical-align: top;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.items {
|
|
4
15
|
margin-left: 1px;
|
|
5
16
|
|
|
6
17
|
vertical-align: top;
|
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
2
|
import { render } from '@testing-library/react'
|
|
3
3
|
import { DocumentItemsCount } from './'
|
|
4
|
+
// import { DocumentItemsCountProps } from './DocumentItemsCount.types'
|
|
5
|
+
|
|
6
|
+
import styles from './DocumentItemsCount.module.css'
|
|
4
7
|
|
|
5
8
|
describe('Document Items Count', () => {
|
|
9
|
+
// let props: DocumentItemsCountProps
|
|
10
|
+
|
|
6
11
|
const renderComponent = () =>
|
|
7
12
|
render(<DocumentItemsCount type="card" items={4} />)
|
|
8
13
|
|
|
9
14
|
it('should have root style', () => {
|
|
10
|
-
const {
|
|
15
|
+
const { getByTestId } = renderComponent()
|
|
16
|
+
|
|
17
|
+
const documentItemsCount = getByTestId('document-items-count')
|
|
11
18
|
|
|
12
|
-
expect(
|
|
19
|
+
expect(documentItemsCount).toHaveClass(styles.root)
|
|
13
20
|
})
|
|
14
21
|
})
|
|
@@ -45,9 +45,9 @@ export const DocumentItemsCount: React.FC<DocumentItemsCountProps> = ({
|
|
|
45
45
|
)}`
|
|
46
46
|
|
|
47
47
|
return (
|
|
48
|
-
|
|
48
|
+
<div data-testid="document-items-count" className={styles.root}>
|
|
49
49
|
{children}
|
|
50
|
-
<span className={styles.
|
|
51
|
-
|
|
50
|
+
<span className={styles.items}>{itemsCount}</span>
|
|
51
|
+
</div>
|
|
52
52
|
)
|
|
53
53
|
}
|
|
@@ -3,58 +3,18 @@
|
|
|
3
3
|
.root {
|
|
4
4
|
position: relative;
|
|
5
5
|
|
|
6
|
+
width: 320px;
|
|
7
|
+
padding: 20px;
|
|
8
|
+
|
|
6
9
|
border-radius: 8px;
|
|
7
10
|
background-color: #fff;
|
|
8
|
-
box-shadow:
|
|
9
|
-
0 0 0 1px rgba(0, 0, 0, 0.1),
|
|
10
|
-
0 5px 20px rgba(0, 0, 0, 0.2);
|
|
11
|
+
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 5px 20px rgba(0, 0, 0, 0.2);
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
.body {
|
|
14
|
-
overflow-y: auto;
|
|
15
|
-
-webkit-overflow-scrolling: touch;
|
|
16
|
-
|
|
17
|
-
max-height: 400px;
|
|
18
|
-
padding: 20px 20px 28px;
|
|
19
|
-
|
|
20
|
-
color: #000;
|
|
21
|
-
|
|
22
|
-
font-family: $secondaryFont;
|
|
23
15
|
font-family: $secondaryFont;
|
|
24
16
|
font-size: 16px;
|
|
25
|
-
font-size: 16px;
|
|
26
17
|
line-height: 22px;
|
|
27
|
-
line-height: 22px;
|
|
28
|
-
|
|
29
|
-
overscroll-behavior: none;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
.body::before,
|
|
33
|
-
.body::after {
|
|
34
|
-
position: absolute;
|
|
35
|
-
right: 0;
|
|
36
|
-
left: 0;
|
|
37
|
-
|
|
38
|
-
content: '';
|
|
39
|
-
pointer-events: none;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
.body::before {
|
|
43
|
-
top: 0;
|
|
44
|
-
|
|
45
|
-
height: 29px;
|
|
46
|
-
|
|
47
|
-
border-radius: 8px 8px 0 0;
|
|
48
|
-
background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
.body::after {
|
|
52
|
-
bottom: 0;
|
|
53
|
-
|
|
54
|
-
height: 48px;
|
|
55
|
-
|
|
56
|
-
border-radius: 0 0 8px 8px;
|
|
57
|
-
background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
|
|
58
18
|
}
|
|
59
19
|
|
|
60
20
|
.body h3 {
|
|
@@ -84,12 +44,11 @@
|
|
|
84
44
|
|
|
85
45
|
.dismiss {
|
|
86
46
|
position: absolute;
|
|
87
|
-
z-index: 10;
|
|
88
47
|
top: 0;
|
|
89
48
|
right: 0;
|
|
90
49
|
|
|
91
50
|
margin: 0;
|
|
92
|
-
padding:
|
|
51
|
+
padding: 6px 9px 10px;
|
|
93
52
|
|
|
94
53
|
cursor: pointer;
|
|
95
54
|
|
|
@@ -107,3 +66,4 @@
|
|
|
107
66
|
width: 12px;
|
|
108
67
|
height: 12px;
|
|
109
68
|
}
|
|
69
|
+
|
|
@@ -15,33 +15,16 @@ export default {
|
|
|
15
15
|
const Example: React.FC = () => {
|
|
16
16
|
return (
|
|
17
17
|
<>
|
|
18
|
-
<div className={styles.root}
|
|
18
|
+
<div className={styles.root}>
|
|
19
19
|
<Footnote onClose={(): void => alert('Handle Close')}>
|
|
20
|
-
<h3
|
|
21
|
-
<
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
спала на втором этаже, Бебчук внизу. В одну из ночей ей не
|
|
29
|
-
удавалось заснуть, она ворочалась. Бебчук услышал. „Не можешь
|
|
30
|
-
уснуть? Иди сюда, будем вместе засыпать“. Лида спустилась.
|
|
31
|
-
„Забирайся под одеяло“, — сказал преподаватель. Так и не сумев
|
|
32
|
-
заснуть, Лида ночью вышла из дома». «Летом 2007 года Лиду
|
|
33
|
-
отправили подтягивать математику в Боброво. К тому моменту Бебчук
|
|
34
|
-
стал для нее „родной фигурой и наставником, помогал, слушал“. В
|
|
35
|
-
первые дни он парил ее голой в бане. В доме Бебчука вместо
|
|
36
|
-
кроватей стояли большие полати — двухэтажная деревянная
|
|
37
|
-
конструкция, на которой помещалось до 15 человек. Лида спала на
|
|
38
|
-
втором этаже, Бебчук внизу. В одну из ночей ей не удавалось
|
|
39
|
-
заснуть, она ворочалась. Бебчук услышал. „Не можешь уснуть? Иди
|
|
40
|
-
сюда, будем вместе засыпать“. Лида спустилась. „Забирайся под
|
|
41
|
-
одеяло“, — сказал преподаватель. Так и не сумев заснуть, Лида
|
|
42
|
-
ночью вышла из дома».
|
|
43
|
-
</p>
|
|
44
|
-
</div>
|
|
20
|
+
<h3>Заголовок лвлвлдфова выа вовофдывлоа</h3>
|
|
21
|
+
<p>
|
|
22
|
+
«Я видел истинного Дональда Трампа, наблюдал за ним. Это обманщик,
|
|
23
|
+
притворщик и задира. Настоящий паршивец! Все его слова абсурдны
|
|
24
|
+
и направлены на скандал. Рейган когда-то сказал Горбачёву:
|
|
25
|
+
«Мистер Горбачёв, развалите эту стену!», а Трамп собирается
|
|
26
|
+
взводить стену между Америкой и Мексикой.
|
|
27
|
+
</p>
|
|
45
28
|
</Footnote>
|
|
46
29
|
</div>
|
|
47
30
|
</>
|
package/src/Meta/Meta.module.css
CHANGED
|
@@ -4,20 +4,4 @@
|
|
|
4
4
|
display: block;
|
|
5
5
|
|
|
6
6
|
font-family: $secondaryFont;
|
|
7
|
-
|
|
8
|
-
display: flex;
|
|
9
|
-
flex-flow: column nowrap;
|
|
10
|
-
|
|
11
|
-
gap: 40px;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.root h3 {
|
|
15
|
-
font-size: 20px;
|
|
16
|
-
font-weight: bold;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.layout {
|
|
20
|
-
display: flex;
|
|
21
|
-
flex-flow: column nowrap;
|
|
22
|
-
gap: 20px;
|
|
23
7
|
}
|
|
@@ -8,8 +8,6 @@ import { SvgSymbol } from '../SvgSymbol'
|
|
|
8
8
|
import { PreviewWrapper } from '../_storybook/PreviewWrapper'
|
|
9
9
|
|
|
10
10
|
import styles from './Meta.stories.module.css'
|
|
11
|
-
import { MetaContainer } from './MetaContainer'
|
|
12
|
-
import { MetaMock } from './Meta.mock'
|
|
13
11
|
|
|
14
12
|
export default {
|
|
15
13
|
title: 'Main / Meta',
|
|
@@ -21,8 +19,8 @@ export default {
|
|
|
21
19
|
|
|
22
20
|
const Example: React.FC = () => {
|
|
23
21
|
return (
|
|
24
|
-
|
|
25
|
-
<div className={styles.
|
|
22
|
+
<>
|
|
23
|
+
<div className={styles.root}>
|
|
26
24
|
<h3>В карточке</h3>
|
|
27
25
|
<Meta>
|
|
28
26
|
<MetaItem>
|
|
@@ -40,7 +38,7 @@ const Example: React.FC = () => {
|
|
|
40
38
|
))}
|
|
41
39
|
</Meta>
|
|
42
40
|
</div>
|
|
43
|
-
<div className={styles.
|
|
41
|
+
<div className={styles.root}>
|
|
44
42
|
<h3>В материале</h3>
|
|
45
43
|
|
|
46
44
|
<Meta styleContext="isInMaterial">
|
|
@@ -54,53 +52,8 @@ const Example: React.FC = () => {
|
|
|
54
52
|
<Timestamp publishedAt={1558353600} type="date" locale="en" />
|
|
55
53
|
</MetaItem>
|
|
56
54
|
</Meta>
|
|
57
|
-
<div className={styles.layout}>
|
|
58
|
-
<h3>Блочная</h3>
|
|
59
|
-
<MetaContainer
|
|
60
|
-
block={MetaMock}
|
|
61
|
-
lang="ru"
|
|
62
|
-
styleContext={[]}
|
|
63
|
-
isRead={false}
|
|
64
|
-
isListened={false}
|
|
65
|
-
isInBookmarks={false}
|
|
66
|
-
/>
|
|
67
|
-
</div>
|
|
68
|
-
<div
|
|
69
|
-
className={styles.layout}
|
|
70
|
-
style={
|
|
71
|
-
{
|
|
72
|
-
'--metaText': `pink`,
|
|
73
|
-
'--metaFill': 'currentColor'
|
|
74
|
-
} as React.CSSProperties
|
|
75
|
-
}
|
|
76
|
-
>
|
|
77
|
-
<h3>CSS Props</h3>
|
|
78
|
-
|
|
79
|
-
<Meta styleContext="isCustom">
|
|
80
|
-
<MetaItem bullets>
|
|
81
|
-
<MetaItemLive /> Онлайн
|
|
82
|
-
</MetaItem>
|
|
83
|
-
<MetaItem bullets>
|
|
84
|
-
Источник: <a href="https://meduza.io">Meduza</a>
|
|
85
|
-
</MetaItem>
|
|
86
|
-
<MetaItem bullets>
|
|
87
|
-
<Timestamp publishedAt={1558353600} type="date" locale="en" />
|
|
88
|
-
</MetaItem>
|
|
89
|
-
</Meta>
|
|
90
|
-
<div className={styles.layout}>
|
|
91
|
-
<h3>Блочная</h3>
|
|
92
|
-
<MetaContainer
|
|
93
|
-
block={MetaMock}
|
|
94
|
-
lang="ru"
|
|
95
|
-
styleContext={[]}
|
|
96
|
-
isRead={false}
|
|
97
|
-
isListened={false}
|
|
98
|
-
isInBookmarks={false}
|
|
99
|
-
/>
|
|
100
|
-
</div>
|
|
101
|
-
</div>
|
|
102
55
|
</div>
|
|
103
|
-
|
|
56
|
+
</>
|
|
104
57
|
)
|
|
105
58
|
}
|
|
106
59
|
|
|
@@ -133,14 +133,6 @@ export const MetaContainer: React.FC<MetaContainerProps> = ({
|
|
|
133
133
|
)
|
|
134
134
|
}
|
|
135
135
|
|
|
136
|
-
case 'string': {
|
|
137
|
-
return (
|
|
138
|
-
<MetaItem bullets key={component.id}>
|
|
139
|
-
{component.text}
|
|
140
|
-
</MetaItem>
|
|
141
|
-
)
|
|
142
|
-
}
|
|
143
|
-
|
|
144
136
|
default: {
|
|
145
137
|
return null
|
|
146
138
|
}
|
|
@@ -47,29 +47,27 @@
|
|
|
47
47
|
max-width: 420px;
|
|
48
48
|
min-height: 80px;
|
|
49
49
|
margin: 0 auto;
|
|
50
|
+
padding: 22px 20px 28px;
|
|
50
51
|
|
|
51
52
|
animation: disappear 350ms ease both;
|
|
52
|
-
|
|
53
|
-
border-radius: 8px 8px 0 0;
|
|
54
|
-
background-color: #fff;
|
|
55
53
|
}
|
|
56
54
|
|
|
57
55
|
.dismiss {
|
|
58
56
|
position: absolute;
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
right: 10px;
|
|
57
|
+
top: -23px;
|
|
58
|
+
left: 50%;
|
|
62
59
|
|
|
63
|
-
width:
|
|
64
|
-
height:
|
|
60
|
+
width: 50px;
|
|
61
|
+
height: 36px;
|
|
65
62
|
padding: 0;
|
|
66
63
|
|
|
67
|
-
|
|
64
|
+
transform: translateX(-50%);
|
|
68
65
|
|
|
66
|
+
opacity: 0.4;
|
|
69
67
|
border-width: 0;
|
|
70
|
-
border-radius:
|
|
71
|
-
background-color:
|
|
72
|
-
background-image: url("data:image/svg+xml,%3Csvg width='
|
|
68
|
+
border-radius: 0;
|
|
69
|
+
background-color: transparent;
|
|
70
|
+
background-image: url("data:image/svg+xml,%3Csvg width='17' height='7' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.445 1.832l6.946 4.63a2 2 0 0 0 2.218 0l6.946-4.63a1 1 0 1 0-1.11-1.664L8.5 4.798 1.555.168a1 1 0 1 0-1.11 1.664z' fill='%23F7F7F7' fill-rule='nonzero'/%3E%3C/svg%3E");
|
|
73
71
|
background-repeat: no-repeat;
|
|
74
72
|
background-position: center;
|
|
75
73
|
box-shadow: none;
|
|
@@ -77,55 +75,39 @@
|
|
|
77
75
|
appearance: none;
|
|
78
76
|
}
|
|
79
77
|
|
|
80
|
-
.
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
overflow-y: auto;
|
|
86
|
-
-webkit-overflow-scrolling: touch;
|
|
87
|
-
|
|
88
|
-
max-height: 68vh;
|
|
89
|
-
padding: 18px 20px 28px;
|
|
78
|
+
.background {
|
|
79
|
+
position: absolute;
|
|
80
|
+
z-index: -1;
|
|
81
|
+
top: 0;
|
|
82
|
+
left: 0;
|
|
90
83
|
|
|
91
|
-
|
|
84
|
+
overflow: hidden;
|
|
92
85
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
line-height: 22px;
|
|
86
|
+
width: 100%;
|
|
87
|
+
height: 100%;
|
|
96
88
|
|
|
97
|
-
|
|
89
|
+
border-radius: 8px 8px 0 0;
|
|
98
90
|
}
|
|
99
91
|
|
|
100
|
-
.
|
|
101
|
-
.body::after {
|
|
92
|
+
.background rect {
|
|
102
93
|
position: absolute;
|
|
103
|
-
right: 0;
|
|
104
|
-
left: 0;
|
|
105
94
|
|
|
106
|
-
|
|
95
|
+
width: 100%;
|
|
96
|
+
height: 100%;
|
|
107
97
|
}
|
|
108
98
|
|
|
109
|
-
.
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
height: 29px;
|
|
113
|
-
|
|
114
|
-
border-radius: 8px 8px 0 0;
|
|
115
|
-
background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
|
|
99
|
+
.visible .container {
|
|
100
|
+
animation: appear 350ms ease both;
|
|
116
101
|
}
|
|
117
102
|
|
|
118
|
-
.body
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
height:
|
|
122
|
-
|
|
123
|
-
background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
|
|
103
|
+
.body {
|
|
104
|
+
font-family: $secondaryFont;
|
|
105
|
+
font-size: 16px;
|
|
106
|
+
line-height: 22px;
|
|
124
107
|
}
|
|
125
108
|
|
|
126
109
|
.body h3 {
|
|
127
|
-
margin: 0 0
|
|
128
|
-
padding-right: 26px;
|
|
110
|
+
margin: 0 0 5px;
|
|
129
111
|
|
|
130
112
|
font-size: inherit;
|
|
131
113
|
font-weight: 700;
|
|
@@ -35,31 +35,7 @@ const Example: React.FC = () => {
|
|
|
35
35
|
setIsPopoverShown(false)
|
|
36
36
|
}}
|
|
37
37
|
>
|
|
38
|
-
|
|
39
|
-
<div>
|
|
40
|
-
<p>
|
|
41
|
-
«Летом 2007 года Лиду отправили подтягивать математику в
|
|
42
|
-
Боброво. К тому моменту Бебчук стал для нее „родной фигурой и
|
|
43
|
-
наставником, помогал, слушал“. В первые дни он парил ее голой в
|
|
44
|
-
бане. В доме Бебчука вместо кроватей стояли большие полати —
|
|
45
|
-
двухэтажная деревянная конструкция, на которой помещалось до 15
|
|
46
|
-
человек. Лида спала на втором этаже, Бебчук внизу. В одну из
|
|
47
|
-
ночей ей не удавалось заснуть, она ворочалась. Бебчук услышал.
|
|
48
|
-
„Не можешь уснуть? Иди сюда, будем вместе засыпать“. Лида
|
|
49
|
-
спустилась. „Забирайся под одеяло“, — сказал преподаватель. Так
|
|
50
|
-
и не сумев заснуть, Лида ночью вышла из дома». «Летом 2007 года
|
|
51
|
-
Лиду отправили подтягивать математику в Боброво. К тому моменту
|
|
52
|
-
Бебчук стал для нее „родной фигурой и наставником, помогал,
|
|
53
|
-
слушал“. В первые дни он парил ее голой в бане. В доме Бебчука
|
|
54
|
-
вместо кроватей стояли большие полати — двухэтажная деревянная
|
|
55
|
-
конструкция, на которой помещалось до 15 человек. Лида спала на
|
|
56
|
-
втором этаже, Бебчук внизу. В одну из ночей ей не удавалось
|
|
57
|
-
заснуть, она ворочалась. Бебчук услышал. „Не можешь уснуть? Иди
|
|
58
|
-
сюда, будем вместе засыпать“. Лида спустилась. „Забирайся под
|
|
59
|
-
одеяло“, — сказал преподаватель. Так и не сумев заснуть, Лида
|
|
60
|
-
ночью вышла из дома».
|
|
61
|
-
</p>
|
|
62
|
-
</div>
|
|
38
|
+
Здесь мог бы быть ваш компонент
|
|
63
39
|
</Popover>
|
|
64
40
|
)}
|
|
65
41
|
</div>
|
package/src/Popover/index.tsx
CHANGED
|
@@ -53,7 +53,27 @@ export const Popover: React.FC<PopoverProps> = ({ children, onClose }) => {
|
|
|
53
53
|
onClick={(): void => handleClose()}
|
|
54
54
|
aria-label="dismiss"
|
|
55
55
|
/>
|
|
56
|
-
|
|
56
|
+
<svg width="100%" className={styles.background}>
|
|
57
|
+
<defs>
|
|
58
|
+
<mask id="myMask" x="0" y="0" width="100%" height="100%">
|
|
59
|
+
<rect fill="white" y="0" width="100%" height="100%" x="0" />
|
|
60
|
+
<svg x="50%" overflow="visible">
|
|
61
|
+
<g transform="translate(-12 0)">
|
|
62
|
+
<path d="M4.61852778e-14,9.76996262e-15 L9.84597532,5.80270273 C11.0992017,6.54128882 12.6546044,6.54128882 13.9078308,5.80270273 L23.7538061,9.76996262e-15 L4.61852778e-14,9.76996262e-15 Z" />
|
|
63
|
+
</g>
|
|
64
|
+
</svg>
|
|
65
|
+
</mask>
|
|
66
|
+
</defs>
|
|
67
|
+
<rect
|
|
68
|
+
fill="#F7F7F7"
|
|
69
|
+
id="base-mask"
|
|
70
|
+
mask="url(#myMask)"
|
|
71
|
+
x="0"
|
|
72
|
+
y="0"
|
|
73
|
+
width="100%"
|
|
74
|
+
height="100%"
|
|
75
|
+
/>
|
|
76
|
+
</svg>
|
|
57
77
|
<div className={styles.body}>{children}</div>
|
|
58
78
|
</div>
|
|
59
79
|
</div>
|
|
@@ -6,6 +6,7 @@ import { Spoiler } from '../Spoiler'
|
|
|
6
6
|
import { HalfBlock } from '../HalfBlock'
|
|
7
7
|
import { Cover } from '../Cover'
|
|
8
8
|
import { RelatedRichBlock } from '../RelatedRichBlock'
|
|
9
|
+
import { ShopRelatedBlock } from '../ShopRelatedBlock'
|
|
9
10
|
import { BlockProvider } from '../utils/BlockContext'
|
|
10
11
|
|
|
11
12
|
export const RawHtmlBlock: React.FC<RawHtmlBlockProps> = ({
|
|
@@ -47,6 +48,10 @@ export const RawHtmlBlock: React.FC<RawHtmlBlockProps> = ({
|
|
|
47
48
|
return <RelatedRichBlock block={block} styleContext={styleContext} />
|
|
48
49
|
}
|
|
49
50
|
|
|
51
|
+
case 'related_shop': {
|
|
52
|
+
return <ShopRelatedBlock block={block} styleContext={styleContext} />
|
|
53
|
+
}
|
|
54
|
+
|
|
50
55
|
default: {
|
|
51
56
|
return (
|
|
52
57
|
<BlockProvider value={context}>
|
|
@@ -19,14 +19,6 @@
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
.root:last-child {
|
|
23
|
-
margin-bottom: 0;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.root:first-child {
|
|
27
|
-
margin-top: 0;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
22
|
.root::after {
|
|
31
23
|
position: absolute;
|
|
32
24
|
top: 0;
|
|
@@ -47,9 +39,7 @@
|
|
|
47
39
|
}
|
|
48
40
|
|
|
49
41
|
.root::after {
|
|
50
|
-
box-shadow:
|
|
51
|
-
inset 0 4px #b88b59,
|
|
52
|
-
inset 0 5px rgba(0, 0, 0, 0.2),
|
|
42
|
+
box-shadow: inset 0 4px #b88b59, inset 0 5px rgba(0, 0, 0, 0.2),
|
|
53
43
|
inset 0 0 0 1px rgba(0, 0, 0, 0.1);
|
|
54
44
|
}
|
|
55
45
|
|
|
@@ -18,7 +18,6 @@ import { MaterialNote } from '../MaterialNote'
|
|
|
18
18
|
import { SensitiveBlock } from '../SensitiveBlock'
|
|
19
19
|
import { DonatesTeaser } from '../DonatesTeaser'
|
|
20
20
|
import { AnnouncementInText } from '../AnnouncementInText'
|
|
21
|
-
import { RelatedBook } from '../RelatedBook'
|
|
22
21
|
|
|
23
22
|
export const RenderBlocks: React.FC<RenderBlocksProps> = ({
|
|
24
23
|
block,
|
|
@@ -75,7 +74,7 @@ export const RenderBlocks: React.FC<RenderBlocksProps> = ({
|
|
|
75
74
|
case 'divider':
|
|
76
75
|
case 'lead':
|
|
77
76
|
case 'lead_hr': {
|
|
78
|
-
return <SimpleBlock block={block} styleContext={styleContext} />
|
|
77
|
+
return <SimpleBlock block={block} styleContext={styleContext} id={block.id} />
|
|
79
78
|
}
|
|
80
79
|
|
|
81
80
|
case 'quote':
|
|
@@ -97,9 +96,6 @@ export const RenderBlocks: React.FC<RenderBlocksProps> = ({
|
|
|
97
96
|
case 'related': {
|
|
98
97
|
return <RelatedBlock block={block} styleContext={styleContext} />
|
|
99
98
|
}
|
|
100
|
-
case 'related_book': {
|
|
101
|
-
return <RelatedBook block={block} styleContext={styleContext} />
|
|
102
|
-
}
|
|
103
99
|
|
|
104
100
|
case 'source':
|
|
105
101
|
return <SourceBlock block={block} styleContext={styleContext} />
|