@alfalab/core-components-modal 4.1.0 → 5.0.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/CHANGELOG.md +40 -0
- package/dist/Component.desktop.d.ts +4 -2
- package/dist/Component.desktop.js +11 -10
- package/dist/Component.mobile.d.ts +1 -1
- package/dist/Component.mobile.js +8 -15
- package/dist/Component.responsive.d.ts +4 -4
- package/dist/Component.responsive.js +9 -7
- package/dist/components/closer/Component.d.ts +15 -3
- package/dist/components/closer/Component.js +13 -5
- package/dist/components/closer/index.css +24 -26
- package/dist/components/content/Component.d.ts +1 -3
- package/dist/components/content/Component.desktop.d.ts +2 -5
- package/dist/components/content/Component.desktop.js +4 -4
- package/dist/components/content/Component.js +4 -1
- package/dist/components/content/Component.mobile.js +8 -4
- package/dist/components/content/desktop.css +18 -597
- package/dist/components/content/index.css +28 -0
- package/dist/components/content/mobile.css +9 -584
- package/dist/components/footer/Component.d.ts +1 -3
- package/dist/components/footer/Component.desktop.d.ts +2 -5
- package/dist/components/footer/Component.desktop.js +7 -4
- package/dist/components/footer/Component.js +5 -2
- package/dist/components/footer/Component.mobile.js +11 -4
- package/dist/components/footer/desktop.css +18 -604
- package/dist/components/footer/index.css +41 -0
- package/dist/components/footer/layout.css +28 -28
- package/dist/components/footer/mobile.css +7 -593
- package/dist/components/header/Component.d.ts +23 -5
- package/dist/components/header/Component.desktop.d.ts +5 -4
- package/dist/components/header/Component.desktop.js +12 -6
- package/dist/components/header/Component.js +13 -9
- package/dist/components/header/Component.mobile.d.ts +6 -1
- package/dist/components/header/Component.mobile.js +16 -6
- package/dist/components/header/desktop.css +53 -624
- package/dist/components/header/index.css +85 -0
- package/dist/components/header/mobile.css +17 -607
- package/dist/cssm/Component.desktop.d.ts +4 -2
- package/dist/cssm/Component.desktop.js +11 -7
- package/dist/cssm/Component.mobile.d.ts +1 -1
- package/dist/cssm/Component.mobile.js +8 -12
- package/dist/cssm/Component.responsive.d.ts +4 -4
- package/dist/cssm/Component.responsive.js +10 -5
- package/dist/cssm/components/closer/Component.d.ts +15 -3
- package/dist/cssm/components/closer/Component.js +11 -3
- package/dist/cssm/components/closer/index.module.css +22 -24
- package/dist/cssm/components/content/Component.d.ts +1 -3
- package/dist/cssm/components/content/Component.desktop.d.ts +2 -5
- package/dist/cssm/components/content/Component.desktop.js +3 -2
- package/dist/cssm/components/content/Component.js +5 -3
- package/dist/cssm/components/content/Component.mobile.js +7 -2
- package/dist/cssm/components/content/desktop.module.css +14 -21
- package/dist/cssm/components/content/index.module.css +4 -16
- package/dist/cssm/components/content/mobile.module.css +7 -9
- package/dist/cssm/components/footer/Component.d.ts +1 -3
- package/dist/cssm/components/footer/Component.desktop.d.ts +2 -5
- package/dist/cssm/components/footer/Component.desktop.js +6 -2
- package/dist/cssm/components/footer/Component.js +6 -4
- package/dist/cssm/components/footer/Component.mobile.js +10 -2
- package/dist/cssm/components/footer/desktop.module.css +15 -25
- package/dist/cssm/components/footer/index.module.css +8 -12
- package/dist/cssm/components/footer/layout.module.css +3 -3
- package/dist/cssm/components/footer/mobile.module.css +4 -12
- package/dist/cssm/components/header/Component.d.ts +23 -5
- package/dist/cssm/components/header/Component.desktop.d.ts +5 -4
- package/dist/cssm/components/header/Component.desktop.js +12 -5
- package/dist/cssm/components/header/Component.js +15 -13
- package/dist/cssm/components/header/Component.mobile.d.ts +6 -1
- package/dist/cssm/components/header/Component.mobile.js +16 -5
- package/dist/cssm/components/header/desktop.module.css +51 -35
- package/dist/cssm/components/header/index.module.css +45 -24
- package/dist/cssm/components/header/mobile.module.css +21 -22
- package/dist/cssm/desktop.js +6 -2
- package/dist/cssm/desktop.module.css +10 -6
- package/dist/cssm/index.js +8 -3
- package/dist/cssm/mobile.js +7 -3
- package/dist/cssm/mobile.module.css +3 -3
- package/dist/cssm/responsive.js +8 -3
- package/dist/cssm/vars.css +3 -3
- package/dist/desktop.css +18 -14
- package/dist/desktop.js +5 -4
- package/dist/esm/Component.desktop.d.ts +4 -2
- package/dist/esm/Component.desktop.js +11 -10
- package/dist/esm/Component.mobile.d.ts +1 -1
- package/dist/esm/Component.mobile.js +9 -16
- package/dist/esm/Component.responsive.d.ts +4 -4
- package/dist/esm/Component.responsive.js +9 -7
- package/dist/esm/components/closer/Component.d.ts +15 -3
- package/dist/esm/components/closer/Component.js +13 -5
- package/dist/esm/components/closer/index.css +24 -26
- package/dist/esm/components/content/Component.d.ts +1 -3
- package/dist/esm/components/content/Component.desktop.d.ts +2 -5
- package/dist/esm/components/content/Component.desktop.js +4 -4
- package/dist/esm/components/content/Component.js +4 -1
- package/dist/esm/components/content/Component.mobile.js +7 -4
- package/dist/esm/components/content/desktop.css +18 -597
- package/dist/esm/components/content/index.css +28 -0
- package/dist/esm/components/content/mobile.css +9 -584
- package/dist/esm/components/footer/Component.d.ts +1 -3
- package/dist/esm/components/footer/Component.desktop.d.ts +2 -5
- package/dist/esm/components/footer/Component.desktop.js +7 -4
- package/dist/esm/components/footer/Component.js +5 -2
- package/dist/esm/components/footer/Component.mobile.js +10 -4
- package/dist/esm/components/footer/desktop.css +18 -604
- package/dist/esm/components/footer/index.css +41 -0
- package/dist/esm/components/footer/layout.css +28 -28
- package/dist/esm/components/footer/mobile.css +7 -593
- package/dist/esm/components/header/Component.d.ts +23 -5
- package/dist/esm/components/header/Component.desktop.d.ts +5 -4
- package/dist/esm/components/header/Component.desktop.js +12 -6
- package/dist/esm/components/header/Component.js +13 -9
- package/dist/esm/components/header/Component.mobile.d.ts +6 -1
- package/dist/esm/components/header/Component.mobile.js +14 -6
- package/dist/esm/components/header/desktop.css +53 -624
- package/dist/esm/components/header/index.css +85 -0
- package/dist/esm/components/header/mobile.css +17 -607
- package/dist/esm/desktop.css +18 -14
- package/dist/esm/desktop.js +5 -4
- package/dist/esm/index.js +7 -5
- package/dist/esm/mobile.css +5 -5
- package/dist/esm/mobile.js +6 -5
- package/dist/esm/responsive.js +7 -5
- package/dist/esm/transitions.css +8 -8
- package/dist/esm/transitions.module-386b448e.js +4 -0
- package/dist/esm/{tslib.es6-75e2f0f0.d.ts → tslib.es6-242320f2.d.ts} +0 -0
- package/dist/esm/{tslib.es6-75e2f0f0.js → tslib.es6-242320f2.js} +0 -0
- package/dist/index.js +7 -5
- package/dist/mobile.css +5 -5
- package/dist/mobile.js +6 -5
- package/dist/modern/Component.desktop.d.ts +4 -2
- package/dist/modern/Component.desktop.js +11 -10
- package/dist/modern/Component.mobile.d.ts +1 -1
- package/dist/modern/Component.mobile.js +8 -16
- package/dist/modern/Component.responsive.d.ts +4 -4
- package/dist/modern/Component.responsive.js +8 -6
- package/dist/modern/components/closer/Component.d.ts +15 -3
- package/dist/modern/components/closer/Component.js +11 -4
- package/dist/modern/components/closer/index.css +24 -26
- package/dist/modern/components/content/Component.d.ts +1 -3
- package/dist/modern/components/content/Component.desktop.d.ts +2 -5
- package/dist/modern/components/content/Component.desktop.js +2 -2
- package/dist/modern/components/content/Component.js +4 -1
- package/dist/modern/components/content/Component.mobile.js +3 -3
- package/dist/modern/components/content/desktop.css +18 -597
- package/dist/modern/components/content/index.css +28 -0
- package/dist/modern/components/content/mobile.css +9 -584
- package/dist/modern/components/footer/Component.d.ts +1 -3
- package/dist/modern/components/footer/Component.desktop.d.ts +2 -5
- package/dist/modern/components/footer/Component.desktop.js +4 -2
- package/dist/modern/components/footer/Component.js +5 -2
- package/dist/modern/components/footer/Component.mobile.js +5 -3
- package/dist/modern/components/footer/desktop.css +18 -604
- package/dist/modern/components/footer/index.css +41 -0
- package/dist/modern/components/footer/layout.css +28 -28
- package/dist/modern/components/footer/mobile.css +7 -593
- package/dist/modern/components/header/Component.d.ts +23 -5
- package/dist/modern/components/header/Component.desktop.d.ts +5 -4
- package/dist/modern/components/header/Component.desktop.js +11 -4
- package/dist/modern/components/header/Component.js +11 -6
- package/dist/modern/components/header/Component.mobile.d.ts +6 -1
- package/dist/modern/components/header/Component.mobile.js +9 -5
- package/dist/modern/components/header/desktop.css +53 -624
- package/dist/modern/components/header/index.css +85 -0
- package/dist/modern/components/header/mobile.css +17 -607
- package/dist/modern/desktop.css +18 -14
- package/dist/modern/desktop.js +4 -3
- package/dist/modern/index.js +6 -4
- package/dist/modern/mobile.css +5 -5
- package/dist/modern/mobile.js +5 -4
- package/dist/modern/responsive.js +6 -4
- package/dist/modern/transitions.css +8 -8
- package/dist/modern/transitions.module-386b448e.js +4 -0
- package/dist/responsive.js +7 -5
- package/dist/transitions.css +8 -8
- package/dist/transitions.module-27d19713.js +6 -0
- package/dist/{tslib.es6-ae9d9dce.d.ts → tslib.es6-4834d51a.d.ts} +0 -0
- package/dist/{tslib.es6-ae9d9dce.js → tslib.es6-4834d51a.js} +0 -0
- package/package.json +4 -3
- package/dist/esm/transitions.module-602ea4ef.js +0 -4
- package/dist/modern/transitions.module-602ea4ef.js +0 -4
- package/dist/transitions.module-336e79fe.js +0 -6
|
@@ -8,54 +8,44 @@
|
|
|
8
8
|
}
|
|
9
9
|
:root {
|
|
10
10
|
--gap-xl: 24px;
|
|
11
|
+
--gap-2xl: 32px;
|
|
11
12
|
--gap-3xl: 40px;
|
|
12
|
-
--gap-4xl: 48px;
|
|
13
13
|
--gap-6xl: 72px;
|
|
14
14
|
}
|
|
15
15
|
:root {
|
|
16
|
-
--border-radius-
|
|
16
|
+
--border-radius-l: 12px;
|
|
17
17
|
}
|
|
18
18
|
:root {
|
|
19
|
-
--modal-border-radius: var(--border-radius-
|
|
19
|
+
--modal-border-radius: var(--border-radius-l);
|
|
20
20
|
--modal-vertical-padding: var(--gap-3xl);
|
|
21
21
|
|
|
22
22
|
/* sizes */
|
|
23
23
|
|
|
24
24
|
/* paddings */
|
|
25
|
-
--modal-s-footer-paddings: var(--gap-xl)
|
|
26
|
-
--modal-m-footer-paddings: var(--gap-xl) var(--gap-4xl) var(--gap-4xl);
|
|
27
|
-
--modal-l-footer-paddings: var(--gap-xl) var(--gap-6xl) var(--gap-6xl);
|
|
25
|
+
--modal-s-footer-paddings: var(--gap-xl) 56px 56px;
|
|
28
26
|
|
|
29
|
-
/*
|
|
27
|
+
/* scroll */
|
|
30
28
|
|
|
31
|
-
/*
|
|
29
|
+
/* desktop */
|
|
32
30
|
|
|
33
|
-
/*
|
|
31
|
+
/* mobile */
|
|
34
32
|
}
|
|
35
33
|
.footer {
|
|
36
|
-
composes: footer from 'index.module.css';
|
|
37
|
-
|
|
38
34
|
border-bottom-left-radius: var(--modal-border-radius);
|
|
39
35
|
border-bottom-right-radius: var(--modal-border-radius);
|
|
40
36
|
}
|
|
41
|
-
.highlighted {
|
|
42
|
-
composes: highlighted from 'index.module.css';
|
|
43
|
-
}
|
|
44
37
|
.sticky {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
bottom: calc(var(--modal-vertical-padding) * -1);
|
|
48
|
-
}
|
|
49
|
-
.fullscreen {
|
|
50
|
-
bottom: 0;
|
|
51
|
-
}
|
|
52
|
-
.s {
|
|
53
|
-
padding: var(--modal-s-footer-paddings);
|
|
38
|
+
bottom: calc(var(--modal-vertical-padding) * -1)
|
|
54
39
|
}
|
|
40
|
+
.sticky.fullscreen {
|
|
41
|
+
bottom: 0;
|
|
42
|
+
}
|
|
43
|
+
.s,
|
|
55
44
|
.m {
|
|
56
|
-
padding: var(--modal-
|
|
45
|
+
padding: var(--modal-s-footer-paddings);
|
|
57
46
|
}
|
|
58
47
|
.l,
|
|
48
|
+
.xl,
|
|
59
49
|
.fullscreen {
|
|
60
|
-
padding: var(--
|
|
50
|
+
padding: var(--gap-2xl) var(--gap-6xl) var(--gap-6xl);
|
|
61
51
|
}
|
|
@@ -1,41 +1,37 @@
|
|
|
1
1
|
:root {
|
|
2
2
|
--color-light-bg-primary: #fff;
|
|
3
|
+
--color-light-border-primary: #dbdee1;
|
|
3
4
|
}
|
|
4
5
|
:root {
|
|
5
6
|
|
|
6
7
|
/* Hard */
|
|
7
8
|
|
|
8
9
|
/* Up */
|
|
9
|
-
--shadow-s-up: 0 0 8px rgba(11, 31, 53, 0.04), 0 -4px 8px rgba(11, 31, 53, 0.08);
|
|
10
10
|
|
|
11
11
|
/* Hard up */
|
|
12
12
|
}
|
|
13
13
|
:root {
|
|
14
|
-
--modal-
|
|
14
|
+
--modal-footer-background: var(--color-light-bg-primary);
|
|
15
15
|
|
|
16
16
|
/* sizes */
|
|
17
17
|
|
|
18
18
|
/* paddings */
|
|
19
19
|
|
|
20
|
-
/* closer */
|
|
21
|
-
|
|
22
|
-
/* sticky */
|
|
23
|
-
--modal-footer-sticky-box-shadow: none;
|
|
24
|
-
--modal-footer-sticky-background: var(--modal-header-background);
|
|
25
|
-
|
|
26
20
|
/* scroll */
|
|
27
|
-
--modal-footer-highlight-box-shadow: var(--shadow-s-up);
|
|
28
21
|
--modal-footer-highlight-background: var(--color-light-bg-primary);
|
|
22
|
+
--modal-footer-highlight-box-shadow: 0 -1px 0 0 var(--color-light-border-primary);
|
|
23
|
+
|
|
24
|
+
/* desktop */
|
|
25
|
+
|
|
26
|
+
/* mobile */
|
|
29
27
|
}
|
|
30
28
|
.footer {
|
|
31
29
|
width: 100%;
|
|
32
30
|
box-sizing: border-box;
|
|
33
31
|
transition: box-shadow 0.2s ease, background 0.2s ease;
|
|
34
|
-
background: var(--modal-header-background);
|
|
35
32
|
}
|
|
36
33
|
.sticky {
|
|
37
|
-
background: var(--modal-footer-
|
|
38
|
-
box-shadow: var(--modal-footer-sticky-box-shadow);
|
|
34
|
+
background: var(--modal-footer-background);
|
|
39
35
|
position: sticky;
|
|
40
36
|
}
|
|
41
37
|
.highlighted {
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
}
|
|
9
9
|
:root {
|
|
10
10
|
--gap-m: 16px;
|
|
11
|
-
--gap-xl: 24px;
|
|
12
11
|
}
|
|
13
12
|
:root {
|
|
14
13
|
|
|
@@ -16,22 +15,15 @@
|
|
|
16
15
|
|
|
17
16
|
/* paddings */
|
|
18
17
|
|
|
19
|
-
/*
|
|
18
|
+
/* scroll */
|
|
20
19
|
|
|
21
|
-
/*
|
|
20
|
+
/* desktop */
|
|
22
21
|
|
|
23
|
-
/*
|
|
22
|
+
/* mobile */
|
|
24
23
|
}
|
|
25
24
|
.footer {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
padding: var(--gap-xl) var(--gap-m);
|
|
29
|
-
}
|
|
30
|
-
.highlighted {
|
|
31
|
-
composes: highlighted from 'index.module.css';
|
|
25
|
+
padding: var(--gap-m);
|
|
32
26
|
}
|
|
33
27
|
.sticky {
|
|
34
|
-
composes: sticky from 'index.module.css';
|
|
35
|
-
|
|
36
28
|
bottom: 0;
|
|
37
29
|
}
|
|
@@ -5,23 +5,41 @@ type HeaderProps = {
|
|
|
5
5
|
*/
|
|
6
6
|
children?: ReactNode;
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* Слот слева
|
|
9
9
|
*/
|
|
10
|
-
|
|
10
|
+
leftAddons?: ReactNode;
|
|
11
|
+
/**
|
|
12
|
+
* Компонент крестика
|
|
13
|
+
*/
|
|
14
|
+
closer?: ReactNode;
|
|
11
15
|
/**
|
|
12
16
|
* Дополнительный класс
|
|
13
17
|
*/
|
|
14
18
|
className?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Дополнительный класс для аддонов
|
|
21
|
+
*/
|
|
22
|
+
addonClassName?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Дополнительный класс для контента
|
|
25
|
+
*/
|
|
26
|
+
contentClassName?: string;
|
|
15
27
|
/**
|
|
16
28
|
* Заголовок шапки
|
|
17
29
|
*/
|
|
18
30
|
title?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Выравнивание заголовка
|
|
33
|
+
*/
|
|
34
|
+
align?: 'left' | 'center';
|
|
35
|
+
/**
|
|
36
|
+
* Обрезать ли заголовок
|
|
37
|
+
*/
|
|
38
|
+
trim?: boolean;
|
|
19
39
|
/**
|
|
20
40
|
* Фиксирует шапку
|
|
21
41
|
*/
|
|
22
42
|
sticky?: boolean;
|
|
23
43
|
};
|
|
24
|
-
declare const Header: FC<HeaderProps
|
|
25
|
-
styles: Record<string, string>;
|
|
26
|
-
}>;
|
|
44
|
+
declare const Header: FC<HeaderProps>;
|
|
27
45
|
export { HeaderProps, Header };
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
2
|
import { HeaderProps } from "./Component";
|
|
3
|
-
|
|
3
|
+
import { ModalDesktopProps } from "../../Component.desktop";
|
|
4
|
+
type HeaderDesktopProps = Omit<HeaderProps, 'closer'> & {
|
|
4
5
|
/**
|
|
5
6
|
* Размер
|
|
6
7
|
*/
|
|
7
|
-
size?: '
|
|
8
|
+
size?: ModalDesktopProps['size'];
|
|
8
9
|
/**
|
|
9
|
-
*
|
|
10
|
+
* Наличие крестика
|
|
10
11
|
*/
|
|
11
|
-
|
|
12
|
+
hasCloser?: boolean;
|
|
12
13
|
};
|
|
13
14
|
declare const HeaderDesktop: FC<HeaderDesktopProps>;
|
|
14
15
|
export { HeaderDesktopProps, HeaderDesktop };
|
|
@@ -7,10 +7,12 @@ var React = require('react');
|
|
|
7
7
|
var cn = require('classnames');
|
|
8
8
|
require('@alfalab/core-components-base-modal/dist/cssm');
|
|
9
9
|
require('../../Context.js');
|
|
10
|
-
require('
|
|
11
|
-
require('../closer/index.module.css');
|
|
12
|
-
require('../closer/Component.js');
|
|
10
|
+
require('./index.module.css');
|
|
13
11
|
var components_header_Component = require('./Component.js');
|
|
12
|
+
require('@alfalab/core-components-icon-button/dist/cssm');
|
|
13
|
+
require('@alfalab/icons-glyph/CrossHeavyMIcon');
|
|
14
|
+
require('../closer/index.module.css');
|
|
15
|
+
var components_closer_Component = require('../closer/Component.js');
|
|
14
16
|
var styles = require('./desktop.module.css');
|
|
15
17
|
|
|
16
18
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -20,8 +22,13 @@ var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
|
|
|
20
22
|
var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
|
|
21
23
|
|
|
22
24
|
var HeaderDesktop = function (_a) {
|
|
23
|
-
var
|
|
24
|
-
|
|
25
|
+
var _b;
|
|
26
|
+
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"]);
|
|
27
|
+
var hasContent = title || Boolean(children);
|
|
28
|
+
return (React__default['default'].createElement(components_header_Component.Header, tslib_es6.__assign({ className: cn__default['default'](className, styles__default['default'].header, size && styles__default['default'][size], (_b = {},
|
|
29
|
+
_b[styles__default['default'].sticky] = sticky,
|
|
30
|
+
_b[styles__default['default'].hasContent] = hasContent,
|
|
31
|
+
_b)), contentClassName: cn__default['default'](styles__default['default'].content, contentClassName), closer: hasCloser ? React__default['default'].createElement(components_closer_Component.Closer, null) : null, leftAddons: leftAddons, sticky: sticky, title: title }, restProps), children));
|
|
25
32
|
};
|
|
26
33
|
|
|
27
34
|
exports.HeaderDesktop = HeaderDesktop;
|
|
@@ -2,36 +2,38 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
require('../../tslib.es6-ce870b46.js');
|
|
6
5
|
var React = require('react');
|
|
7
6
|
var cn = require('classnames');
|
|
8
7
|
require('@alfalab/core-components-base-modal/dist/cssm');
|
|
9
8
|
var Context = require('../../Context.js');
|
|
10
|
-
require('
|
|
11
|
-
require('../closer/index.module.css');
|
|
12
|
-
var components_closer_Component = require('../closer/Component.js');
|
|
9
|
+
var styles = require('./index.module.css');
|
|
13
10
|
|
|
14
11
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
15
12
|
|
|
16
13
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
17
14
|
var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
|
|
15
|
+
var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
|
|
18
16
|
|
|
19
17
|
var Header = function (_a) {
|
|
20
|
-
var _b;
|
|
21
|
-
var className = _a.className, children = _a.children,
|
|
22
|
-
var
|
|
18
|
+
var _b, _c;
|
|
19
|
+
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;
|
|
20
|
+
var _f = React.useContext(Context.ModalContext), headerHighlighted = _f.headerHighlighted, setHasHeader = _f.setHasHeader;
|
|
23
21
|
var hasContent = title || Boolean(children);
|
|
24
22
|
React.useEffect(function () {
|
|
25
23
|
setHasHeader(true);
|
|
26
24
|
}, [setHasHeader]);
|
|
27
|
-
return (React__default['default'].createElement("div", { className: cn__default['default'](
|
|
28
|
-
_b[
|
|
29
|
-
_b[
|
|
25
|
+
return (React__default['default'].createElement("div", { className: cn__default['default'](styles__default['default'].header, className, (_b = {},
|
|
26
|
+
_b[styles__default['default'].highlighted] = hasContent && sticky && headerHighlighted,
|
|
27
|
+
_b[styles__default['default'].sticky] = sticky,
|
|
28
|
+
_b[styles__default['default'].hasContent] = hasContent,
|
|
30
29
|
_b)) },
|
|
31
|
-
|
|
30
|
+
leftAddons && React__default['default'].createElement("div", { className: cn__default['default'](styles__default['default'].addon, addonClassName) }, leftAddons),
|
|
31
|
+
hasContent && (React__default['default'].createElement("div", { className: cn__default['default'](styles__default['default'].content, contentClassName, styles__default['default'][align], (_c = {},
|
|
32
|
+
_c[styles__default['default'].trim] = trim,
|
|
33
|
+
_c)) },
|
|
32
34
|
children,
|
|
33
|
-
title && React__default['default'].createElement("div", { className:
|
|
34
|
-
|
|
35
|
+
title && React__default['default'].createElement("div", { className: styles__default['default'].title }, title))),
|
|
36
|
+
closer && (React__default['default'].createElement("div", { className: cn__default['default'](styles__default['default'].addon, styles__default['default'].closer, addonClassName) }, closer))));
|
|
35
37
|
};
|
|
36
38
|
|
|
37
39
|
exports.Header = Header;
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
2
|
import { HeaderProps } from "./Component";
|
|
3
|
-
type HeaderMobileProps = HeaderProps
|
|
3
|
+
type HeaderMobileProps = Omit<HeaderProps, 'closer'> & {
|
|
4
|
+
/**
|
|
5
|
+
* Наличие крестика
|
|
6
|
+
*/
|
|
7
|
+
hasCloser?: boolean;
|
|
8
|
+
};
|
|
4
9
|
declare const HeaderMobile: FC<HeaderMobileProps>;
|
|
5
10
|
export { HeaderMobileProps, HeaderMobile };
|
|
@@ -4,20 +4,31 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var tslib_es6 = require('../../tslib.es6-ce870b46.js');
|
|
6
6
|
var React = require('react');
|
|
7
|
-
require('classnames');
|
|
7
|
+
var cn = require('classnames');
|
|
8
8
|
require('@alfalab/core-components-base-modal/dist/cssm');
|
|
9
9
|
require('../../Context.js');
|
|
10
|
-
require('
|
|
11
|
-
require('../closer/index.module.css');
|
|
12
|
-
require('../closer/Component.js');
|
|
10
|
+
require('./index.module.css');
|
|
13
11
|
var components_header_Component = require('./Component.js');
|
|
12
|
+
require('@alfalab/core-components-icon-button/dist/cssm');
|
|
13
|
+
require('@alfalab/icons-glyph/CrossHeavyMIcon');
|
|
14
|
+
require('../closer/index.module.css');
|
|
15
|
+
var components_closer_Component = require('../closer/Component.js');
|
|
16
|
+
var CrossMIcon = require('@alfalab/icons-glyph/CrossMIcon');
|
|
14
17
|
var styles = require('./mobile.module.css');
|
|
15
18
|
|
|
16
19
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
17
20
|
|
|
18
21
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
22
|
+
var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
|
|
23
|
+
var CrossMIcon__default = /*#__PURE__*/_interopDefaultLegacy(CrossMIcon);
|
|
19
24
|
var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
|
|
20
25
|
|
|
21
|
-
var HeaderMobile = function (
|
|
26
|
+
var HeaderMobile = function (_a) {
|
|
27
|
+
var _b;
|
|
28
|
+
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"]);
|
|
29
|
+
return (React__default['default'].createElement(components_header_Component.Header, tslib_es6.__assign({ className: cn__default['default'](className, (_b = {},
|
|
30
|
+
_b[styles__default['default'].sticky] = sticky,
|
|
31
|
+
_b)), contentClassName: cn__default['default'](styles__default['default'].content, contentClassName), closer: hasCloser ? React__default['default'].createElement(components_closer_Component.Closer, { icon: CrossMIcon__default['default'], size: 'xs' }) : null, sticky: sticky }, restProps)));
|
|
32
|
+
};
|
|
22
33
|
|
|
23
34
|
exports.HeaderMobile = HeaderMobile;
|
|
@@ -7,64 +7,80 @@
|
|
|
7
7
|
/* Hard up */
|
|
8
8
|
}
|
|
9
9
|
:root {
|
|
10
|
+
--gap-xs: 8px;
|
|
11
|
+
--gap-m: 16px;
|
|
12
|
+
--gap-xl: 24px;
|
|
10
13
|
--gap-3xl: 40px;
|
|
11
|
-
--gap-4xl: 48px;
|
|
12
|
-
--gap-6xl: 72px;
|
|
13
14
|
}
|
|
14
15
|
:root {
|
|
15
|
-
--
|
|
16
|
+
--font-family-system: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica,
|
|
17
|
+
sans-serif;
|
|
16
18
|
}
|
|
17
19
|
:root {
|
|
18
|
-
--
|
|
20
|
+
--border-radius-l: 12px;
|
|
21
|
+
}
|
|
22
|
+
:root {
|
|
23
|
+
--modal-border-radius: var(--border-radius-l);
|
|
19
24
|
--modal-vertical-padding: var(--gap-3xl);
|
|
20
25
|
|
|
21
26
|
/* sizes */
|
|
22
|
-
--modal-header-min-height: 48px;
|
|
23
|
-
--modal-header-l-min-height: 72px;
|
|
24
27
|
|
|
25
28
|
/* paddings */
|
|
26
|
-
--modal-s-header-paddings:
|
|
27
|
-
--modal-m-header-paddings: 0 0 0 var(--gap-4xl);
|
|
28
|
-
--modal-l-header-paddings: 0 0 0 var(--gap-6xl);
|
|
29
|
+
--modal-s-header-paddings: var(--gap-xs) var(--gap-xs) var(--gap-m);
|
|
29
30
|
|
|
30
|
-
/*
|
|
31
|
+
/* scroll */
|
|
31
32
|
|
|
32
|
-
/*
|
|
33
|
+
/* desktop */
|
|
34
|
+
--modal-s-header-desktop-content-paddings: var(--gap-3xl) var(--gap-m) 0 0;
|
|
35
|
+
--modal-s-header-desktop-font-size: 22px;
|
|
36
|
+
--modal-s-header-desktop-line-height: 26px;
|
|
37
|
+
--modal-l-header-desktop-content-paddings: var(--gap-3xl) var(--gap-m) 0 0;
|
|
38
|
+
--modal-l-header-desktop-font-size: 30px;
|
|
39
|
+
--modal-l-header-desktop-line-height: 36px;
|
|
40
|
+
--modal-header-desktop-font-weight: bold;
|
|
41
|
+
--modal-header-desktop-font-family: var(--font-family-system);
|
|
33
42
|
|
|
34
|
-
/*
|
|
43
|
+
/* mobile */
|
|
35
44
|
}
|
|
36
45
|
.header {
|
|
37
|
-
composes: header from 'index.module.css';
|
|
38
|
-
|
|
39
|
-
min-height: var(--modal-header-min-height);
|
|
40
46
|
border-top-left-radius: var(--modal-border-radius);
|
|
41
47
|
border-top-right-radius: var(--modal-border-radius);
|
|
42
48
|
}
|
|
43
|
-
.
|
|
44
|
-
|
|
49
|
+
.content {
|
|
50
|
+
font-weight: var(--modal-header-desktop-font-weight);
|
|
51
|
+
font-family: var(--modal-header-desktop-font-family);
|
|
52
|
+
}
|
|
53
|
+
.s .content,
|
|
54
|
+
.m .content {
|
|
55
|
+
padding: var(--modal-s-header-desktop-content-paddings);
|
|
56
|
+
font-size: var(--modal-s-header-desktop-font-size);
|
|
57
|
+
line-height: var(--modal-s-header-desktop-line-height);
|
|
58
|
+
}
|
|
59
|
+
.l .content,
|
|
60
|
+
.xl .content,
|
|
61
|
+
.fullscreen .content {
|
|
62
|
+
padding: var(--modal-l-header-desktop-content-paddings);
|
|
63
|
+
font-size: var(--modal-l-header-desktop-font-size);
|
|
64
|
+
line-height: var(--modal-l-header-desktop-line-height);
|
|
45
65
|
}
|
|
66
|
+
.s,
|
|
46
67
|
.m {
|
|
47
|
-
padding: var(--modal-
|
|
68
|
+
padding: var(--modal-s-header-paddings)
|
|
48
69
|
}
|
|
70
|
+
.s:not(.hasContent), .m:not(.hasContent) {
|
|
71
|
+
padding-bottom: 0;
|
|
72
|
+
}
|
|
49
73
|
.l,
|
|
74
|
+
.xl,
|
|
50
75
|
.fullscreen {
|
|
51
|
-
|
|
52
|
-
padding: var(--modal-l-header-paddings);
|
|
76
|
+
padding: var(--gap-xl) var(--gap-xl) var(--gap-m)
|
|
53
77
|
}
|
|
78
|
+
.l:not(.hasContent), .xl:not(.hasContent), .fullscreen:not(.hasContent) {
|
|
79
|
+
padding-bottom: var(--gap-m);
|
|
80
|
+
}
|
|
54
81
|
.sticky {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
top: calc(var(--modal-vertical-padding) * -1);
|
|
58
|
-
}
|
|
59
|
-
.fullscreen {
|
|
60
|
-
top: 0;
|
|
61
|
-
}
|
|
62
|
-
.highlighted {
|
|
63
|
-
composes: highlighted from 'index.module.css';
|
|
64
|
-
}
|
|
65
|
-
.content {
|
|
66
|
-
composes: content from 'index.module.css';
|
|
67
|
-
}
|
|
68
|
-
.title {
|
|
69
|
-
composes: title from 'index.module.css';
|
|
82
|
+
top: calc(var(--modal-vertical-padding) * -1)
|
|
70
83
|
}
|
|
84
|
+
.sticky.fullscreen {
|
|
85
|
+
top: 0;
|
|
86
|
+
}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
--color-light-bg-primary: #fff;
|
|
3
3
|
}
|
|
4
4
|
:root {
|
|
5
|
-
--shadow-s: 0 0 8px rgba(11, 31, 53, 0.04), 0 4px 8px rgba(11, 31, 53, 0.08);
|
|
6
5
|
|
|
7
6
|
/* Hard */
|
|
8
7
|
|
|
@@ -10,14 +9,6 @@
|
|
|
10
9
|
|
|
11
10
|
/* Hard up */
|
|
12
11
|
}
|
|
13
|
-
:root {
|
|
14
|
-
--gap-xs: 8px;
|
|
15
|
-
--gap-m: 16px;
|
|
16
|
-
}
|
|
17
|
-
:root {
|
|
18
|
-
--font-family-styrene: 'Styrene UI', system-ui, -apple-system, 'Segoe UI', Roboto,
|
|
19
|
-
'Helvetica Neue', Helvetica, sans-serif;
|
|
20
|
-
}
|
|
21
12
|
:root {
|
|
22
13
|
--modal-header-background: var(--color-light-bg-primary);
|
|
23
14
|
|
|
@@ -25,39 +16,69 @@
|
|
|
25
16
|
|
|
26
17
|
/* paddings */
|
|
27
18
|
|
|
28
|
-
/* closer */
|
|
29
|
-
|
|
30
|
-
/* sticky */
|
|
31
|
-
|
|
32
19
|
/* scroll */
|
|
33
|
-
--modal-header-highlight-box-shadow: var(--shadow-s);
|
|
34
20
|
--modal-header-highlight-background: var(--color-light-bg-primary);
|
|
21
|
+
--modal-header-highlight-box-shadow: none;
|
|
22
|
+
|
|
23
|
+
/* desktop */
|
|
24
|
+
|
|
25
|
+
/* mobile */
|
|
35
26
|
}
|
|
36
27
|
.header {
|
|
37
28
|
width: 100%;
|
|
38
29
|
box-sizing: border-box;
|
|
39
30
|
display: flex;
|
|
40
31
|
align-items: stretch;
|
|
41
|
-
justify-content:
|
|
42
|
-
transition: box-shadow 0.2s ease, background 0.2s ease
|
|
43
|
-
background: var(--modal-header-background);
|
|
32
|
+
justify-content: space-between;
|
|
33
|
+
transition: box-shadow 0.2s ease, background 0.2s ease
|
|
44
34
|
}
|
|
35
|
+
.header:not(.hasContent) {
|
|
36
|
+
pointer-events: none;
|
|
37
|
+
}
|
|
45
38
|
.highlighted {
|
|
46
39
|
background: var(--modal-header-highlight-background);
|
|
47
40
|
box-shadow: var(--modal-header-highlight-box-shadow);
|
|
48
41
|
}
|
|
49
42
|
.sticky {
|
|
50
|
-
position: sticky
|
|
43
|
+
position: sticky
|
|
51
44
|
}
|
|
45
|
+
.sticky.hasContent {
|
|
46
|
+
background: var(--modal-header-background);
|
|
47
|
+
}
|
|
52
48
|
.content {
|
|
53
|
-
font-size: 24px;
|
|
54
|
-
line-height: 32px;
|
|
55
|
-
font-weight: 500;
|
|
56
|
-
font-feature-settings: 'ss01';
|
|
57
|
-
font-family: var(--font-family-styrene);
|
|
58
49
|
flex-grow: 1;
|
|
59
|
-
margin: var(--gap-xs) var(--gap-m) var(--gap-xs) 0;
|
|
60
50
|
}
|
|
61
51
|
.title {
|
|
62
52
|
word-break: break-word;
|
|
63
53
|
}
|
|
54
|
+
.addon {
|
|
55
|
+
min-width: 48px;
|
|
56
|
+
height: 48px;
|
|
57
|
+
display: flex;
|
|
58
|
+
justify-content: center;
|
|
59
|
+
align-items: center;
|
|
60
|
+
pointer-events: all;
|
|
61
|
+
}
|
|
62
|
+
.closer {
|
|
63
|
+
margin-left: auto;
|
|
64
|
+
}
|
|
65
|
+
.left {
|
|
66
|
+
justify-content: flex-start;
|
|
67
|
+
text-align: left;
|
|
68
|
+
}
|
|
69
|
+
.center {
|
|
70
|
+
justify-content: center;
|
|
71
|
+
text-align: center;
|
|
72
|
+
}
|
|
73
|
+
.right {
|
|
74
|
+
justify-content: flex-end;
|
|
75
|
+
text-align: right;
|
|
76
|
+
}
|
|
77
|
+
.trim {
|
|
78
|
+
overflow: hidden
|
|
79
|
+
}
|
|
80
|
+
.trim .title {
|
|
81
|
+
overflow: hidden;
|
|
82
|
+
white-space: nowrap;
|
|
83
|
+
text-overflow: ellipsis;
|
|
84
|
+
}
|
|
@@ -7,7 +7,13 @@
|
|
|
7
7
|
/* Hard up */
|
|
8
8
|
}
|
|
9
9
|
:root {
|
|
10
|
-
--gap-
|
|
10
|
+
--gap-xs: 8px;
|
|
11
|
+
--gap-s: 12px;
|
|
12
|
+
--gap-m: 16px;
|
|
13
|
+
}
|
|
14
|
+
:root {
|
|
15
|
+
--font-family-system: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica,
|
|
16
|
+
sans-serif;
|
|
11
17
|
}
|
|
12
18
|
:root {
|
|
13
19
|
|
|
@@ -15,32 +21,25 @@
|
|
|
15
21
|
|
|
16
22
|
/* paddings */
|
|
17
23
|
|
|
18
|
-
/*
|
|
24
|
+
/* scroll */
|
|
19
25
|
|
|
20
|
-
/*
|
|
26
|
+
/* desktop */
|
|
21
27
|
|
|
22
|
-
/*
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
flex-direction: row-reverse;
|
|
29
|
-
justify-content: flex-end;
|
|
30
|
-
padding-right: var(--gap-4xl);
|
|
31
|
-
padding-left: 0;
|
|
28
|
+
/* mobile */
|
|
29
|
+
--modal-header-mobile-content-paddings: var(--gap-s) var(--gap-xs) var(--gap-s) var(--gap-m);
|
|
30
|
+
--modal-header-mobile-font-size: 18px;
|
|
31
|
+
--modal-header-mobile-line-height: 24px;
|
|
32
|
+
--modal-header-mobile-font-family: var(--font-family-system);
|
|
33
|
+
--modal-header-mobile-font-weight: bold;
|
|
32
34
|
}
|
|
33
35
|
.sticky {
|
|
34
|
-
composes: sticky from 'index.module.css';
|
|
35
|
-
|
|
36
36
|
top: 0;
|
|
37
37
|
}
|
|
38
|
-
.highlighted {
|
|
39
|
-
composes: highlighted from 'index.module.css';
|
|
40
|
-
}
|
|
41
38
|
.content {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
39
|
+
font-size: var(--modal-header-mobile-font-size);
|
|
40
|
+
line-height: var(--modal-header-mobile-line-height);
|
|
41
|
+
font-family: var(--modal-header-mobile-font-family);
|
|
42
|
+
font-weight: var(--modal-header-mobile-font-weight);
|
|
43
|
+
|
|
44
|
+
padding: var(--modal-header-mobile-content-paddings);
|
|
46
45
|
}
|