@steroidsjs/core 3.0.0-beta.60 → 3.0.0-beta.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steroidsjs/core",
3
- "version": "3.0.0-beta.60",
3
+ "version": "3.0.0-beta.61",
4
4
  "description": "",
5
5
  "author": "Vladimir Kozhin <hello@kozhindev.com>",
6
6
  "repository": {
@@ -35,7 +35,7 @@ function Avatar(props) {
35
35
  return components.ui.renderView(props.view || 'content.AvatarView', __assign(__assign({}, props), { isError: isError, onError: onError, formattedTitle: formattedTitle }));
36
36
  }
37
37
  Avatar.defaultProps = {
38
- size: 'middle',
38
+ size: 'md',
39
39
  shape: 'circle',
40
40
  status: false
41
41
  };
@@ -1,4 +1,9 @@
1
1
  /// <reference types="react" />
2
+ import { IAvatarProps } from 'src/ui/content/Avatar/Avatar';
3
+ import { ILinkProps } from 'src/ui/nav/Link/Link';
4
+ import { IModalProps } from 'src/ui/modal/Modal/Modal';
5
+ import { IMenuProps } from 'src/ui/content/Menu/Menu';
6
+ import { IButtonProps } from 'src/ui/form/Button/Button';
2
7
  import { INavProps } from '../../nav/Nav/Nav';
3
8
  /**
4
9
  * IHeaderProps
@@ -8,12 +13,24 @@ import { INavProps } from '../../nav/Nav/Nav';
8
13
  **/
9
14
  export interface IHeaderProps extends IUiComponent {
10
15
  /**
11
- * Свойства для логотипа
12
- */
16
+ * Свойства для логотипа.
17
+ */
13
18
  logo?: {
19
+ /**
20
+ * Заголовок логотипа.
21
+ */
14
22
  title: string;
15
- linkProps?: Record<string, unknown>;
16
- icon?: string | any;
23
+ /**
24
+ * Дополнительные свойства ссылки логотипа.
25
+ */
26
+ linkProps?: ILinkProps;
27
+ /**
28
+ * Иконка логотипа в виде строки или компонента React.
29
+ */
30
+ icon?: string | React.ReactElement;
31
+ /**
32
+ * Дополнительные классы стилей для логотипа.
33
+ */
17
34
  className?: CssClassName;
18
35
  };
19
36
  /**
@@ -24,7 +41,67 @@ export interface IHeaderProps extends IUiComponent {
24
41
  * Размер
25
42
  */
26
43
  size?: Size;
44
+ /**
45
+ * Параметры авторизации.
46
+ */
47
+ authParams?: {
48
+ /**
49
+ * Флаг для отображения кнопки авторизации
50
+ */
51
+ isAuth: boolean;
52
+ /**
53
+ * Маршрут, на который перенаправлять пользователя для авторизации.
54
+ */
55
+ toRoute?: string;
56
+ /**
57
+ * Свойства для модального окна авторизации.
58
+ */
59
+ modal?: IModalProps;
60
+ /**
61
+ * Параметры для кнопки авторизации
62
+ */
63
+ buttonProps?: IButtonProps;
64
+ };
65
+ /**
66
+ * Информация о пользователе.
67
+ */
68
+ user?: {
69
+ /**
70
+ * Имя пользователя.
71
+ */
72
+ name?: string;
73
+ /**
74
+ * Свойства для аватара пользователя.
75
+ */
76
+ avatar?: IAvatarProps;
77
+ /**
78
+ * Свойства для меню пользователя.
79
+ */
80
+ menu?: IMenuProps;
81
+ };
82
+ /**
83
+ * Свойства для бургер-меню.
84
+ */
85
+ burgerMenu?: {
86
+ /**
87
+ * Контент бургер-меню в виде компонента React.
88
+ */
89
+ content?: React.ReactElement;
90
+ /**
91
+ * Свойства для ссылок бургер-меню.
92
+ */
93
+ links?: ILinkProps;
94
+ };
27
95
  [key: string]: any;
28
96
  }
29
- export type IHeaderViewProps = IHeaderProps;
30
- export default function Header(props: IHeaderProps): JSX.Element;
97
+ export interface IHeaderViewProps extends IHeaderProps {
98
+ toggleBurger: VoidFunction;
99
+ isBurgerOpened: boolean;
100
+ }
101
+ declare function Header(props: IHeaderProps): JSX.Element;
102
+ declare namespace Header {
103
+ var defaultProps: {
104
+ size: string;
105
+ };
106
+ }
107
+ export default Header;
@@ -1,7 +1,26 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  exports.__esModule = true;
14
+ var react_1 = require("react");
3
15
  var hooks_1 = require("../../../hooks");
4
16
  function Header(props) {
5
- return (0, hooks_1.useComponents)().ui.renderView(props.view || 'layout.HeaderView', props);
17
+ var _a = (0, react_1.useState)(false), isBurgerOpened = _a[0], setIsBurgerOpened = _a[1];
18
+ var toggleBurger = (0, react_1.useCallback)(function () {
19
+ setIsBurgerOpened(function (prev) { return !prev; });
20
+ }, []);
21
+ return (0, hooks_1.useComponents)().ui.renderView(props.view || 'layout.HeaderView', __assign(__assign({}, props), { toggleBurger: toggleBurger, isBurgerOpened: isBurgerOpened }));
6
22
  }
23
+ Header.defaultProps = {
24
+ size: 'md'
25
+ };
7
26
  exports["default"] = Header;
@@ -84,10 +84,6 @@ export interface INavProps {
84
84
  * Размер
85
85
  */
86
86
  size?: Size;
87
- /**
88
- * Темная тема
89
- */
90
- dark?: boolean;
91
87
  [key: string]: any;
92
88
  }
93
89
  export interface INavViewProps extends INavProps {