@alfalab/core-components-side-panel 2.5.7 → 3.0.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.desktop.d.ts +1 -1
- package/Component.desktop.js +12 -10
- package/Component.mobile.d.ts +1 -1
- package/Component.mobile.js +11 -9
- package/Component.responsive.d.ts +1 -2
- package/Component.responsive.js +9 -18
- package/ResponsiveContext.d.ts +5 -0
- package/ResponsiveContext.js +11 -0
- package/components/content/Component.desktop.js +1 -1
- package/components/content/Component.js +6 -3
- package/components/content/Component.mobile.js +1 -1
- package/components/content/desktop.css +7 -4
- package/components/content/index.css +8 -4
- package/components/content/mobile.css +6 -4
- package/components/footer/Component.desktop.js +1 -1
- package/components/footer/Component.js +2 -2
- package/components/footer/Component.mobile.js +1 -1
- package/components/footer/desktop.css +7 -5
- package/components/footer/index.css +8 -6
- package/components/footer/layout.css +27 -25
- package/components/footer/mobile.css +5 -3
- package/components/header/Component.d.ts +3 -51
- package/components/header/Component.js +22 -14
- package/components/header/desktop.css +11 -13
- package/components/header/index.css +18 -24
- package/components/header/mobile.css +10 -6
- package/cssm/Component.desktop.d.ts +1 -1
- package/cssm/Component.desktop.js +12 -10
- package/cssm/Component.mobile.d.ts +1 -1
- package/cssm/Component.mobile.js +10 -8
- package/cssm/Component.responsive.d.ts +1 -2
- package/cssm/Component.responsive.js +12 -22
- package/cssm/ResponsiveContext.d.ts +5 -0
- package/cssm/ResponsiveContext.js +11 -0
- package/cssm/components/content/Component.js +5 -2
- package/cssm/components/content/desktop.module.css +4 -1
- package/cssm/components/content/index.module.css +6 -2
- package/cssm/components/content/mobile.module.css +3 -1
- package/cssm/components/footer/desktop.module.css +4 -2
- package/cssm/components/footer/index.module.css +4 -2
- package/cssm/components/footer/layout.module.css +2 -0
- package/cssm/components/footer/mobile.module.css +2 -0
- package/cssm/components/header/Component.d.ts +3 -51
- package/cssm/components/header/Component.js +19 -13
- package/cssm/components/header/desktop.module.css +7 -9
- package/cssm/components/header/index.module.css +4 -10
- package/cssm/components/header/mobile.module.css +7 -3
- package/cssm/desktop.js +4 -6
- package/cssm/desktop.module.css +2 -0
- package/cssm/index.js +6 -11
- package/cssm/mobile.js +3 -5
- package/cssm/mobile.module.css +2 -0
- package/cssm/responsive.js +6 -11
- package/cssm/typings.d.ts +7 -0
- package/cssm/typings.js +2 -0
- package/cssm/vars.css +2 -0
- package/desktop.css +5 -3
- package/desktop.js +2 -4
- package/esm/Component.desktop.d.ts +1 -1
- package/esm/Component.desktop.js +13 -11
- package/esm/Component.mobile.d.ts +1 -1
- package/esm/Component.mobile.js +12 -10
- package/esm/Component.responsive.d.ts +1 -2
- package/esm/Component.responsive.js +8 -17
- package/esm/ResponsiveContext.d.ts +5 -0
- package/esm/ResponsiveContext.js +5 -0
- package/esm/components/content/Component.desktop.js +1 -1
- package/esm/components/content/Component.js +6 -3
- package/esm/components/content/Component.mobile.js +1 -1
- package/esm/components/content/desktop.css +7 -4
- package/esm/components/content/index.css +8 -4
- package/esm/components/content/mobile.css +6 -4
- package/esm/components/footer/Component.desktop.js +1 -1
- package/esm/components/footer/Component.js +2 -2
- package/esm/components/footer/Component.mobile.js +1 -1
- package/esm/components/footer/desktop.css +7 -5
- package/esm/components/footer/index.css +8 -6
- package/esm/components/footer/layout.css +27 -25
- package/esm/components/footer/mobile.css +5 -3
- package/esm/components/header/Component.d.ts +3 -51
- package/esm/components/header/Component.js +23 -15
- package/esm/components/header/desktop.css +11 -13
- package/esm/components/header/index.css +18 -24
- package/esm/components/header/mobile.css +10 -6
- package/esm/desktop.css +5 -3
- package/esm/desktop.js +2 -4
- package/esm/index.js +3 -7
- package/esm/mobile.css +4 -2
- package/esm/mobile.js +2 -4
- package/esm/responsive.js +3 -7
- package/esm/transitions.desktop.css +7 -7
- package/esm/transitions.mobile.css +8 -8
- package/esm/typings.d.ts +7 -0
- package/esm/typings.js +1 -0
- package/index.js +3 -7
- package/mobile.css +4 -2
- package/mobile.js +2 -4
- package/modern/Component.desktop.d.ts +1 -1
- package/modern/Component.desktop.js +12 -10
- package/modern/Component.mobile.d.ts +1 -1
- package/modern/Component.mobile.js +17 -13
- package/modern/Component.responsive.d.ts +1 -2
- package/modern/Component.responsive.js +8 -17
- package/modern/ResponsiveContext.d.ts +5 -0
- package/modern/ResponsiveContext.js +5 -0
- package/modern/components/content/Component.desktop.js +1 -1
- package/modern/components/content/Component.js +5 -3
- package/modern/components/content/Component.mobile.js +1 -1
- package/modern/components/content/desktop.css +7 -4
- package/modern/components/content/index.css +8 -4
- package/modern/components/content/mobile.css +6 -4
- 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 +7 -5
- package/modern/components/footer/index.css +8 -6
- package/modern/components/footer/layout.css +27 -25
- package/modern/components/footer/mobile.css +5 -3
- package/modern/components/header/Component.d.ts +3 -51
- package/modern/components/header/Component.js +22 -16
- package/modern/components/header/desktop.css +11 -13
- package/modern/components/header/index.css +18 -24
- package/modern/components/header/mobile.css +10 -6
- package/modern/desktop.css +5 -3
- package/modern/desktop.js +2 -4
- package/modern/index.js +3 -7
- package/modern/mobile.css +4 -2
- package/modern/mobile.js +2 -4
- package/modern/responsive.js +3 -7
- package/modern/transitions.desktop.css +7 -7
- package/modern/transitions.mobile.css +8 -8
- package/modern/typings.d.ts +7 -0
- package/modern/typings.js +1 -0
- package/package.json +4 -3
- package/responsive.js +3 -7
- package/transitions.desktop.css +7 -7
- package/transitions.mobile.css +8 -8
- package/typings.d.ts +7 -0
- package/typings.js +2 -0
- package/components/closer/Component.d.ts +0 -29
- package/components/closer/Component.js +0 -34
- package/components/closer/index.css +0 -47
- package/components/header/Component.desktop.d.ts +0 -18
- package/components/header/Component.desktop.js +0 -31
- package/components/header/Component.mobile.d.ts +0 -14
- package/components/header/Component.mobile.js +0 -30
- package/cssm/components/closer/Component.d.ts +0 -29
- package/cssm/components/closer/Component.js +0 -33
- package/cssm/components/closer/index.module.css +0 -46
- package/cssm/components/header/Component.desktop.d.ts +0 -18
- package/cssm/components/header/Component.desktop.js +0 -32
- package/cssm/components/header/Component.mobile.d.ts +0 -14
- package/cssm/components/header/Component.mobile.js +0 -31
- package/esm/components/closer/Component.d.ts +0 -29
- package/esm/components/closer/Component.js +0 -27
- package/esm/components/closer/index.css +0 -47
- package/esm/components/header/Component.desktop.d.ts +0 -18
- package/esm/components/header/Component.desktop.js +0 -24
- package/esm/components/header/Component.mobile.d.ts +0 -14
- package/esm/components/header/Component.mobile.js +0 -22
- package/modern/components/closer/Component.d.ts +0 -29
- package/modern/components/closer/Component.js +0 -24
- package/modern/components/closer/index.css +0 -47
- package/modern/components/header/Component.desktop.d.ts +0 -18
- package/modern/components/header/Component.desktop.js +0 -21
- package/modern/components/header/Component.mobile.d.ts +0 -14
- package/modern/components/header/Component.mobile.js +0 -17
|
@@ -1,53 +1,5 @@
|
|
|
1
|
-
import { FC
|
|
2
|
-
|
|
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
|
-
imageUrl?: string;
|
|
47
|
-
/**
|
|
48
|
-
* Идентификатор для систем автоматизированного тестирования
|
|
49
|
-
*/
|
|
50
|
-
dataTestId?: string;
|
|
51
|
-
};
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { NavigationBarProps } from "@alfalab/core-components-navigation-bar";
|
|
3
|
+
type HeaderProps = Omit<NavigationBarProps, 'size' | 'view' | 'parentRef'>;
|
|
52
4
|
declare const Header: FC<HeaderProps>;
|
|
53
5
|
export { HeaderProps, Header };
|
|
@@ -3,37 +3,43 @@
|
|
|
3
3
|
var tslib = require('tslib');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var cn = require('classnames');
|
|
6
|
+
var coreComponentsNavigationBar = require('@alfalab/core-components-navigation-bar/cssm');
|
|
6
7
|
var Context = require('../../Context.js');
|
|
8
|
+
var ResponsiveContext = require('../../ResponsiveContext.js');
|
|
9
|
+
var desktopStyles = require('./desktop.module.css');
|
|
7
10
|
var styles = require('./index.module.css');
|
|
11
|
+
var mobileStyles = require('./mobile.module.css');
|
|
8
12
|
require('@alfalab/core-components-base-modal/cssm');
|
|
9
13
|
|
|
10
14
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
11
15
|
|
|
12
16
|
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
13
17
|
var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
18
|
+
var desktopStyles__default = /*#__PURE__*/_interopDefaultCompat(desktopStyles);
|
|
14
19
|
var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
|
|
20
|
+
var mobileStyles__default = /*#__PURE__*/_interopDefaultCompat(mobileStyles);
|
|
15
21
|
|
|
16
22
|
var Header = function (_a) {
|
|
17
23
|
var _b, _c;
|
|
18
|
-
var className = _a.className,
|
|
19
|
-
var
|
|
20
|
-
var
|
|
24
|
+
var className = _a.className, children = _a.children, contentClassName = _a.contentClassName, title = _a.title, sticky = _a.sticky, _d = _a.hasCloser, hasCloser = _d === void 0 ? true : _d, restProps = tslib.__rest(_a, ["className", "children", "contentClassName", "title", "sticky", "hasCloser"]);
|
|
25
|
+
var _e = React.useContext(Context.ModalContext), setHasHeader = _e.setHasHeader, headerHighlighted = _e.headerHighlighted, parentRef = _e.parentRef, onClose = _e.onClose;
|
|
26
|
+
var _f = React.useContext(ResponsiveContext.ResponsiveContext) || {}, _g = _f.size, size = _g === void 0 ? 's' : _g, _h = _f.view, view = _h === void 0 ? 'desktop' : _h;
|
|
21
27
|
React.useEffect(function () {
|
|
22
28
|
setHasHeader(true);
|
|
23
29
|
}, [setHasHeader]);
|
|
24
|
-
|
|
25
|
-
|
|
30
|
+
var hasContent = Boolean(title || children);
|
|
31
|
+
return (React__default.default.createElement(coreComponentsNavigationBar.NavigationBar, tslib.__assign({}, restProps, { parentRef: parentRef, view: view, sticky: sticky, title: title, hasCloser: hasCloser, onClose: onClose, className: cn__default.default(styles__default.default.header, className, (_b = {},
|
|
26
32
|
_b[styles__default.default.highlighted] = hasContent && sticky && headerHighlighted,
|
|
27
33
|
_b[styles__default.default.sticky] = sticky,
|
|
28
34
|
_b[styles__default.default.hasContent] = hasContent,
|
|
29
|
-
_b
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
_b[desktopStyles__default.default.sticky] = view === 'desktop' && sticky,
|
|
36
|
+
_b[desktopStyles__default.default[size]] = view === 'desktop',
|
|
37
|
+
_b[mobileStyles__default.default.sticky] = view === 'mobile' && sticky,
|
|
38
|
+
_b[mobileStyles__default.default.header] = view === 'mobile',
|
|
39
|
+
_b)), contentClassName: cn__default.default(contentClassName, (_c = {},
|
|
40
|
+
_c[desktopStyles__default.default.content] = view === 'desktop',
|
|
41
|
+
_c[mobileStyles__default.default.content] = view === 'mobile',
|
|
42
|
+
_c)) }), children));
|
|
37
43
|
};
|
|
38
44
|
|
|
39
45
|
exports.Header = Header;
|
|
@@ -11,9 +11,7 @@
|
|
|
11
11
|
/* Hard up */
|
|
12
12
|
} :root {
|
|
13
13
|
} :root {
|
|
14
|
-
--gap-xs: 8px;
|
|
15
14
|
--gap-s: 12px;
|
|
16
|
-
--gap-m: 16px;
|
|
17
15
|
} :root {
|
|
18
16
|
--font-family-system: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica,
|
|
19
17
|
sans-serif;
|
|
@@ -23,18 +21,20 @@
|
|
|
23
21
|
/* sizes */
|
|
24
22
|
|
|
25
23
|
/* paddings */
|
|
26
|
-
--side-panel-s-header-paddings:
|
|
24
|
+
--side-panel-s-header-paddings: 28px 28px 0;
|
|
27
25
|
|
|
28
26
|
/* scroll */
|
|
29
27
|
|
|
30
28
|
/* desktop */
|
|
31
|
-
--side-panel-s-header-desktop-content-paddings: var(--gap-s)
|
|
32
|
-
--side-panel-s-header-desktop-font-size:
|
|
29
|
+
--side-panel-s-header-desktop-content-paddings: var(--gap-s);
|
|
30
|
+
--side-panel-s-header-desktop-font-size: 20px;
|
|
33
31
|
--side-panel-s-header-desktop-line-height: 26px;
|
|
34
32
|
--side-panel-header-desktop-font-weight: bold;
|
|
35
33
|
--side-panel-header-desktop-font-family: var(--font-family-system);
|
|
36
34
|
|
|
37
35
|
/* mobile */
|
|
36
|
+
|
|
37
|
+
/* paddings */
|
|
38
38
|
} .content {
|
|
39
39
|
font-weight: var(--side-panel-header-desktop-font-weight);
|
|
40
40
|
font-family: var(--side-panel-header-desktop-font-family);
|
|
@@ -43,9 +43,7 @@
|
|
|
43
43
|
font-size: var(--side-panel-s-header-desktop-font-size);
|
|
44
44
|
line-height: var(--side-panel-s-header-desktop-line-height);
|
|
45
45
|
} .s {
|
|
46
|
-
padding: var(--side-panel-s-header-paddings)
|
|
47
|
-
} .
|
|
48
|
-
padding-bottom: 0;
|
|
49
|
-
} .sticky {
|
|
46
|
+
padding: var(--side-panel-s-header-paddings);
|
|
47
|
+
} .sticky {
|
|
50
48
|
top: 0;
|
|
51
49
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
:root {
|
|
2
2
|
} /* deprecated */ :root {
|
|
3
3
|
--color-light-bg-primary: #fff;
|
|
4
|
+
--color-light-border-secondary: #e7e9eb;
|
|
4
5
|
} :root {
|
|
5
6
|
} :root {
|
|
6
7
|
} :root {
|
|
@@ -23,17 +24,16 @@
|
|
|
23
24
|
|
|
24
25
|
/* scroll */
|
|
25
26
|
--side-panel-header-highlight-background: var(--color-light-bg-primary);
|
|
26
|
-
--side-panel-header-highlight-box-shadow:
|
|
27
|
+
--side-panel-header-highlight-box-shadow: 0 1px 0 0 var(--color-light-border-secondary);
|
|
27
28
|
|
|
28
29
|
/* desktop */
|
|
29
30
|
|
|
30
31
|
/* mobile */
|
|
32
|
+
|
|
33
|
+
/* paddings */
|
|
31
34
|
} .header {
|
|
32
35
|
width: 100%;
|
|
33
36
|
box-sizing: border-box;
|
|
34
|
-
display: flex;
|
|
35
|
-
align-items: stretch;
|
|
36
|
-
justify-content: space-between;
|
|
37
37
|
transition: box-shadow 0.2s ease, background 0.2s ease
|
|
38
38
|
} .header:not(.hasContent) {
|
|
39
39
|
pointer-events: none;
|
|
@@ -61,12 +61,6 @@
|
|
|
61
61
|
pointer-events: all;
|
|
62
62
|
} .closer {
|
|
63
63
|
margin-left: auto;
|
|
64
|
-
} .left {
|
|
65
|
-
justify-content: flex-start;
|
|
66
|
-
text-align: left;
|
|
67
|
-
} .center {
|
|
68
|
-
justify-content: center;
|
|
69
|
-
text-align: center;
|
|
70
64
|
} .right {
|
|
71
65
|
justify-content: flex-end;
|
|
72
66
|
text-align: right;
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
/* Hard up */
|
|
12
12
|
} :root {
|
|
13
13
|
} :root {
|
|
14
|
+
--gap-2xs: 4px;
|
|
14
15
|
--gap-xs: 8px;
|
|
15
16
|
--gap-s: 12px;
|
|
16
|
-
--gap-m: 16px;
|
|
17
17
|
} :root {
|
|
18
18
|
--font-family-system: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica,
|
|
19
19
|
sans-serif;
|
|
@@ -29,12 +29,16 @@
|
|
|
29
29
|
/* desktop */
|
|
30
30
|
|
|
31
31
|
/* mobile */
|
|
32
|
-
--side-panel-header-mobile-content-paddings: var(--gap-s) var(--gap-xs)
|
|
33
|
-
var(--gap-m);
|
|
32
|
+
--side-panel-header-mobile-content-paddings: var(--gap-s) var(--gap-xs);
|
|
34
33
|
--side-panel-header-mobile-font-size: 18px;
|
|
35
34
|
--side-panel-header-mobile-line-height: 24px;
|
|
36
35
|
--side-panel-header-mobile-font-family: var(--font-family-system);
|
|
37
36
|
--side-panel-header-mobile-font-weight: bold;
|
|
37
|
+
|
|
38
|
+
/* paddings */
|
|
39
|
+
--side-panel-header-mobile-paddings: var(--gap-2xs) var(--gap-xs);
|
|
40
|
+
} .header {
|
|
41
|
+
padding: var(--side-panel-header-mobile-paddings);
|
|
38
42
|
} .sticky {
|
|
39
43
|
top: 0;
|
|
40
44
|
} .content {
|
package/cssm/desktop.js
CHANGED
|
@@ -17,14 +17,12 @@ require('./components/footer/Component.js');
|
|
|
17
17
|
require('./components/footer/index.module.css');
|
|
18
18
|
require('./components/footer/layout.module.css');
|
|
19
19
|
require('./components/footer/desktop.module.css');
|
|
20
|
-
require('./components/header/Component.desktop.js');
|
|
21
|
-
require('@alfalab/icons-glyph/CrossHeavyMIcon');
|
|
22
|
-
require('./components/closer/Component.js');
|
|
23
|
-
require('@alfalab/core-components-icon-button/cssm');
|
|
24
|
-
require('./components/closer/index.module.css');
|
|
25
20
|
require('./components/header/Component.js');
|
|
26
|
-
require('
|
|
21
|
+
require('@alfalab/core-components-navigation-bar/cssm');
|
|
22
|
+
require('./ResponsiveContext.js');
|
|
27
23
|
require('./components/header/desktop.module.css');
|
|
24
|
+
require('./components/header/index.module.css');
|
|
25
|
+
require('./components/header/mobile.module.css');
|
|
28
26
|
require('./desktop.module.css');
|
|
29
27
|
require('./transitions.desktop.module.css');
|
|
30
28
|
|
package/cssm/desktop.module.css
CHANGED
package/cssm/index.js
CHANGED
|
@@ -5,10 +5,13 @@ var Context = require('./Context.js');
|
|
|
5
5
|
require('tslib');
|
|
6
6
|
require('react');
|
|
7
7
|
require('@alfalab/core-components-mq/cssm');
|
|
8
|
-
require('./components/
|
|
8
|
+
require('./components/header/Component.js');
|
|
9
9
|
require('classnames');
|
|
10
|
-
require('@alfalab/core-components-
|
|
11
|
-
require('./
|
|
10
|
+
require('@alfalab/core-components-navigation-bar/cssm');
|
|
11
|
+
require('./ResponsiveContext.js');
|
|
12
|
+
require('./components/header/desktop.module.css');
|
|
13
|
+
require('./components/header/index.module.css');
|
|
14
|
+
require('./components/header/mobile.module.css');
|
|
12
15
|
require('@alfalab/core-components-base-modal/cssm');
|
|
13
16
|
require('./Component.desktop.js');
|
|
14
17
|
require('react-merge-refs');
|
|
@@ -22,11 +25,6 @@ require('./components/footer/Component.js');
|
|
|
22
25
|
require('./components/footer/index.module.css');
|
|
23
26
|
require('./components/footer/layout.module.css');
|
|
24
27
|
require('./components/footer/desktop.module.css');
|
|
25
|
-
require('./components/header/Component.desktop.js');
|
|
26
|
-
require('@alfalab/icons-glyph/CrossHeavyMIcon');
|
|
27
|
-
require('./components/header/Component.js');
|
|
28
|
-
require('./components/header/index.module.css');
|
|
29
|
-
require('./components/header/desktop.module.css');
|
|
30
28
|
require('./desktop.module.css');
|
|
31
29
|
require('./transitions.desktop.module.css');
|
|
32
30
|
require('./Component.mobile.js');
|
|
@@ -34,9 +32,6 @@ require('./components/content/Component.mobile.js');
|
|
|
34
32
|
require('./components/content/mobile.module.css');
|
|
35
33
|
require('./components/footer/Component.mobile.js');
|
|
36
34
|
require('./components/footer/mobile.module.css');
|
|
37
|
-
require('./components/header/Component.mobile.js');
|
|
38
|
-
require('@alfalab/icons-glyph/CrossMIcon');
|
|
39
|
-
require('./components/header/mobile.module.css');
|
|
40
35
|
require('./mobile.module.css');
|
|
41
36
|
require('./transitions.mobile.module.css');
|
|
42
37
|
|
package/cssm/mobile.js
CHANGED
|
@@ -15,12 +15,10 @@ require('./components/footer/Component.js');
|
|
|
15
15
|
require('./components/footer/index.module.css');
|
|
16
16
|
require('./components/footer/layout.module.css');
|
|
17
17
|
require('./components/footer/mobile.module.css');
|
|
18
|
-
require('./components/header/Component.mobile.js');
|
|
19
|
-
require('@alfalab/icons-glyph/CrossMIcon');
|
|
20
|
-
require('./components/closer/Component.js');
|
|
21
|
-
require('@alfalab/core-components-icon-button/cssm');
|
|
22
|
-
require('./components/closer/index.module.css');
|
|
23
18
|
require('./components/header/Component.js');
|
|
19
|
+
require('@alfalab/core-components-navigation-bar/cssm');
|
|
20
|
+
require('./ResponsiveContext.js');
|
|
21
|
+
require('./components/header/desktop.module.css');
|
|
24
22
|
require('./components/header/index.module.css');
|
|
25
23
|
require('./components/header/mobile.module.css');
|
|
26
24
|
require('./mobile.module.css');
|
package/cssm/mobile.module.css
CHANGED
package/cssm/responsive.js
CHANGED
|
@@ -4,12 +4,15 @@ var Component_responsive = require('./Component.responsive.js');
|
|
|
4
4
|
require('tslib');
|
|
5
5
|
require('react');
|
|
6
6
|
require('@alfalab/core-components-mq/cssm');
|
|
7
|
-
require('./components/
|
|
7
|
+
require('./components/header/Component.js');
|
|
8
8
|
require('classnames');
|
|
9
|
-
require('@alfalab/core-components-
|
|
9
|
+
require('@alfalab/core-components-navigation-bar/cssm');
|
|
10
10
|
require('./Context.js');
|
|
11
11
|
require('@alfalab/core-components-base-modal/cssm');
|
|
12
|
-
require('./
|
|
12
|
+
require('./ResponsiveContext.js');
|
|
13
|
+
require('./components/header/desktop.module.css');
|
|
14
|
+
require('./components/header/index.module.css');
|
|
15
|
+
require('./components/header/mobile.module.css');
|
|
13
16
|
require('./Component.desktop.js');
|
|
14
17
|
require('react-merge-refs');
|
|
15
18
|
require('@alfalab/core-components-drawer/cssm');
|
|
@@ -22,11 +25,6 @@ require('./components/footer/Component.js');
|
|
|
22
25
|
require('./components/footer/index.module.css');
|
|
23
26
|
require('./components/footer/layout.module.css');
|
|
24
27
|
require('./components/footer/desktop.module.css');
|
|
25
|
-
require('./components/header/Component.desktop.js');
|
|
26
|
-
require('@alfalab/icons-glyph/CrossHeavyMIcon');
|
|
27
|
-
require('./components/header/Component.js');
|
|
28
|
-
require('./components/header/index.module.css');
|
|
29
|
-
require('./components/header/desktop.module.css');
|
|
30
28
|
require('./desktop.module.css');
|
|
31
29
|
require('./transitions.desktop.module.css');
|
|
32
30
|
require('./Component.mobile.js');
|
|
@@ -34,9 +32,6 @@ require('./components/content/Component.mobile.js');
|
|
|
34
32
|
require('./components/content/mobile.module.css');
|
|
35
33
|
require('./components/footer/Component.mobile.js');
|
|
36
34
|
require('./components/footer/mobile.module.css');
|
|
37
|
-
require('./components/header/Component.mobile.js');
|
|
38
|
-
require('@alfalab/icons-glyph/CrossMIcon');
|
|
39
|
-
require('./components/header/mobile.module.css');
|
|
40
35
|
require('./mobile.module.css');
|
|
41
36
|
require('./transitions.mobile.module.css');
|
|
42
37
|
|
package/cssm/typings.js
ADDED
package/cssm/vars.css
CHANGED
package/desktop.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: fb8hr */
|
|
2
2
|
:root {
|
|
3
3
|
} /* deprecated */ :root {
|
|
4
4
|
} :root {
|
|
@@ -26,8 +26,10 @@
|
|
|
26
26
|
/* desktop */
|
|
27
27
|
|
|
28
28
|
/* mobile */
|
|
29
|
-
|
|
29
|
+
|
|
30
|
+
/* paddings */
|
|
31
|
+
} .side-panel__s_1r2o9 {
|
|
30
32
|
width: var(--side-panel-s-width);
|
|
31
|
-
} .side-
|
|
33
|
+
} .side-panel__hidden_1r2o9 {
|
|
32
34
|
overflow-x: hidden;
|
|
33
35
|
}
|
package/desktop.js
CHANGED
|
@@ -12,11 +12,9 @@ require('./Context.js');
|
|
|
12
12
|
require('@alfalab/core-components-base-modal');
|
|
13
13
|
require('./components/footer/Component.desktop.js');
|
|
14
14
|
require('./components/footer/Component.js');
|
|
15
|
-
require('./components/header/Component.desktop.js');
|
|
16
|
-
require('@alfalab/icons-glyph/CrossHeavyMIcon');
|
|
17
|
-
require('./components/closer/Component.js');
|
|
18
|
-
require('@alfalab/core-components-icon-button');
|
|
19
15
|
require('./components/header/Component.js');
|
|
16
|
+
require('@alfalab/core-components-navigation-bar');
|
|
17
|
+
require('./ResponsiveContext.js');
|
|
20
18
|
|
|
21
19
|
|
|
22
20
|
|
|
@@ -27,7 +27,7 @@ declare const SidePanelDesktop: React.ForwardRefExoticComponent<BaseModalProps &
|
|
|
27
27
|
hasCloser?: boolean | undefined;
|
|
28
28
|
} & React.RefAttributes<HTMLDivElement>> & {
|
|
29
29
|
Content: React.FC<import("./components/content/Component.desktop").ContentDesktopProps>;
|
|
30
|
-
Header: React.FC<import("./components/header/Component
|
|
30
|
+
Header: React.FC<import("./components/header/Component").HeaderProps>;
|
|
31
31
|
Footer: React.FC<import("./components/footer/Component.desktop").FooterDesktopProps>;
|
|
32
32
|
};
|
|
33
33
|
export { SidePanelDesktopProps, SidePanelDesktop };
|
package/esm/Component.desktop.js
CHANGED
|
@@ -1,29 +1,28 @@
|
|
|
1
1
|
import { __rest, __assign } from 'tslib';
|
|
2
|
-
import React, { forwardRef, useRef, isValidElement, cloneElement } from 'react';
|
|
2
|
+
import React, { forwardRef, useContext, useRef, isValidElement, cloneElement } from 'react';
|
|
3
3
|
import mergeRefs from 'react-merge-refs';
|
|
4
4
|
import cn from 'classnames';
|
|
5
5
|
import { Drawer } from '@alfalab/core-components-drawer/esm';
|
|
6
6
|
import { ContentDesktop } from './components/content/Component.desktop.js';
|
|
7
7
|
import { FooterDesktop } from './components/footer/Component.desktop.js';
|
|
8
|
-
import {
|
|
8
|
+
import { Header } from './components/header/Component.js';
|
|
9
|
+
import { ResponsiveContext } from './ResponsiveContext.js';
|
|
9
10
|
import './components/content/Component.js';
|
|
10
11
|
import './Context.js';
|
|
11
12
|
import '@alfalab/core-components-base-modal/esm';
|
|
12
13
|
import './components/footer/Component.js';
|
|
13
|
-
import '@alfalab/
|
|
14
|
-
import './components/closer/Component.js';
|
|
15
|
-
import '@alfalab/core-components-icon-button/esm';
|
|
16
|
-
import './components/header/Component.js';
|
|
14
|
+
import '@alfalab/core-components-navigation-bar/esm';
|
|
17
15
|
|
|
18
|
-
var styles = {"s":"side-
|
|
16
|
+
var styles = {"s":"side-panel__s_1r2o9","hidden":"side-panel__hidden_1r2o9"};
|
|
19
17
|
require('./desktop.css')
|
|
20
18
|
|
|
21
|
-
var transitions = {"enterRight":"side-
|
|
19
|
+
var transitions = {"enterRight":"side-panel__enterRight_bau9w","enterLeft":"side-panel__enterLeft_bau9w","enterActive":"side-panel__enterActive_bau9w","exit":"side-panel__exit_bau9w","exitActiveRight":"side-panel__exitActiveRight_bau9w","exitActiveLeft":"side-panel__exitActiveLeft_bau9w"};
|
|
22
20
|
require('./transitions.desktop.css')
|
|
23
21
|
|
|
24
22
|
var SidePanelDesktopComponent = forwardRef(function (_a, ref) {
|
|
25
23
|
var _b, _c;
|
|
26
24
|
var _d = _a.size, size = _d === void 0 ? 's' : _d, children = _a.children, className = _a.className, wrapperClassName = _a.wrapperClassName, _e = _a.contentTransitionProps, contentTransitionProps = _e === void 0 ? {} : _e, backdropProps = _a.backdropProps, _f = _a.placement, placement = _f === void 0 ? 'right' : _f, restProps = __rest(_a, ["size", "children", "className", "wrapperClassName", "contentTransitionProps", "backdropProps", "placement"]);
|
|
25
|
+
var responsiveContext = useContext(ResponsiveContext);
|
|
27
26
|
var modalRef = useRef(null);
|
|
28
27
|
var enterCn = cn((_b = {},
|
|
29
28
|
_b[transitions.appearRight] = placement === 'right',
|
|
@@ -33,7 +32,8 @@ var SidePanelDesktopComponent = forwardRef(function (_a, ref) {
|
|
|
33
32
|
_c[transitions.exitActiveRight] = placement === 'right',
|
|
34
33
|
_c[transitions.exitActiveLeft] = placement === 'left',
|
|
35
34
|
_c));
|
|
36
|
-
|
|
35
|
+
var contextValue = React.useMemo(function () { return ({ size: size, view: 'desktop' }); }, [size]);
|
|
36
|
+
var renderContent = function () { return (React.createElement(Drawer, __assign({}, restProps, { ref: mergeRefs([ref, modalRef]), placement: placement, wrapperClassName: wrapperClassName, className: cn(className, styles[size], styles.hidden), backdropProps: backdropProps, contentTransitionProps: __assign({ classNames: {
|
|
37
37
|
appear: enterCn,
|
|
38
38
|
enter: enterCn,
|
|
39
39
|
appearActive: transitions.enterActive,
|
|
@@ -43,11 +43,13 @@ var SidePanelDesktopComponent = forwardRef(function (_a, ref) {
|
|
|
43
43
|
exitDone: exitCn,
|
|
44
44
|
} }, contentTransitionProps) }), React.Children.map(children, function (child) {
|
|
45
45
|
return isValidElement(child) ? cloneElement(child, { size: size }) : child;
|
|
46
|
-
})));
|
|
46
|
+
}))); };
|
|
47
|
+
var renderWithContext = function () { return (React.createElement(ResponsiveContext.Provider, { value: contextValue }, renderContent())); };
|
|
48
|
+
return responsiveContext ? renderContent() : renderWithContext();
|
|
47
49
|
});
|
|
48
50
|
var SidePanelDesktop = Object.assign(SidePanelDesktopComponent, {
|
|
49
51
|
Content: ContentDesktop,
|
|
50
|
-
Header:
|
|
52
|
+
Header: Header,
|
|
51
53
|
Footer: FooterDesktop,
|
|
52
54
|
});
|
|
53
55
|
|
|
@@ -16,7 +16,7 @@ declare const SidePanelMobile: React.ForwardRefExoticComponent<BaseModalProps &
|
|
|
16
16
|
hasCloser?: boolean | undefined;
|
|
17
17
|
} & React.RefAttributes<HTMLDivElement>> & {
|
|
18
18
|
Content: React.FC<import("./components/content/Component").ContentProps>;
|
|
19
|
-
Header: React.FC<import("./components/header/Component
|
|
19
|
+
Header: React.FC<import("./components/header/Component").HeaderProps>;
|
|
20
20
|
Footer: React.FC<import("./components/footer/Component").FooterProps>;
|
|
21
21
|
};
|
|
22
22
|
export { SidePanelMobileProps, SidePanelMobile };
|
package/esm/Component.mobile.js
CHANGED
|
@@ -1,31 +1,33 @@
|
|
|
1
1
|
import { __rest, __assign } from 'tslib';
|
|
2
|
-
import React, { forwardRef } from 'react';
|
|
2
|
+
import React, { forwardRef, useContext } from 'react';
|
|
3
3
|
import cn from 'classnames';
|
|
4
4
|
import { BaseModal } from '@alfalab/core-components-base-modal/esm';
|
|
5
5
|
import { ContentMobile } from './components/content/Component.mobile.js';
|
|
6
6
|
import { FooterMobile } from './components/footer/Component.mobile.js';
|
|
7
|
-
import {
|
|
7
|
+
import { Header } from './components/header/Component.js';
|
|
8
|
+
import { ResponsiveContext } from './ResponsiveContext.js';
|
|
8
9
|
import './components/content/Component.js';
|
|
9
10
|
import './Context.js';
|
|
10
11
|
import './components/footer/Component.js';
|
|
11
|
-
import '@alfalab/
|
|
12
|
-
import './components/closer/Component.js';
|
|
13
|
-
import '@alfalab/core-components-icon-button/esm';
|
|
14
|
-
import './components/header/Component.js';
|
|
12
|
+
import '@alfalab/core-components-navigation-bar/esm';
|
|
15
13
|
|
|
16
|
-
var styles = {"component":"side-
|
|
14
|
+
var styles = {"component":"side-panel__component_1xf0f"};
|
|
17
15
|
require('./mobile.css')
|
|
18
16
|
|
|
19
|
-
var transitions = {"appear":"side-
|
|
17
|
+
var transitions = {"appear":"side-panel__appear_1334h","enter":"side-panel__enter_1334h","appearActive":"side-panel__appearActive_1334h","enterActive":"side-panel__enterActive_1334h","exit":"side-panel__exit_1334h","exitActive":"side-panel__exitActive_1334h","exitDone":"side-panel__exitDone_1334h"};
|
|
20
18
|
require('./transitions.mobile.css')
|
|
21
19
|
|
|
20
|
+
var contextValue = { size: 's', view: 'mobile' };
|
|
22
21
|
var SidePanelMobileComponent = forwardRef(function (_a, ref) {
|
|
23
22
|
var children = _a.children, className = _a.className, transitionProps = _a.transitionProps, restProps = __rest(_a, ["children", "className", "transitionProps"]);
|
|
24
|
-
|
|
23
|
+
var responsiveContext = useContext(ResponsiveContext);
|
|
24
|
+
var renderContent = function () { return (React.createElement(BaseModal, __assign({}, restProps, { ref: ref, transitionProps: __assign({ classNames: transitions }, transitionProps), className: cn(className, styles.component) }), children)); };
|
|
25
|
+
var renderWithContext = function () { return (React.createElement(ResponsiveContext.Provider, { value: contextValue }, renderContent())); };
|
|
26
|
+
return responsiveContext ? renderContent() : renderWithContext();
|
|
25
27
|
});
|
|
26
28
|
var SidePanelMobile = Object.assign(SidePanelMobileComponent, {
|
|
27
29
|
Content: ContentMobile,
|
|
28
|
-
Header:
|
|
30
|
+
Header: Header,
|
|
29
31
|
Footer: FooterMobile,
|
|
30
32
|
});
|
|
31
33
|
|
|
@@ -44,9 +44,8 @@ declare const SidePanelResponsive: React.ForwardRefExoticComponent<BaseModalProp
|
|
|
44
44
|
*/
|
|
45
45
|
defaultMatchMediaValue?: boolean | (() => boolean) | undefined;
|
|
46
46
|
} & React.RefAttributes<HTMLDivElement>> & {
|
|
47
|
-
Header: React.FC<import("./components/header/Component
|
|
47
|
+
Header: React.FC<import("./components/header/Component").HeaderProps>;
|
|
48
48
|
Content: React.FC<import("./components/content/Component").ContentProps> | React.FC<import("./components/content/Component.desktop").ContentDesktopProps>;
|
|
49
49
|
Footer: React.FC<import("./components/footer/Component").FooterProps> | React.FC<import("./components/footer/Component.desktop").FooterDesktopProps>;
|
|
50
|
-
Closer: React.FC<import("./components/closer/Component").CloserProps>;
|
|
51
50
|
};
|
|
52
51
|
export { SidePanelResponsiveProps, SidePanelResponsive };
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { __rest, __assign } from 'tslib';
|
|
2
2
|
import React, { forwardRef, useMemo, useContext } from 'react';
|
|
3
3
|
import { useMatchMedia } from '@alfalab/core-components-mq/esm';
|
|
4
|
-
import {
|
|
4
|
+
import { Header } from './components/header/Component.js';
|
|
5
5
|
import { SidePanelDesktop } from './Component.desktop.js';
|
|
6
6
|
import { SidePanelMobile } from './Component.mobile.js';
|
|
7
|
+
import { ResponsiveContext } from './ResponsiveContext.js';
|
|
7
8
|
import 'classnames';
|
|
8
|
-
import '@alfalab/core-components-
|
|
9
|
+
import '@alfalab/core-components-navigation-bar/esm';
|
|
9
10
|
import './Context.js';
|
|
10
11
|
import '@alfalab/core-components-base-modal/esm';
|
|
11
12
|
import 'react-merge-refs';
|
|
@@ -14,44 +15,34 @@ import './components/content/Component.desktop.js';
|
|
|
14
15
|
import './components/content/Component.js';
|
|
15
16
|
import './components/footer/Component.desktop.js';
|
|
16
17
|
import './components/footer/Component.js';
|
|
17
|
-
import './components/header/Component.desktop.js';
|
|
18
|
-
import '@alfalab/icons-glyph/CrossHeavyMIcon';
|
|
19
|
-
import './components/header/Component.js';
|
|
20
18
|
import './components/content/Component.mobile.js';
|
|
21
19
|
import './components/footer/Component.mobile.js';
|
|
22
|
-
import './components/header/Component.mobile.js';
|
|
23
|
-
import '@alfalab/icons-glyph/CrossMIcon';
|
|
24
20
|
|
|
25
21
|
var isClient = function () { return typeof window !== 'undefined'; };
|
|
26
22
|
|
|
27
|
-
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
28
|
-
var ResponsiveContext = React.createContext({
|
|
29
|
-
view: 'desktop',
|
|
30
|
-
});
|
|
31
23
|
function createResponsive(desktop, mobile) {
|
|
32
24
|
function ResponsiveChild(props) {
|
|
33
|
-
var
|
|
25
|
+
var _a = (useContext(ResponsiveContext) || {}).view, view = _a === void 0 ? 'desktop' : _a;
|
|
34
26
|
var Child = view === 'desktop' ? desktop : mobile;
|
|
35
27
|
return React.createElement(Child, __assign({}, props));
|
|
36
28
|
}
|
|
37
29
|
return ResponsiveChild;
|
|
38
30
|
}
|
|
39
31
|
var SidePanelResponsiveComponent = forwardRef(function (_a, ref) {
|
|
40
|
-
var children = _a.children, _b = _a.breakpoint, breakpoint = _b === void 0 ? 1024 : _b, defaultMatchMediaValue = _a.defaultMatchMediaValue, restProps = __rest(_a, ["children", "breakpoint", "defaultMatchMediaValue"]);
|
|
32
|
+
var children = _a.children, _b = _a.breakpoint, breakpoint = _b === void 0 ? 1024 : _b, _c = _a.size, size = _c === void 0 ? 's' : _c, defaultMatchMediaValue = _a.defaultMatchMediaValue, restProps = __rest(_a, ["children", "breakpoint", "size", "defaultMatchMediaValue"]);
|
|
41
33
|
var query = "(min-width: ".concat(breakpoint, "px)");
|
|
42
34
|
var getDefaultValue = function () { return (isClient() ? window.matchMedia(query).matches : false); };
|
|
43
35
|
var isDesktop = useMatchMedia(query, defaultMatchMediaValue !== null && defaultMatchMediaValue !== void 0 ? defaultMatchMediaValue : getDefaultValue)[0];
|
|
44
36
|
var view = isDesktop ? 'desktop' : 'mobile';
|
|
45
|
-
var contextValue = useMemo(function () { return ({ view: view }); }, [view]);
|
|
37
|
+
var contextValue = useMemo(function () { return ({ view: view, size: size }); }, [view, size]);
|
|
46
38
|
var Component = isDesktop ? SidePanelDesktop : SidePanelMobile;
|
|
47
39
|
return (React.createElement(ResponsiveContext.Provider, { value: contextValue },
|
|
48
|
-
React.createElement(Component, __assign({ ref: ref }, restProps), children)));
|
|
40
|
+
React.createElement(Component, __assign({ ref: ref, size: size }, restProps), children)));
|
|
49
41
|
});
|
|
50
42
|
var SidePanelResponsive = Object.assign(SidePanelResponsiveComponent, {
|
|
51
|
-
Header:
|
|
43
|
+
Header: Header,
|
|
52
44
|
Content: createResponsive(SidePanelDesktop.Content, SidePanelMobile.Content),
|
|
53
45
|
Footer: createResponsive(SidePanelDesktop.Footer, SidePanelMobile.Footer),
|
|
54
|
-
Closer: Closer,
|
|
55
46
|
});
|
|
56
47
|
|
|
57
48
|
export { SidePanelResponsive };
|