@alfalab/core-components-modal 6.0.10 → 6.0.12
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/Component.d.ts +12 -0
- package/Component.desktop.d.ts +5 -44
- package/Component.desktop.js +14 -43
- package/Component.js +65 -0
- package/Component.mobile.d.ts +5 -18
- package/Component.mobile.js +13 -21
- package/Component.responsive.d.ts +5 -21
- package/Component.responsive.js +12 -34
- package/ResponsiveContext.d.ts +5 -0
- package/ResponsiveContext.js +16 -0
- package/components/closer/Component.js +3 -3
- package/components/closer/index.css +4 -4
- package/components/content/Component.d.ts +3 -16
- package/components/content/Component.js +11 -1
- package/components/content/desktop.css +8 -8
- package/components/content/index.css +3 -3
- package/components/content/mobile.css +3 -3
- package/components/footer/Component.js +15 -2
- package/components/footer/desktop.css +9 -9
- package/components/footer/index.css +4 -4
- package/components/footer/layout.css +25 -25
- package/components/footer/mobile.css +3 -3
- package/components/header/Component.d.ts +49 -0
- package/components/header/Component.js +57 -5
- package/components/header/desktop.css +17 -17
- package/components/header/index.css +15 -15
- package/components/header/mobile.css +3 -3
- package/cssm/Component.d.ts +12 -0
- package/cssm/Component.desktop.d.ts +5 -44
- package/cssm/Component.desktop.js +22 -45
- package/cssm/Component.js +62 -0
- package/cssm/Component.mobile.d.ts +5 -18
- package/cssm/Component.mobile.js +20 -22
- package/cssm/Component.responsive.d.ts +5 -21
- package/cssm/Component.responsive.js +18 -39
- package/cssm/ResponsiveContext.d.ts +5 -0
- package/cssm/ResponsiveContext.js +16 -0
- package/cssm/components/closer/Component.js +1 -1
- package/cssm/components/content/Component.d.ts +3 -16
- package/cssm/components/content/Component.js +8 -0
- package/cssm/components/footer/Component.js +11 -0
- package/cssm/components/header/Component.d.ts +49 -0
- package/cssm/components/header/Component.js +55 -6
- package/cssm/desktop.js +13 -9
- package/cssm/index.d.ts +1 -0
- package/cssm/index.js +13 -19
- package/cssm/mobile.js +13 -9
- package/cssm/responsive.js +13 -19
- package/cssm/typings.d.ts +52 -0
- package/cssm/typings.js +2 -0
- package/desktop.css +9 -9
- package/desktop.js +7 -8
- package/esm/Component.d.ts +12 -0
- package/esm/Component.desktop.d.ts +5 -44
- package/esm/Component.desktop.js +15 -42
- package/esm/Component.js +55 -0
- package/esm/Component.mobile.d.ts +5 -18
- package/esm/Component.mobile.js +13 -20
- package/esm/Component.responsive.d.ts +5 -21
- package/esm/Component.responsive.js +13 -35
- package/esm/ResponsiveContext.d.ts +5 -0
- package/esm/ResponsiveContext.js +8 -0
- package/esm/components/closer/Component.js +3 -3
- package/esm/components/closer/index.css +4 -4
- package/esm/components/content/Component.d.ts +3 -16
- package/esm/components/content/Component.js +11 -1
- package/esm/components/content/desktop.css +8 -8
- package/esm/components/content/index.css +3 -3
- package/esm/components/content/mobile.css +3 -3
- package/esm/components/footer/Component.js +15 -2
- package/esm/components/footer/desktop.css +9 -9
- package/esm/components/footer/index.css +4 -4
- package/esm/components/footer/layout.css +25 -25
- package/esm/components/footer/mobile.css +3 -3
- package/esm/components/header/Component.d.ts +49 -0
- package/esm/components/header/Component.js +55 -4
- package/esm/components/header/desktop.css +17 -17
- package/esm/components/header/index.css +15 -15
- package/esm/components/header/mobile.css +3 -3
- package/esm/desktop.css +9 -9
- package/esm/desktop.js +7 -8
- package/esm/index.d.ts +1 -0
- package/esm/index.js +6 -13
- package/esm/mobile.css +2 -2
- package/esm/mobile.js +6 -7
- package/esm/responsive.js +6 -13
- package/esm/transitions.css +8 -8
- package/esm/{tslib.es6-cd2fa46f.d.ts → tslib.es6-056b72d0.d.ts} +0 -0
- package/esm/{tslib.es6-cd2fa46f.js → tslib.es6-056b72d0.js} +1 -1
- package/esm/typings.d.ts +52 -0
- package/esm/typings.js +1 -0
- package/index.d.ts +1 -0
- package/index.js +6 -13
- package/mobile.css +2 -2
- package/mobile.js +6 -7
- package/modern/Component.d.ts +12 -0
- package/modern/Component.desktop.d.ts +5 -44
- package/modern/Component.desktop.js +14 -44
- package/modern/Component.js +62 -0
- package/modern/Component.mobile.d.ts +5 -18
- package/modern/Component.mobile.js +12 -19
- package/modern/Component.responsive.d.ts +5 -21
- package/modern/Component.responsive.js +12 -34
- package/modern/ResponsiveContext.d.ts +5 -0
- package/modern/ResponsiveContext.js +8 -0
- package/modern/components/closer/Component.js +2 -2
- package/modern/components/closer/index.css +4 -4
- package/modern/components/content/Component.d.ts +3 -16
- package/modern/components/content/Component.js +11 -1
- package/modern/components/content/desktop.css +8 -8
- package/modern/components/content/index.css +3 -3
- package/modern/components/content/mobile.css +3 -3
- package/modern/components/footer/Component.js +15 -2
- package/modern/components/footer/desktop.css +9 -9
- package/modern/components/footer/index.css +4 -4
- package/modern/components/footer/layout.css +25 -25
- package/modern/components/footer/mobile.css +3 -3
- package/modern/components/header/Component.d.ts +49 -0
- package/modern/components/header/Component.js +52 -4
- package/modern/components/header/desktop.css +17 -17
- package/modern/components/header/index.css +15 -15
- package/modern/components/header/mobile.css +3 -3
- package/modern/desktop.css +9 -9
- package/modern/desktop.js +6 -7
- package/modern/index.d.ts +1 -0
- package/modern/index.js +5 -12
- package/modern/mobile.css +2 -2
- package/modern/mobile.js +5 -6
- package/modern/responsive.js +5 -12
- package/modern/transitions.css +8 -8
- package/modern/typings.d.ts +52 -0
- package/modern/typings.js +1 -0
- package/package.json +4 -4
- package/responsive.js +6 -13
- package/send-stats.js +1 -1
- package/transitions.css +8 -8
- package/{tslib.es6-93e97f54.d.ts → tslib.es6-0c9325d7.d.ts} +0 -0
- package/{tslib.es6-93e97f54.js → tslib.es6-0c9325d7.js} +0 -0
- package/typings.d.ts +52 -0
- package/typings.js +2 -0
- package/Component-cacd0e72.d.ts +0 -50
- package/Component-cacd0e72.js +0 -43
- package/components/content/Component.desktop.d.ts +0 -11
- package/components/content/Component.desktop.js +0 -25
- package/components/content/Component.mobile.d.ts +0 -5
- package/components/content/Component.mobile.js +0 -25
- package/components/footer/Component.desktop.d.ts +0 -11
- package/components/footer/Component.desktop.js +0 -28
- package/components/footer/Component.mobile.d.ts +0 -5
- package/components/footer/Component.mobile.js +0 -28
- package/components/header/Component.desktop.d.ts +0 -15
- package/components/header/Component.desktop.js +0 -33
- package/components/header/Component.mobile.d.ts +0 -10
- package/components/header/Component.mobile.js +0 -33
- package/cssm/Component-5fe52731.d.ts +0 -50
- package/cssm/Component-5fe52731.js +0 -42
- package/cssm/components/content/Component.desktop.d.ts +0 -11
- package/cssm/components/content/Component.desktop.js +0 -25
- package/cssm/components/content/Component.mobile.d.ts +0 -5
- package/cssm/components/content/Component.mobile.js +0 -25
- package/cssm/components/footer/Component.desktop.d.ts +0 -11
- package/cssm/components/footer/Component.desktop.js +0 -29
- package/cssm/components/footer/Component.mobile.d.ts +0 -5
- package/cssm/components/footer/Component.mobile.js +0 -29
- package/cssm/components/header/Component.desktop.d.ts +0 -15
- package/cssm/components/header/Component.desktop.js +0 -34
- package/cssm/components/header/Component.mobile.d.ts +0 -10
- package/cssm/components/header/Component.mobile.js +0 -34
- package/cssm/getDataTestId-3fe0d3e6.d.ts +0 -2
- package/esm/Component-f9c8a7ff.d.ts +0 -50
- package/esm/Component-f9c8a7ff.js +0 -35
- package/esm/components/content/Component.desktop.d.ts +0 -11
- package/esm/components/content/Component.desktop.js +0 -16
- package/esm/components/content/Component.mobile.d.ts +0 -5
- package/esm/components/content/Component.mobile.js +0 -16
- package/esm/components/footer/Component.desktop.d.ts +0 -11
- package/esm/components/footer/Component.desktop.js +0 -19
- package/esm/components/footer/Component.mobile.d.ts +0 -5
- package/esm/components/footer/Component.mobile.js +0 -19
- package/esm/components/header/Component.desktop.d.ts +0 -15
- package/esm/components/header/Component.desktop.js +0 -24
- package/esm/components/header/Component.mobile.d.ts +0 -10
- package/esm/components/header/Component.mobile.js +0 -23
- package/esm/getDataTestId-3fe0d3e6.d.ts +0 -2
- package/esm/transitions.module-a1e3a16d.js +0 -4
- package/getDataTestId-3fe0d3e6.d.ts +0 -2
- package/modern/Component-dc6c12bd.d.ts +0 -50
- package/modern/Component-dc6c12bd.js +0 -33
- package/modern/components/content/Component.desktop.d.ts +0 -11
- package/modern/components/content/Component.desktop.js +0 -12
- package/modern/components/content/Component.mobile.d.ts +0 -5
- package/modern/components/content/Component.mobile.js +0 -12
- package/modern/components/footer/Component.desktop.d.ts +0 -11
- package/modern/components/footer/Component.desktop.js +0 -14
- package/modern/components/footer/Component.mobile.d.ts +0 -5
- package/modern/components/footer/Component.mobile.js +0 -14
- package/modern/components/header/Component.desktop.d.ts +0 -15
- package/modern/components/header/Component.desktop.js +0 -21
- package/modern/components/header/Component.mobile.d.ts +0 -10
- package/modern/components/header/Component.mobile.js +0 -18
- package/modern/getDataTestId-3fe0d3e6.d.ts +0 -2
- package/modern/transitions.module-a1e3a16d.js +0 -4
- package/transitions.module-fc7cacd3.js +0 -6
|
@@ -6,28 +6,41 @@ var React = require('react');
|
|
|
6
6
|
var cn = require('classnames');
|
|
7
7
|
require('@alfalab/core-components-base-modal');
|
|
8
8
|
var Context = require('../../Context.js');
|
|
9
|
+
var ResponsiveContext = require('../../ResponsiveContext.js');
|
|
9
10
|
|
|
10
11
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
12
|
|
|
12
13
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
13
14
|
var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
|
|
14
15
|
|
|
15
|
-
var
|
|
16
|
+
var desktopStyles = {"footer":"modal__footer_mf0hw","sticky":"modal__sticky_mf0hw","fullscreen":"modal__fullscreen_mf0hw","s":"modal__s_mf0hw","m":"modal__m_mf0hw","l":"modal__l_mf0hw","xl":"modal__xl_mf0hw"};
|
|
17
|
+
require('./desktop.css')
|
|
18
|
+
|
|
19
|
+
var styles = {"footer":"modal__footer_1nmkm","sticky":"modal__sticky_1nmkm","highlighted":"modal__highlighted_1nmkm"};
|
|
16
20
|
require('./index.css')
|
|
17
21
|
|
|
18
|
-
var layoutStyles = {"column":"
|
|
22
|
+
var layoutStyles = {"column":"modal__column_1ij0s","gap-16":"modal__gap-16_1ij0s","gap-24":"modal__gap-24_1ij0s","gap-32":"modal__gap-32_1ij0s","start":"modal__start_1ij0s","center":"modal__center_1ij0s","space-between":"modal__space-between_1ij0s"};
|
|
19
23
|
require('./layout.css')
|
|
20
24
|
|
|
25
|
+
var mobileStyles = {"footer":"modal__footer_q351w","sticky":"modal__sticky_q351w"};
|
|
26
|
+
require('./mobile.css')
|
|
27
|
+
|
|
21
28
|
var Footer = function (_a) {
|
|
22
29
|
var _b;
|
|
23
30
|
var children = _a.children, className = _a.className, sticky = _a.sticky, _c = _a.layout, layout = _c === void 0 ? 'start' : _c, gap = _a.gap;
|
|
24
31
|
var _d = React.useContext(Context.ModalContext), footerHighlighted = _d.footerHighlighted, setHasFooter = _d.setHasFooter;
|
|
32
|
+
var _e = React.useContext(ResponsiveContext.ResponsiveContext), size = _e.size, view = _e.view;
|
|
25
33
|
React.useEffect(function () {
|
|
26
34
|
setHasFooter(true);
|
|
27
35
|
}, [setHasFooter]);
|
|
28
36
|
return (React__default['default'].createElement("div", { className: cn__default['default'](styles.footer, className, layoutStyles[layout], gap && layoutStyles["gap-" + gap], (_b = {},
|
|
29
37
|
_b[styles.highlighted] = sticky && footerHighlighted,
|
|
30
38
|
_b[styles.sticky] = sticky,
|
|
39
|
+
_b[desktopStyles.footer] = view === 'desktop',
|
|
40
|
+
_b[desktopStyles.sticky] = view === 'desktop' && sticky,
|
|
41
|
+
_b[desktopStyles[size]] = view === 'desktop',
|
|
42
|
+
_b[mobileStyles.footer] = view === 'mobile',
|
|
43
|
+
_b[mobileStyles.sticky] = view === 'mobile' && sticky,
|
|
31
44
|
_b)) }, children));
|
|
32
45
|
};
|
|
33
46
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 1l1qv */
|
|
2
2
|
:root {
|
|
3
3
|
|
|
4
4
|
/* Hard */
|
|
@@ -31,22 +31,22 @@
|
|
|
31
31
|
|
|
32
32
|
/* mobile */
|
|
33
33
|
}
|
|
34
|
-
.
|
|
34
|
+
.modal__footer_mf0hw {
|
|
35
35
|
border-bottom-left-radius: var(--modal-border-radius);
|
|
36
36
|
border-bottom-right-radius: var(--modal-border-radius);
|
|
37
37
|
}
|
|
38
|
-
.
|
|
38
|
+
.modal__sticky_mf0hw {
|
|
39
39
|
bottom: calc(var(--modal-vertical-padding) * -1)
|
|
40
40
|
}
|
|
41
|
-
.
|
|
41
|
+
.modal__sticky_mf0hw.modal__fullscreen_mf0hw {
|
|
42
42
|
bottom: 0;
|
|
43
43
|
}
|
|
44
|
-
.
|
|
45
|
-
.
|
|
44
|
+
.modal__s_mf0hw,
|
|
45
|
+
.modal__m_mf0hw {
|
|
46
46
|
padding: var(--modal-s-footer-paddings);
|
|
47
47
|
}
|
|
48
|
-
.
|
|
49
|
-
.
|
|
50
|
-
.
|
|
48
|
+
.modal__l_mf0hw,
|
|
49
|
+
.modal__xl_mf0hw,
|
|
50
|
+
.modal__fullscreen_mf0hw {
|
|
51
51
|
padding: var(--gap-2xl) var(--gap-6xl) var(--gap-6xl);
|
|
52
52
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 1d8ry */
|
|
2
2
|
:root {
|
|
3
3
|
--color-light-bg-primary: #fff;
|
|
4
4
|
--color-light-border-primary: #dbdee1;
|
|
@@ -26,16 +26,16 @@
|
|
|
26
26
|
|
|
27
27
|
/* mobile */
|
|
28
28
|
}
|
|
29
|
-
.
|
|
29
|
+
.modal__footer_1nmkm {
|
|
30
30
|
width: 100%;
|
|
31
31
|
box-sizing: border-box;
|
|
32
32
|
transition: box-shadow 0.2s ease, background 0.2s ease;
|
|
33
33
|
}
|
|
34
|
-
.
|
|
34
|
+
.modal__sticky_1nmkm {
|
|
35
35
|
background: var(--modal-footer-background);
|
|
36
36
|
position: sticky;
|
|
37
37
|
}
|
|
38
|
-
.
|
|
38
|
+
.modal__highlighted_1nmkm {
|
|
39
39
|
background: var(--modal-footer-highlight-background);
|
|
40
40
|
box-shadow: var(--modal-footer-highlight-box-shadow);
|
|
41
41
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: hkbzt */
|
|
2
2
|
:root {
|
|
3
3
|
|
|
4
4
|
/* Hard */
|
|
@@ -25,60 +25,60 @@
|
|
|
25
25
|
|
|
26
26
|
/* mobile */
|
|
27
27
|
}
|
|
28
|
-
.
|
|
28
|
+
.modal__column_1ij0s {
|
|
29
29
|
display: flex;
|
|
30
30
|
flex-direction: column
|
|
31
31
|
}
|
|
32
|
-
.
|
|
32
|
+
.modal__column_1ij0s > * {
|
|
33
33
|
margin-bottom: var(--modal-footer-default-gap);
|
|
34
34
|
}
|
|
35
|
-
.
|
|
36
|
-
.
|
|
35
|
+
.modal__column_1ij0s > *:last-child,
|
|
36
|
+
.modal__column_1ij0s > *:only-child {
|
|
37
37
|
margin-bottom: 0;
|
|
38
38
|
}
|
|
39
|
-
.
|
|
39
|
+
.modal__column_1ij0s.modal__gap-16_1ij0s > * {
|
|
40
40
|
margin-bottom: var(--gap-m);
|
|
41
41
|
}
|
|
42
|
-
.
|
|
42
|
+
.modal__column_1ij0s.modal__gap-24_1ij0s > * {
|
|
43
43
|
margin-bottom: var(--gap-xl);
|
|
44
44
|
}
|
|
45
|
-
.
|
|
45
|
+
.modal__column_1ij0s.modal__gap-32_1ij0s > * {
|
|
46
46
|
margin-bottom: var(--gap-2xl);
|
|
47
47
|
}
|
|
48
|
-
.
|
|
48
|
+
.modal__start_1ij0s {
|
|
49
49
|
justify-content: flex-start;
|
|
50
50
|
}
|
|
51
|
-
.
|
|
51
|
+
.modal__center_1ij0s {
|
|
52
52
|
justify-content: center;
|
|
53
53
|
}
|
|
54
|
-
.modal__space-
|
|
54
|
+
.modal__space-between_1ij0s {
|
|
55
55
|
justify-content: space-between
|
|
56
56
|
}
|
|
57
|
-
.modal__space-
|
|
57
|
+
.modal__space-between_1ij0s > * {
|
|
58
58
|
flex: 1;
|
|
59
59
|
}
|
|
60
|
-
.
|
|
61
|
-
.
|
|
62
|
-
.modal__space-
|
|
60
|
+
.modal__start_1ij0s,
|
|
61
|
+
.modal__center_1ij0s,
|
|
62
|
+
.modal__space-between_1ij0s {
|
|
63
63
|
display: flex
|
|
64
64
|
}
|
|
65
|
-
.
|
|
65
|
+
.modal__start_1ij0s > *, .modal__center_1ij0s > *, .modal__space-between_1ij0s > * {
|
|
66
66
|
margin-right: var(--modal-footer-default-gap);
|
|
67
67
|
}
|
|
68
|
-
.
|
|
69
|
-
.
|
|
70
|
-
.
|
|
71
|
-
.
|
|
72
|
-
.modal__space-
|
|
73
|
-
.modal__space-
|
|
68
|
+
.modal__start_1ij0s > *:last-child,
|
|
69
|
+
.modal__start_1ij0s > *:only-child,
|
|
70
|
+
.modal__center_1ij0s > *:last-child,
|
|
71
|
+
.modal__center_1ij0s > *:only-child,
|
|
72
|
+
.modal__space-between_1ij0s > *:last-child,
|
|
73
|
+
.modal__space-between_1ij0s > *:only-child {
|
|
74
74
|
margin-right: 0;
|
|
75
75
|
}
|
|
76
|
-
.
|
|
76
|
+
.modal__start_1ij0s.modal__gap-16_1ij0s > *, .modal__center_1ij0s.modal__gap-16_1ij0s > *, .modal__space-between_1ij0s.modal__gap-16_1ij0s > * {
|
|
77
77
|
margin-right: var(--gap-m);
|
|
78
78
|
}
|
|
79
|
-
.
|
|
79
|
+
.modal__start_1ij0s.modal__gap-24_1ij0s > *, .modal__center_1ij0s.modal__gap-24_1ij0s > *, .modal__space-between_1ij0s.modal__gap-24_1ij0s > * {
|
|
80
80
|
margin-right: var(--gap-xl);
|
|
81
81
|
}
|
|
82
|
-
.
|
|
82
|
+
.modal__start_1ij0s.modal__gap-32_1ij0s > *, .modal__center_1ij0s.modal__gap-32_1ij0s > *, .modal__space-between_1ij0s.modal__gap-32_1ij0s > * {
|
|
83
83
|
margin-right: var(--gap-2xl);
|
|
84
84
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 1lggp */
|
|
2
2
|
:root {
|
|
3
3
|
|
|
4
4
|
/* Hard */
|
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
|
|
23
23
|
/* mobile */
|
|
24
24
|
}
|
|
25
|
-
.
|
|
25
|
+
.modal__footer_q351w {
|
|
26
26
|
padding: var(--gap-m);
|
|
27
27
|
}
|
|
28
|
-
.
|
|
28
|
+
.modal__sticky_q351w {
|
|
29
29
|
bottom: 0;
|
|
30
30
|
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { FC, ReactNode } from 'react';
|
|
2
|
+
type HeaderProps = {
|
|
3
|
+
/**
|
|
4
|
+
* Контент шапки
|
|
5
|
+
*/
|
|
6
|
+
children?: ReactNode;
|
|
7
|
+
/**
|
|
8
|
+
* Слот слева
|
|
9
|
+
*/
|
|
10
|
+
leftAddons?: ReactNode;
|
|
11
|
+
/**
|
|
12
|
+
* Наличие компонента крестика
|
|
13
|
+
*/
|
|
14
|
+
hasCloser?: ReactNode;
|
|
15
|
+
/**
|
|
16
|
+
* Дополнительный класс
|
|
17
|
+
*/
|
|
18
|
+
className?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Дополнительный класс для аддонов
|
|
21
|
+
*/
|
|
22
|
+
addonClassName?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Дополнительный класс для контента
|
|
25
|
+
*/
|
|
26
|
+
contentClassName?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Заголовок шапки
|
|
29
|
+
*/
|
|
30
|
+
title?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Выравнивание заголовка
|
|
33
|
+
*/
|
|
34
|
+
align?: 'left' | 'center';
|
|
35
|
+
/**
|
|
36
|
+
* Обрезать ли заголовок
|
|
37
|
+
*/
|
|
38
|
+
trim?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Фиксирует шапку
|
|
41
|
+
*/
|
|
42
|
+
sticky?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Идентификатор для систем автоматизированного тестирования
|
|
45
|
+
*/
|
|
46
|
+
dataTestId?: string;
|
|
47
|
+
};
|
|
48
|
+
declare const Header: FC<HeaderProps>;
|
|
49
|
+
export { HeaderProps, Header };
|
|
@@ -2,12 +2,64 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
require('
|
|
6
|
-
require('
|
|
5
|
+
require('../../tslib.es6-0c9325d7.js');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var cn = require('classnames');
|
|
8
|
+
require('@alfalab/core-components-icon-button');
|
|
9
|
+
require('@alfalab/icons-glyph/CrossHeavyMIcon');
|
|
7
10
|
require('@alfalab/core-components-base-modal');
|
|
8
|
-
require('../../Context.js');
|
|
9
|
-
var
|
|
11
|
+
var Context = require('../../Context.js');
|
|
12
|
+
var components_closer_Component = require('../closer/Component.js');
|
|
13
|
+
var ResponsiveContext = require('../../ResponsiveContext.js');
|
|
14
|
+
var CrossMIcon = require('@alfalab/icons-glyph/CrossMIcon');
|
|
10
15
|
|
|
16
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
17
|
|
|
18
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
19
|
+
var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
|
|
12
20
|
|
|
13
|
-
|
|
21
|
+
var getDataTestId = function (dataTestId, element) {
|
|
22
|
+
var elementPart = element ? "-" + element.toLowerCase() : '';
|
|
23
|
+
return dataTestId ? "" + dataTestId + elementPart : undefined;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
var desktopStyles = {"header":"modal__header_xgu5m","content":"modal__content_xgu5m","s":"modal__s_xgu5m","m":"modal__m_xgu5m","l":"modal__l_xgu5m","xl":"modal__xl_xgu5m","fullscreen":"modal__fullscreen_xgu5m","hasContent":"modal__hasContent_xgu5m","sticky":"modal__sticky_xgu5m"};
|
|
27
|
+
require('./desktop.css')
|
|
28
|
+
|
|
29
|
+
var styles = {"header":"modal__header_f5byq","hasContent":"modal__hasContent_f5byq","highlighted":"modal__highlighted_f5byq","sticky":"modal__sticky_f5byq","content":"modal__content_f5byq","title":"modal__title_f5byq","addon":"modal__addon_f5byq","closer":"modal__closer_f5byq","left":"modal__left_f5byq","center":"modal__center_f5byq","right":"modal__right_f5byq","trim":"modal__trim_f5byq"};
|
|
30
|
+
require('./index.css')
|
|
31
|
+
|
|
32
|
+
var mobileStyles = {"sticky":"modal__sticky_15fng","content":"modal__content_15fng"};
|
|
33
|
+
require('./mobile.css')
|
|
34
|
+
|
|
35
|
+
var Header = function (_a) {
|
|
36
|
+
var _b, _c;
|
|
37
|
+
var className = _a.className, addonClassName = _a.addonClassName, contentClassName = _a.contentClassName, leftAddons = _a.leftAddons, children = _a.children, _d = _a.align, align = _d === void 0 ? 'left' : _d, _e = _a.trim, trim = _e === void 0 ? true : _e, title = _a.title, _f = _a.hasCloser, hasCloser = _f === void 0 ? true : _f, sticky = _a.sticky, dataTestId = _a.dataTestId;
|
|
38
|
+
var _g = React.useContext(Context.ModalContext), headerHighlighted = _g.headerHighlighted, setHasHeader = _g.setHasHeader;
|
|
39
|
+
var _h = React.useContext(ResponsiveContext.ResponsiveContext), size = _h.size, view = _h.view;
|
|
40
|
+
var hasContent = title || Boolean(children);
|
|
41
|
+
React.useEffect(function () {
|
|
42
|
+
setHasHeader(true);
|
|
43
|
+
}, [setHasHeader]);
|
|
44
|
+
return (React__default['default'].createElement("div", { className: cn__default['default'](styles.header, className, (_b = {},
|
|
45
|
+
_b[styles.highlighted] = hasContent && sticky && headerHighlighted,
|
|
46
|
+
_b[styles.sticky] = sticky,
|
|
47
|
+
_b[styles.hasContent] = hasContent,
|
|
48
|
+
_b[desktopStyles.header] = view === 'desktop',
|
|
49
|
+
_b[desktopStyles.hasContent] = view === 'desktop' && hasContent,
|
|
50
|
+
_b[desktopStyles.sticky] = view === 'desktop' && sticky,
|
|
51
|
+
_b[desktopStyles[size]] = view === 'desktop',
|
|
52
|
+
_b[mobileStyles.sticky] = view === 'mobile' && sticky,
|
|
53
|
+
_b)), "data-test-id": getDataTestId(dataTestId) },
|
|
54
|
+
(leftAddons || view === 'desktop') && (React__default['default'].createElement("div", { className: cn__default['default'](styles.addon, addonClassName) }, leftAddons)),
|
|
55
|
+
hasContent && (React__default['default'].createElement("div", { className: cn__default['default'](styles.content, contentClassName, styles[align], (_c = {},
|
|
56
|
+
_c[styles.trim] = trim,
|
|
57
|
+
_c[desktopStyles.content] = view === 'desktop',
|
|
58
|
+
_c[mobileStyles.content] = view === 'mobile',
|
|
59
|
+
_c)) },
|
|
60
|
+
children,
|
|
61
|
+
title && (React__default['default'].createElement("div", { className: styles.title, "data-test-id": getDataTestId(dataTestId, 'title') }, title)))),
|
|
62
|
+
hasCloser && (React__default['default'].createElement("div", { className: cn__default['default'](styles.addon, styles.closer, addonClassName) }, view === 'desktop' ? (React__default['default'].createElement(components_closer_Component.Closer, { dataTestId: getDataTestId(dataTestId, 'closer') })) : (React__default['default'].createElement(components_closer_Component.Closer, { icon: CrossMIcon.CrossMIcon, size: 'xs', dataTestId: getDataTestId(dataTestId, 'closer') }))))));
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
exports.Header = Header;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 18ti8 */
|
|
2
2
|
:root {
|
|
3
3
|
|
|
4
4
|
/* Hard */
|
|
@@ -43,45 +43,45 @@
|
|
|
43
43
|
|
|
44
44
|
/* mobile */
|
|
45
45
|
}
|
|
46
|
-
.
|
|
46
|
+
.modal__header_xgu5m {
|
|
47
47
|
border-top-left-radius: var(--modal-border-radius);
|
|
48
48
|
border-top-right-radius: var(--modal-border-radius);
|
|
49
49
|
}
|
|
50
|
-
.
|
|
50
|
+
.modal__content_xgu5m {
|
|
51
51
|
font-weight: var(--modal-header-desktop-font-weight);
|
|
52
52
|
font-family: var(--modal-header-desktop-font-family);
|
|
53
53
|
}
|
|
54
|
-
.
|
|
55
|
-
.
|
|
54
|
+
.modal__s_xgu5m .modal__content_xgu5m,
|
|
55
|
+
.modal__m_xgu5m .modal__content_xgu5m {
|
|
56
56
|
padding: var(--modal-s-header-desktop-content-paddings);
|
|
57
57
|
font-size: var(--modal-s-header-desktop-font-size);
|
|
58
58
|
line-height: var(--modal-s-header-desktop-line-height);
|
|
59
59
|
}
|
|
60
|
-
.
|
|
61
|
-
.
|
|
62
|
-
.
|
|
60
|
+
.modal__l_xgu5m .modal__content_xgu5m,
|
|
61
|
+
.modal__xl_xgu5m .modal__content_xgu5m,
|
|
62
|
+
.modal__fullscreen_xgu5m .modal__content_xgu5m {
|
|
63
63
|
padding: var(--modal-l-header-desktop-content-paddings);
|
|
64
64
|
font-size: var(--modal-l-header-desktop-font-size);
|
|
65
65
|
line-height: var(--modal-l-header-desktop-line-height);
|
|
66
66
|
}
|
|
67
|
-
.
|
|
68
|
-
.
|
|
67
|
+
.modal__s_xgu5m,
|
|
68
|
+
.modal__m_xgu5m {
|
|
69
69
|
padding: var(--modal-s-header-paddings)
|
|
70
70
|
}
|
|
71
|
-
.
|
|
71
|
+
.modal__s_xgu5m:not(.modal__hasContent_xgu5m), .modal__m_xgu5m:not(.modal__hasContent_xgu5m) {
|
|
72
72
|
padding-bottom: 0;
|
|
73
73
|
}
|
|
74
|
-
.
|
|
75
|
-
.
|
|
76
|
-
.
|
|
74
|
+
.modal__l_xgu5m,
|
|
75
|
+
.modal__xl_xgu5m,
|
|
76
|
+
.modal__fullscreen_xgu5m {
|
|
77
77
|
padding: var(--gap-xl) var(--gap-xl) var(--gap-m)
|
|
78
78
|
}
|
|
79
|
-
.
|
|
79
|
+
.modal__l_xgu5m:not(.modal__hasContent_xgu5m), .modal__xl_xgu5m:not(.modal__hasContent_xgu5m), .modal__fullscreen_xgu5m:not(.modal__hasContent_xgu5m) {
|
|
80
80
|
padding-bottom: var(--gap-m);
|
|
81
81
|
}
|
|
82
|
-
.
|
|
82
|
+
.modal__sticky_xgu5m {
|
|
83
83
|
top: calc(var(--modal-vertical-padding) * -1)
|
|
84
84
|
}
|
|
85
|
-
.
|
|
85
|
+
.modal__sticky_xgu5m.modal__fullscreen_xgu5m {
|
|
86
86
|
top: 0;
|
|
87
87
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 1hn7b */
|
|
2
2
|
:root {
|
|
3
3
|
--color-light-bg-primary: #fff;
|
|
4
4
|
}
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
/* mobile */
|
|
27
27
|
}
|
|
28
|
-
.
|
|
28
|
+
.modal__header_f5byq {
|
|
29
29
|
width: 100%;
|
|
30
30
|
box-sizing: border-box;
|
|
31
31
|
display: flex;
|
|
@@ -33,26 +33,26 @@
|
|
|
33
33
|
justify-content: space-between;
|
|
34
34
|
transition: box-shadow 0.2s ease, background 0.2s ease
|
|
35
35
|
}
|
|
36
|
-
.
|
|
36
|
+
.modal__header_f5byq:not(.modal__hasContent_f5byq) {
|
|
37
37
|
pointer-events: none;
|
|
38
38
|
}
|
|
39
|
-
.
|
|
39
|
+
.modal__highlighted_f5byq {
|
|
40
40
|
background: var(--modal-header-highlight-background);
|
|
41
41
|
box-shadow: var(--modal-header-highlight-box-shadow);
|
|
42
42
|
}
|
|
43
|
-
.
|
|
43
|
+
.modal__sticky_f5byq {
|
|
44
44
|
position: sticky
|
|
45
45
|
}
|
|
46
|
-
.
|
|
46
|
+
.modal__sticky_f5byq.modal__hasContent_f5byq {
|
|
47
47
|
background: var(--modal-header-background);
|
|
48
48
|
}
|
|
49
|
-
.
|
|
49
|
+
.modal__content_f5byq {
|
|
50
50
|
flex-grow: 1;
|
|
51
51
|
}
|
|
52
|
-
.
|
|
52
|
+
.modal__title_f5byq {
|
|
53
53
|
word-break: break-word;
|
|
54
54
|
}
|
|
55
|
-
.
|
|
55
|
+
.modal__addon_f5byq {
|
|
56
56
|
min-width: 48px;
|
|
57
57
|
height: 48px;
|
|
58
58
|
display: flex;
|
|
@@ -60,25 +60,25 @@
|
|
|
60
60
|
align-items: center;
|
|
61
61
|
pointer-events: all;
|
|
62
62
|
}
|
|
63
|
-
.
|
|
63
|
+
.modal__closer_f5byq {
|
|
64
64
|
margin-left: auto;
|
|
65
65
|
}
|
|
66
|
-
.
|
|
66
|
+
.modal__left_f5byq {
|
|
67
67
|
justify-content: flex-start;
|
|
68
68
|
text-align: left;
|
|
69
69
|
}
|
|
70
|
-
.
|
|
70
|
+
.modal__center_f5byq {
|
|
71
71
|
justify-content: center;
|
|
72
72
|
text-align: center;
|
|
73
73
|
}
|
|
74
|
-
.
|
|
74
|
+
.modal__right_f5byq {
|
|
75
75
|
justify-content: flex-end;
|
|
76
76
|
text-align: right;
|
|
77
77
|
}
|
|
78
|
-
.
|
|
78
|
+
.modal__trim_f5byq {
|
|
79
79
|
overflow: hidden
|
|
80
80
|
}
|
|
81
|
-
.
|
|
81
|
+
.modal__trim_f5byq .modal__title_f5byq {
|
|
82
82
|
overflow: hidden;
|
|
83
83
|
white-space: nowrap;
|
|
84
84
|
text-overflow: ellipsis;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 1f6lr */
|
|
2
2
|
:root {
|
|
3
3
|
|
|
4
4
|
/* Hard */
|
|
@@ -33,10 +33,10 @@
|
|
|
33
33
|
--modal-header-mobile-font-family: var(--font-family-system);
|
|
34
34
|
--modal-header-mobile-font-weight: bold;
|
|
35
35
|
}
|
|
36
|
-
.
|
|
36
|
+
.modal__sticky_15fng {
|
|
37
37
|
top: 0;
|
|
38
38
|
}
|
|
39
|
-
.
|
|
39
|
+
.modal__content_15fng {
|
|
40
40
|
font-size: var(--modal-header-mobile-font-size);
|
|
41
41
|
line-height: var(--modal-header-mobile-line-height);
|
|
42
42
|
font-family: var(--modal-header-mobile-font-family);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { View } from "./typings";
|
|
4
|
+
declare const Modal: React.ForwardRefExoticComponent<import("@alfalab/core-components-base-modal").BaseModalProps & {
|
|
5
|
+
size?: "s" | "m" | "l" | "xl" | "fullscreen" | undefined;
|
|
6
|
+
fullscreen?: boolean | undefined;
|
|
7
|
+
fixedPosition?: boolean | undefined;
|
|
8
|
+
hasCloser?: boolean | undefined;
|
|
9
|
+
} & {
|
|
10
|
+
view: View;
|
|
11
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
12
|
+
export { Modal };
|
|
@@ -1,53 +1,14 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import React from 'react';
|
|
3
|
-
|
|
4
|
-
type ModalDesktopProps = BaseModalProps & {
|
|
5
|
-
/**
|
|
6
|
-
* Ширина модального окна
|
|
7
|
-
* @default "m"
|
|
8
|
-
*/
|
|
9
|
-
size?: 's' | 'm' | 'l' | 'xl' | 'fullscreen';
|
|
10
|
-
/**
|
|
11
|
-
* Растягивает модальное окно на весь экран
|
|
12
|
-
* @deprecated Используйте размер fullscreen
|
|
13
|
-
*/
|
|
14
|
-
fullscreen?: boolean;
|
|
15
|
-
/**
|
|
16
|
-
* Фиксирует позицию модального окна после открытия,
|
|
17
|
-
* предотвращая скачки, если контент внутри будет меняться
|
|
18
|
-
*/
|
|
19
|
-
fixedPosition?: boolean;
|
|
20
|
-
/**
|
|
21
|
-
* Управление наличием закрывающего крестика
|
|
22
|
-
* @default false
|
|
23
|
-
*/
|
|
24
|
-
hasCloser?: boolean;
|
|
25
|
-
};
|
|
26
|
-
declare const ModalDesktop: React.ForwardRefExoticComponent<BaseModalProps & {
|
|
27
|
-
/**
|
|
28
|
-
* Ширина модального окна
|
|
29
|
-
* @default "m"
|
|
30
|
-
*/
|
|
3
|
+
declare const ModalDesktop: React.ForwardRefExoticComponent<import("packages/base-modal/src").BaseModalProps & {
|
|
31
4
|
size?: "s" | "m" | "l" | "xl" | "fullscreen" | undefined;
|
|
32
|
-
/**
|
|
33
|
-
* Растягивает модальное окно на весь экран
|
|
34
|
-
* @deprecated Используйте размер fullscreen
|
|
35
|
-
*/
|
|
36
5
|
fullscreen?: boolean | undefined;
|
|
37
|
-
/**
|
|
38
|
-
* Фиксирует позицию модального окна после открытия,
|
|
39
|
-
* предотвращая скачки, если контент внутри будет меняться
|
|
40
|
-
*/
|
|
41
6
|
fixedPosition?: boolean | undefined;
|
|
42
|
-
/**
|
|
43
|
-
* Управление наличием закрывающего крестика
|
|
44
|
-
* @default false
|
|
45
|
-
*/
|
|
46
7
|
hasCloser?: boolean | undefined;
|
|
47
8
|
} & React.RefAttributes<HTMLDivElement>> & {
|
|
48
|
-
Content: React.FC<import("./
|
|
49
|
-
Header: React.FC<import("./components/header/Component
|
|
50
|
-
Footer: React.FC<import("./components/footer/Component
|
|
9
|
+
Content: React.FC<import("./typings").ContentProps>;
|
|
10
|
+
Header: React.FC<import("./components/header/Component").HeaderProps>;
|
|
11
|
+
Footer: React.FC<import("./components/footer/Component").FooterProps>;
|
|
51
12
|
Closer: React.FC<import("./components/closer/Component").CloserProps>;
|
|
52
13
|
};
|
|
53
|
-
export {
|
|
14
|
+
export { ModalDesktop };
|