@alfalab/core-components-modal 5.2.7 → 5.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Component-12cb5541.d.ts +50 -0
- package/Component-12cb5541.js +43 -0
- package/Component.desktop.js +4 -4
- package/Component.mobile.js +4 -4
- package/Component.responsive.d.ts +13 -1
- package/Component.responsive.js +6 -6
- package/components/closer/Component.d.ts +4 -0
- package/components/closer/Component.js +4 -4
- package/components/closer/index.css +4 -4
- package/components/content/Component.desktop.js +2 -2
- package/components/content/Component.js +1 -1
- package/components/content/Component.mobile.js +2 -2
- 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.desktop.js +2 -2
- package/components/footer/Component.js +2 -2
- package/components/footer/Component.mobile.js +2 -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 +0 -45
- package/components/header/Component.desktop.d.ts +1 -1
- package/components/header/Component.desktop.js +5 -5
- package/components/header/Component.js +5 -32
- package/components/header/Component.mobile.d.ts +1 -1
- package/components/header/Component.mobile.js +5 -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-5fe52731.d.ts +50 -0
- package/cssm/Component-5fe52731.js +42 -0
- package/cssm/Component.desktop.js +1 -1
- package/cssm/Component.mobile.js +1 -1
- package/cssm/Component.responsive.d.ts +13 -1
- package/cssm/Component.responsive.js +4 -4
- package/cssm/components/closer/Component.d.ts +4 -0
- package/cssm/components/closer/Component.js +2 -2
- package/cssm/components/header/Component.d.ts +0 -45
- package/cssm/components/header/Component.desktop.d.ts +1 -1
- package/cssm/components/header/Component.desktop.js +3 -3
- package/cssm/components/header/Component.js +6 -31
- package/cssm/components/header/Component.mobile.d.ts +1 -1
- package/cssm/components/header/Component.mobile.js +3 -3
- package/cssm/desktop.js +1 -1
- package/cssm/getDataTestId-3fe0d3e6.d.ts +2 -0
- package/cssm/index.js +1 -1
- package/cssm/mobile.js +1 -1
- package/cssm/responsive.js +1 -1
- package/desktop.css +9 -9
- package/desktop.js +3 -3
- package/esm/Component-e546d8c5.d.ts +50 -0
- package/esm/Component-e546d8c5.js +35 -0
- package/esm/Component.desktop.js +4 -4
- package/esm/Component.mobile.js +4 -4
- package/esm/Component.responsive.d.ts +13 -1
- package/esm/Component.responsive.js +6 -6
- package/esm/components/closer/Component.d.ts +4 -0
- package/esm/components/closer/Component.js +4 -4
- package/esm/components/closer/index.css +4 -4
- package/esm/components/content/Component.desktop.js +2 -2
- package/esm/components/content/Component.js +1 -1
- package/esm/components/content/Component.mobile.js +2 -2
- 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.desktop.js +2 -2
- package/esm/components/footer/Component.js +2 -2
- package/esm/components/footer/Component.mobile.js +2 -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 +0 -45
- package/esm/components/header/Component.desktop.d.ts +1 -1
- package/esm/components/header/Component.desktop.js +5 -5
- package/esm/components/header/Component.js +4 -30
- package/esm/components/header/Component.mobile.d.ts +1 -1
- package/esm/components/header/Component.mobile.js +5 -5
- 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 +3 -3
- package/esm/getDataTestId-3fe0d3e6.d.ts +2 -0
- package/esm/index.js +3 -3
- package/esm/mobile.css +2 -2
- package/esm/mobile.js +3 -3
- package/esm/responsive.js +3 -3
- package/esm/transitions.css +8 -8
- package/esm/transitions.module-246cce05.js +4 -0
- package/esm/{tslib.es6-95d263a8.d.ts → tslib.es6-c7c6d75c.d.ts} +0 -0
- package/esm/{tslib.es6-95d263a8.js → tslib.es6-c7c6d75c.js} +0 -0
- package/getDataTestId-3fe0d3e6.d.ts +2 -0
- package/index.js +3 -3
- package/mobile.css +2 -2
- package/mobile.js +3 -3
- package/modern/Component-d3db43e2.d.ts +50 -0
- package/modern/Component-d3db43e2.js +33 -0
- package/modern/Component.desktop.js +3 -3
- package/modern/Component.mobile.js +3 -3
- package/modern/Component.responsive.d.ts +13 -1
- package/modern/Component.responsive.js +5 -5
- package/modern/components/closer/Component.d.ts +4 -0
- package/modern/components/closer/Component.js +4 -4
- package/modern/components/closer/index.css +4 -4
- package/modern/components/content/Component.desktop.js +1 -1
- package/modern/components/content/Component.js +1 -1
- package/modern/components/content/Component.mobile.js +1 -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.desktop.js +1 -1
- package/modern/components/footer/Component.js +2 -2
- package/modern/components/footer/Component.mobile.js +1 -1
- 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 +0 -45
- package/modern/components/header/Component.desktop.d.ts +1 -1
- package/modern/components/header/Component.desktop.js +4 -4
- package/modern/components/header/Component.js +4 -28
- package/modern/components/header/Component.mobile.d.ts +1 -1
- package/modern/components/header/Component.mobile.js +4 -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 +2 -2
- package/modern/getDataTestId-3fe0d3e6.d.ts +2 -0
- package/modern/index.js +2 -2
- package/modern/mobile.css +2 -2
- package/modern/mobile.js +2 -2
- package/modern/responsive.js +2 -2
- package/modern/transitions.css +8 -8
- package/modern/transitions.module-246cce05.js +4 -0
- package/package.json +6 -6
- package/responsive.js +3 -3
- package/transitions.css +8 -8
- package/transitions.module-e148225b.js +6 -0
- package/{tslib.es6-eacbc725.d.ts → tslib.es6-2d094523.d.ts} +0 -0
- package/{tslib.es6-eacbc725.js → tslib.es6-2d094523.js} +0 -0
- package/CHANGELOG.md +0 -643
- package/esm/transitions.module-1403a282.js +0 -4
- package/modern/transitions.module-1403a282.js +0 -4
- package/transitions.module-21cce0a0.js +0 -6
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 1xx5y */
|
|
2
2
|
:root {
|
|
3
3
|
|
|
4
4
|
/* Hard */
|
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
|
|
23
23
|
/* mobile */
|
|
24
24
|
}
|
|
25
|
-
.
|
|
25
|
+
.modal__footer_lu7nw {
|
|
26
26
|
padding: var(--gap-m);
|
|
27
27
|
}
|
|
28
|
-
.
|
|
28
|
+
.modal__sticky_lu7nw {
|
|
29
29
|
bottom: 0;
|
|
30
30
|
}
|
|
@@ -1,45 +0,0 @@
|
|
|
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
|
-
closer?: 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
|
-
declare const Header: FC<HeaderProps>;
|
|
45
|
-
export { HeaderProps, Header };
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var tslib_es6 = require('../../tslib.es6-
|
|
5
|
+
var tslib_es6 = require('../../tslib.es6-2d094523.js');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var cn = require('classnames');
|
|
8
8
|
require('@alfalab/core-components-base-modal');
|
|
9
9
|
require('../../Context.js');
|
|
10
|
-
var components_header_Component = require('
|
|
10
|
+
var components_header_Component = require('../../Component-12cb5541.js');
|
|
11
11
|
require('@alfalab/core-components-icon-button');
|
|
12
12
|
require('@alfalab/icons-glyph/CrossHeavyMIcon');
|
|
13
13
|
var components_closer_Component = require('../closer/Component.js');
|
|
@@ -17,17 +17,17 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
17
17
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
18
18
|
var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
|
|
19
19
|
|
|
20
|
-
var styles = {"header":"
|
|
20
|
+
var styles = {"header":"modal__header_sfnqs","content":"modal__content_sfnqs","s":"modal__s_sfnqs","m":"modal__m_sfnqs","l":"modal__l_sfnqs","xl":"modal__xl_sfnqs","fullscreen":"modal__fullscreen_sfnqs","hasContent":"modal__hasContent_sfnqs","sticky":"modal__sticky_sfnqs"};
|
|
21
21
|
require('./desktop.css')
|
|
22
22
|
|
|
23
23
|
var HeaderDesktop = function (_a) {
|
|
24
24
|
var _b;
|
|
25
|
-
var size = _a.size, className = _a.className, contentClassName = _a.contentClassName, _c = _a.hasCloser, hasCloser = _c === void 0 ? true : _c, sticky = _a.sticky, _d = _a.leftAddons, leftAddons = _d === void 0 ? React__default['default'].createElement("span", null) : _d, title = _a.title, children = _a.children, restProps = tslib_es6.__rest(_a, ["size", "className", "contentClassName", "hasCloser", "sticky", "leftAddons", "title", "children"]);
|
|
25
|
+
var size = _a.size, className = _a.className, contentClassName = _a.contentClassName, _c = _a.hasCloser, hasCloser = _c === void 0 ? true : _c, sticky = _a.sticky, _d = _a.leftAddons, leftAddons = _d === void 0 ? React__default['default'].createElement("span", null) : _d, title = _a.title, children = _a.children, dataTestId = _a.dataTestId, restProps = tslib_es6.__rest(_a, ["size", "className", "contentClassName", "hasCloser", "sticky", "leftAddons", "title", "children", "dataTestId"]);
|
|
26
26
|
var hasContent = title || Boolean(children);
|
|
27
27
|
return (React__default['default'].createElement(components_header_Component.Header, tslib_es6.__assign({ className: cn__default['default'](className, styles.header, size && styles[size], (_b = {},
|
|
28
28
|
_b[styles.sticky] = sticky,
|
|
29
29
|
_b[styles.hasContent] = hasContent,
|
|
30
|
-
_b)), contentClassName: cn__default['default'](styles.content, contentClassName), closer: hasCloser ? React__default['default'].createElement(components_closer_Component.Closer,
|
|
30
|
+
_b)), contentClassName: cn__default['default'](styles.content, contentClassName), closer: hasCloser ? React__default['default'].createElement(components_closer_Component.Closer, { dataTestId: components_header_Component.getDataTestId(dataTestId, 'closer') }) : null, leftAddons: leftAddons, sticky: sticky, title: title, dataTestId: dataTestId }, restProps), children));
|
|
31
31
|
};
|
|
32
32
|
|
|
33
33
|
exports.HeaderDesktop = HeaderDesktop;
|
|
@@ -2,39 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
require('react');
|
|
6
|
+
require('classnames');
|
|
7
7
|
require('@alfalab/core-components-base-modal');
|
|
8
|
-
|
|
8
|
+
require('../../Context.js');
|
|
9
|
+
var components_header_Component = require('../../Component-12cb5541.js');
|
|
9
10
|
|
|
10
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
11
|
|
|
12
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
13
|
-
var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
|
|
14
12
|
|
|
15
|
-
|
|
16
|
-
require('./index.css')
|
|
17
|
-
|
|
18
|
-
var Header = function (_a) {
|
|
19
|
-
var _b, _c;
|
|
20
|
-
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, closer = _a.closer, sticky = _a.sticky;
|
|
21
|
-
var _f = React.useContext(Context.ModalContext), headerHighlighted = _f.headerHighlighted, setHasHeader = _f.setHasHeader;
|
|
22
|
-
var hasContent = title || Boolean(children);
|
|
23
|
-
React.useEffect(function () {
|
|
24
|
-
setHasHeader(true);
|
|
25
|
-
}, [setHasHeader]);
|
|
26
|
-
return (React__default['default'].createElement("div", { className: cn__default['default'](styles.header, className, (_b = {},
|
|
27
|
-
_b[styles.highlighted] = hasContent && sticky && headerHighlighted,
|
|
28
|
-
_b[styles.sticky] = sticky,
|
|
29
|
-
_b[styles.hasContent] = hasContent,
|
|
30
|
-
_b)) },
|
|
31
|
-
leftAddons && React__default['default'].createElement("div", { className: cn__default['default'](styles.addon, addonClassName) }, leftAddons),
|
|
32
|
-
hasContent && (React__default['default'].createElement("div", { className: cn__default['default'](styles.content, contentClassName, styles[align], (_c = {},
|
|
33
|
-
_c[styles.trim] = trim,
|
|
34
|
-
_c)) },
|
|
35
|
-
children,
|
|
36
|
-
title && React__default['default'].createElement("div", { className: styles.title }, title))),
|
|
37
|
-
closer && (React__default['default'].createElement("div", { className: cn__default['default'](styles.addon, styles.closer, addonClassName) }, closer))));
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
exports.Header = Header;
|
|
13
|
+
exports.Header = components_header_Component.Header;
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var tslib_es6 = require('../../tslib.es6-
|
|
5
|
+
var tslib_es6 = require('../../tslib.es6-2d094523.js');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var cn = require('classnames');
|
|
8
8
|
require('@alfalab/core-components-base-modal');
|
|
9
9
|
require('../../Context.js');
|
|
10
|
-
var components_header_Component = require('
|
|
10
|
+
var components_header_Component = require('../../Component-12cb5541.js');
|
|
11
11
|
require('@alfalab/core-components-icon-button');
|
|
12
12
|
require('@alfalab/icons-glyph/CrossHeavyMIcon');
|
|
13
13
|
var components_closer_Component = require('../closer/Component.js');
|
|
@@ -19,15 +19,15 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
19
19
|
var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
|
|
20
20
|
var CrossMIcon__default = /*#__PURE__*/_interopDefaultLegacy(CrossMIcon);
|
|
21
21
|
|
|
22
|
-
var styles = {"sticky":"
|
|
22
|
+
var styles = {"sticky":"modal__sticky_2q2gr","content":"modal__content_2q2gr"};
|
|
23
23
|
require('./mobile.css')
|
|
24
24
|
|
|
25
25
|
var HeaderMobile = function (_a) {
|
|
26
26
|
var _b;
|
|
27
|
-
var className = _a.className, contentClassName = _a.contentClassName, _c = _a.hasCloser, hasCloser = _c === void 0 ? true : _c, sticky = _a.sticky, restProps = tslib_es6.__rest(_a, ["className", "contentClassName", "hasCloser", "sticky"]);
|
|
27
|
+
var className = _a.className, contentClassName = _a.contentClassName, _c = _a.hasCloser, hasCloser = _c === void 0 ? true : _c, sticky = _a.sticky, dataTestId = _a.dataTestId, restProps = tslib_es6.__rest(_a, ["className", "contentClassName", "hasCloser", "sticky", "dataTestId"]);
|
|
28
28
|
return (React__default['default'].createElement(components_header_Component.Header, tslib_es6.__assign({ className: cn__default['default'](className, (_b = {},
|
|
29
29
|
_b[styles.sticky] = sticky,
|
|
30
|
-
_b)), contentClassName: cn__default['default'](styles.content, contentClassName), closer: hasCloser ? React__default['default'].createElement(components_closer_Component.Closer, { icon: CrossMIcon__default['default'], size: 'xs' }) : null, sticky: sticky }, restProps)));
|
|
30
|
+
_b)), contentClassName: cn__default['default'](styles.content, contentClassName), closer: hasCloser ? (React__default['default'].createElement(components_closer_Component.Closer, { icon: CrossMIcon__default['default'], size: 'xs', dataTestId: components_header_Component.getDataTestId(dataTestId, 'closer') })) : null, sticky: sticky, dataTestId: dataTestId }, restProps)));
|
|
31
31
|
};
|
|
32
32
|
|
|
33
33
|
exports.HeaderMobile = HeaderMobile;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 1dzxy */
|
|
2
2
|
:root {
|
|
3
3
|
|
|
4
4
|
/* Hard */
|
|
@@ -43,45 +43,45 @@
|
|
|
43
43
|
|
|
44
44
|
/* mobile */
|
|
45
45
|
}
|
|
46
|
-
.
|
|
46
|
+
.modal__header_sfnqs {
|
|
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_sfnqs {
|
|
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_sfnqs .modal__content_sfnqs,
|
|
55
|
+
.modal__m_sfnqs .modal__content_sfnqs {
|
|
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_sfnqs .modal__content_sfnqs,
|
|
61
|
+
.modal__xl_sfnqs .modal__content_sfnqs,
|
|
62
|
+
.modal__fullscreen_sfnqs .modal__content_sfnqs {
|
|
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_sfnqs,
|
|
68
|
+
.modal__m_sfnqs {
|
|
69
69
|
padding: var(--modal-s-header-paddings)
|
|
70
70
|
}
|
|
71
|
-
.
|
|
71
|
+
.modal__s_sfnqs:not(.modal__hasContent_sfnqs), .modal__m_sfnqs:not(.modal__hasContent_sfnqs) {
|
|
72
72
|
padding-bottom: 0;
|
|
73
73
|
}
|
|
74
|
-
.
|
|
75
|
-
.
|
|
76
|
-
.
|
|
74
|
+
.modal__l_sfnqs,
|
|
75
|
+
.modal__xl_sfnqs,
|
|
76
|
+
.modal__fullscreen_sfnqs {
|
|
77
77
|
padding: var(--gap-xl) var(--gap-xl) var(--gap-m)
|
|
78
78
|
}
|
|
79
|
-
.
|
|
79
|
+
.modal__l_sfnqs:not(.modal__hasContent_sfnqs), .modal__xl_sfnqs:not(.modal__hasContent_sfnqs), .modal__fullscreen_sfnqs:not(.modal__hasContent_sfnqs) {
|
|
80
80
|
padding-bottom: var(--gap-m);
|
|
81
81
|
}
|
|
82
|
-
.
|
|
82
|
+
.modal__sticky_sfnqs {
|
|
83
83
|
top: calc(var(--modal-vertical-padding) * -1)
|
|
84
84
|
}
|
|
85
|
-
.
|
|
85
|
+
.modal__sticky_sfnqs.modal__fullscreen_sfnqs {
|
|
86
86
|
top: 0;
|
|
87
87
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 6qcm7 */
|
|
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_1f3yh {
|
|
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_1f3yh:not(.modal__hasContent_1f3yh) {
|
|
37
37
|
pointer-events: none;
|
|
38
38
|
}
|
|
39
|
-
.
|
|
39
|
+
.modal__highlighted_1f3yh {
|
|
40
40
|
background: var(--modal-header-highlight-background);
|
|
41
41
|
box-shadow: var(--modal-header-highlight-box-shadow);
|
|
42
42
|
}
|
|
43
|
-
.
|
|
43
|
+
.modal__sticky_1f3yh {
|
|
44
44
|
position: sticky
|
|
45
45
|
}
|
|
46
|
-
.
|
|
46
|
+
.modal__sticky_1f3yh.modal__hasContent_1f3yh {
|
|
47
47
|
background: var(--modal-header-background);
|
|
48
48
|
}
|
|
49
|
-
.
|
|
49
|
+
.modal__content_1f3yh {
|
|
50
50
|
flex-grow: 1;
|
|
51
51
|
}
|
|
52
|
-
.
|
|
52
|
+
.modal__title_1f3yh {
|
|
53
53
|
word-break: break-word;
|
|
54
54
|
}
|
|
55
|
-
.
|
|
55
|
+
.modal__addon_1f3yh {
|
|
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_1f3yh {
|
|
64
64
|
margin-left: auto;
|
|
65
65
|
}
|
|
66
|
-
.
|
|
66
|
+
.modal__left_1f3yh {
|
|
67
67
|
justify-content: flex-start;
|
|
68
68
|
text-align: left;
|
|
69
69
|
}
|
|
70
|
-
.
|
|
70
|
+
.modal__center_1f3yh {
|
|
71
71
|
justify-content: center;
|
|
72
72
|
text-align: center;
|
|
73
73
|
}
|
|
74
|
-
.
|
|
74
|
+
.modal__right_1f3yh {
|
|
75
75
|
justify-content: flex-end;
|
|
76
76
|
text-align: right;
|
|
77
77
|
}
|
|
78
|
-
.
|
|
78
|
+
.modal__trim_1f3yh {
|
|
79
79
|
overflow: hidden
|
|
80
80
|
}
|
|
81
|
-
.
|
|
81
|
+
.modal__trim_1f3yh .modal__title_1f3yh {
|
|
82
82
|
overflow: hidden;
|
|
83
83
|
white-space: nowrap;
|
|
84
84
|
text-overflow: ellipsis;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 1c3il */
|
|
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_2q2gr {
|
|
37
37
|
top: 0;
|
|
38
38
|
}
|
|
39
|
-
.
|
|
39
|
+
.modal__content_2q2gr {
|
|
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,50 @@
|
|
|
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
|
+
closer?: 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 * from "./getDataTestId-3fe0d3e6";
|
|
50
|
+
export { HeaderProps, Header };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var cn = require('classnames');
|
|
5
|
+
var Context = require('./Context.js');
|
|
6
|
+
var styles = require('./components/header/index.module.css');
|
|
7
|
+
|
|
8
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
|
+
|
|
10
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
11
|
+
var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
|
|
12
|
+
var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
|
|
13
|
+
|
|
14
|
+
var getDataTestId = function (dataTestId, element) {
|
|
15
|
+
var elementPart = element ? "-" + element.toLowerCase() : '';
|
|
16
|
+
return dataTestId ? "" + dataTestId + elementPart : undefined;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
var Header = function (_a) {
|
|
20
|
+
var _b, _c;
|
|
21
|
+
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, closer = _a.closer, sticky = _a.sticky, dataTestId = _a.dataTestId;
|
|
22
|
+
var _f = React.useContext(Context.ModalContext), headerHighlighted = _f.headerHighlighted, setHasHeader = _f.setHasHeader;
|
|
23
|
+
var hasContent = title || Boolean(children);
|
|
24
|
+
React.useEffect(function () {
|
|
25
|
+
setHasHeader(true);
|
|
26
|
+
}, [setHasHeader]);
|
|
27
|
+
return (React__default['default'].createElement("div", { className: cn__default['default'](styles__default['default'].header, className, (_b = {},
|
|
28
|
+
_b[styles__default['default'].highlighted] = hasContent && sticky && headerHighlighted,
|
|
29
|
+
_b[styles__default['default'].sticky] = sticky,
|
|
30
|
+
_b[styles__default['default'].hasContent] = hasContent,
|
|
31
|
+
_b)), "data-test-id": getDataTestId(dataTestId) },
|
|
32
|
+
leftAddons && React__default['default'].createElement("div", { className: cn__default['default'](styles__default['default'].addon, addonClassName) }, leftAddons),
|
|
33
|
+
hasContent && (React__default['default'].createElement("div", { className: cn__default['default'](styles__default['default'].content, contentClassName, styles__default['default'][align], (_c = {},
|
|
34
|
+
_c[styles__default['default'].trim] = trim,
|
|
35
|
+
_c)) },
|
|
36
|
+
children,
|
|
37
|
+
title && (React__default['default'].createElement("div", { className: styles__default['default'].title, "data-test-id": getDataTestId(dataTestId, 'title') }, title)))),
|
|
38
|
+
closer && (React__default['default'].createElement("div", { className: cn__default['default'](styles__default['default'].addon, styles__default['default'].closer, addonClassName) }, closer))));
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
exports.Header = Header;
|
|
42
|
+
exports.getDataTestId = getDataTestId;
|
|
@@ -8,8 +8,8 @@ var cn = require('classnames');
|
|
|
8
8
|
var coreComponentsBaseModal = require('@alfalab/core-components-base-modal/cssm');
|
|
9
9
|
var mergeRefs = require('react-merge-refs');
|
|
10
10
|
require('./Context.js');
|
|
11
|
+
require('./Component-5fe52731.js');
|
|
11
12
|
require('./components/header/index.module.css');
|
|
12
|
-
require('./components/header/Component.js');
|
|
13
13
|
require('@alfalab/core-components-icon-button/cssm');
|
|
14
14
|
require('@alfalab/icons-glyph/CrossHeavyMIcon');
|
|
15
15
|
require('./components/closer/index.module.css');
|
package/cssm/Component.mobile.js
CHANGED
|
@@ -7,8 +7,8 @@ var React = require('react');
|
|
|
7
7
|
var cn = require('classnames');
|
|
8
8
|
var coreComponentsBaseModal = require('@alfalab/core-components-base-modal/cssm');
|
|
9
9
|
require('./Context.js');
|
|
10
|
+
require('./Component-5fe52731.js');
|
|
10
11
|
require('./components/header/index.module.css');
|
|
11
|
-
require('./components/header/Component.js');
|
|
12
12
|
require('@alfalab/core-components-icon-button/cssm');
|
|
13
13
|
require('@alfalab/icons-glyph/CrossHeavyMIcon');
|
|
14
14
|
require('./components/closer/index.module.css');
|
|
@@ -2,7 +2,13 @@
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { ModalDesktopProps } from "./Component.desktop";
|
|
4
4
|
import { ModalMobileProps } from "./Component.mobile";
|
|
5
|
-
type ModalResponsiveProps = ModalMobileProps & ModalDesktopProps
|
|
5
|
+
type ModalResponsiveProps = ModalMobileProps & ModalDesktopProps & {
|
|
6
|
+
/**
|
|
7
|
+
* Контрольная точка, с нее начинается desktop версия
|
|
8
|
+
* @default 1024
|
|
9
|
+
*/
|
|
10
|
+
breakpoint?: number;
|
|
11
|
+
};
|
|
6
12
|
declare const ModalResponsive: React.ForwardRefExoticComponent<import("packages/base-modal/src").BaseModalProps & {
|
|
7
13
|
hasCloser?: boolean | undefined;
|
|
8
14
|
} & {
|
|
@@ -10,6 +16,12 @@ declare const ModalResponsive: React.ForwardRefExoticComponent<import("packages/
|
|
|
10
16
|
fullscreen?: boolean | undefined;
|
|
11
17
|
fixedPosition?: boolean | undefined;
|
|
12
18
|
hasCloser?: boolean | undefined;
|
|
19
|
+
} & {
|
|
20
|
+
/**
|
|
21
|
+
* Контрольная точка, с нее начинается desktop версия
|
|
22
|
+
* @default 1024
|
|
23
|
+
*/
|
|
24
|
+
breakpoint?: number | undefined;
|
|
13
25
|
} & React.RefAttributes<HTMLDivElement>> & {
|
|
14
26
|
Header: React.FC<import("./components/header/Component.desktop").HeaderDesktopProps> | React.FC<import("./components/header/Component.mobile").HeaderMobileProps>;
|
|
15
27
|
Content: React.FC<import("./components/content/Component").ContentProps> | React.FC<import("./components/content/Component.desktop").ContentDesktopProps>;
|
|
@@ -8,8 +8,8 @@ require('classnames');
|
|
|
8
8
|
require('@alfalab/core-components-base-modal/cssm');
|
|
9
9
|
require('react-merge-refs');
|
|
10
10
|
require('./Context.js');
|
|
11
|
+
require('./Component-5fe52731.js');
|
|
11
12
|
require('./components/header/index.module.css');
|
|
12
|
-
require('./components/header/Component.js');
|
|
13
13
|
require('@alfalab/core-components-icon-button/cssm');
|
|
14
14
|
require('@alfalab/icons-glyph/CrossHeavyMIcon');
|
|
15
15
|
require('./components/closer/index.module.css');
|
|
@@ -55,10 +55,10 @@ function createResponsive(desktop, mobile) {
|
|
|
55
55
|
return ResponsiveChild;
|
|
56
56
|
}
|
|
57
57
|
var ModalResponsiveComponent = React.forwardRef(function (_a, ref) {
|
|
58
|
-
var children = _a.children, restProps = tslib_es6.__rest(_a, ["children"]);
|
|
58
|
+
var children = _a.children, _b = _a.breakpoint, breakpoint = _b === void 0 ? 1024 : _b, restProps = tslib_es6.__rest(_a, ["children", "breakpoint"]);
|
|
59
59
|
var view = hooks.useMedia([
|
|
60
|
-
['mobile',
|
|
61
|
-
['desktop',
|
|
60
|
+
['mobile', "(max-width: " + (breakpoint - 1) + "px)"],
|
|
61
|
+
['desktop', "(min-width: " + breakpoint + "px)"],
|
|
62
62
|
], 'desktop')[0];
|
|
63
63
|
var contextValue = React.useMemo(function () { return ({ view: view }); }, [view]);
|
|
64
64
|
var Component = view === 'desktop' ? Component_desktop.ModalDesktop : Component_mobile.ModalMobile;
|
|
@@ -21,6 +21,10 @@ type CloserProps = ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
|
21
21
|
* Иконка
|
|
22
22
|
*/
|
|
23
23
|
icon?: ElementType;
|
|
24
|
+
/**
|
|
25
|
+
* Идентификатор для систем автоматизированного тестирования
|
|
26
|
+
*/
|
|
27
|
+
dataTestId?: string;
|
|
24
28
|
};
|
|
25
29
|
/**
|
|
26
30
|
* @deprecated Компонент только для внутреннего использования. Используйте <Header />
|
|
@@ -22,7 +22,7 @@ var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
|
|
|
22
22
|
*/
|
|
23
23
|
var Closer = function (_a) {
|
|
24
24
|
var _b;
|
|
25
|
-
var className = _a.className, _c = _a.size, size = _c === void 0 ? 's' : _c, sticky = _a.sticky, _d = _a.icon, icon = _d === void 0 ? CrossHeavyMIcon.CrossHeavyMIcon : _d, restProps = tslib_es6.__rest(_a, ["className", "size", "sticky", "icon"]);
|
|
25
|
+
var className = _a.className, _c = _a.size, size = _c === void 0 ? 's' : _c, sticky = _a.sticky, _d = _a.icon, icon = _d === void 0 ? CrossHeavyMIcon.CrossHeavyMIcon : _d, dataTestId = _a.dataTestId, restProps = tslib_es6.__rest(_a, ["className", "size", "sticky", "icon", "dataTestId"]);
|
|
26
26
|
var onClose = React.useContext(Context.ModalContext).onClose;
|
|
27
27
|
var handleClick = React.useCallback(function (event) {
|
|
28
28
|
onClose(event, 'closerClick');
|
|
@@ -30,7 +30,7 @@ var Closer = function (_a) {
|
|
|
30
30
|
return (React__default['default'].createElement("div", { className: cn__default['default'](styles__default['default'].closer, className, (_b = {},
|
|
31
31
|
_b[styles__default['default'].sticky] = sticky,
|
|
32
32
|
_b)) },
|
|
33
|
-
React__default['default'].createElement(coreComponentsIconButton.IconButton, tslib_es6.__assign({ size: size, className: styles__default['default'].button, "aria-label": '\u0437\u0430\u043A\u0440\u044B\u0442\u044C', onClick: handleClick, icon: icon }, restProps))));
|
|
33
|
+
React__default['default'].createElement(coreComponentsIconButton.IconButton, tslib_es6.__assign({ size: size, className: styles__default['default'].button, "aria-label": '\u0437\u0430\u043A\u0440\u044B\u0442\u044C', onClick: handleClick, icon: icon, dataTestId: dataTestId }, restProps))));
|
|
34
34
|
};
|
|
35
35
|
|
|
36
36
|
exports.Closer = Closer;
|
|
@@ -1,45 +0,0 @@
|
|
|
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
|
-
closer?: 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
|
-
declare const Header: FC<HeaderProps>;
|
|
45
|
-
export { HeaderProps, Header };
|