@steroidsjs/core 3.0.0-beta.14 → 3.0.0-beta.16
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/hoc/bem.d.ts +1 -1
- package/index.d.ts +3 -3
- package/package.json +1 -1
- package/reducers/router.js +2 -2
- package/ui/content/Accordion/Accordion.d.ts +2 -2
- package/ui/content/Alert/Alert.d.ts +2 -2
- package/ui/content/Avatar/AvatarGroup.d.ts +3 -3
- package/ui/content/Badge/Badge.d.ts +4 -4
- package/ui/content/Badge/Badge.js +1 -1
- package/ui/content/Card/Card.d.ts +21 -28
- package/ui/content/Card/Card.js +0 -5
- package/ui/content/CopyToClipboard/CopyToClipboard.d.ts +1 -1
- package/ui/content/Detail/Detail.d.ts +1 -1
- package/ui/content/DropDown/DropDown.d.ts +1 -1
- package/ui/content/Icon/Icon.d.ts +2 -2
- package/ui/form/Button/Button.d.ts +2 -2
- package/ui/form/CheckboxField/CheckboxField.d.ts +5 -0
- package/ui/form/CheckboxField/CheckboxField.js +31 -6
- package/ui/form/CheckboxListField/CheckboxListField.d.ts +7 -1
- package/ui/form/CheckboxListField/CheckboxListField.js +32 -7
- package/ui/form/DateField/DateField.d.ts +1 -1
- package/ui/form/DateRangeField/DateRangeField.d.ts +1 -1
- package/ui/form/DateTimeField/DateTimeField.d.ts +1 -1
- package/ui/form/DateTimeRangeField/DateTimeRangeField.d.ts +1 -1
- package/ui/form/DropDownField/DropDownField.d.ts +65 -17
- package/ui/form/DropDownField/DropDownField.js +90 -6
- package/ui/form/Field/fieldWrapper.d.ts +1 -1
- package/ui/form/FieldLayout/FieldLayout.d.ts +2 -2
- package/ui/form/FieldList/FieldList.d.ts +3 -3
- package/ui/form/FieldSet/FieldSet.d.ts +1 -1
- package/ui/form/Form/Form.d.ts +2 -7
- package/ui/form/InputField/InputField.d.ts +2 -2
- package/ui/form/RadioField/RadioField.d.ts +35 -0
- package/ui/form/RadioField/RadioField.js +61 -0
- package/ui/form/RadioField/index.d.ts +2 -0
- package/ui/{list/LayoutNames/demo/basic.js → form/RadioField/index.js} +2 -7
- package/ui/form/RadioListField/RadioListField.d.ts +6 -0
- package/ui/form/RadioListField/RadioListField.js +32 -2
- package/ui/form/TimeField/TimeField.d.ts +1 -1
- package/ui/form/index.d.ts +3 -1
- package/ui/form/index.js +4 -1
- package/ui/layout/Header/Header.d.ts +1 -1
- package/ui/layout/Loader/Loader.d.ts +1 -1
- package/ui/layout/Notifications/Notifications.d.ts +1 -1
- package/ui/layout/Skeleton/Skeleton.d.ts +2 -2
- package/ui/layout/Tooltip/calculate.js +1 -1
- package/ui/list/CheckboxColumn/CheckboxColumn.d.ts +1 -1
- package/ui/list/ControlsColumn/ControlsColumn.d.ts +1 -1
- package/ui/list/Grid/Grid.d.ts +1 -1
- package/ui/list/Grid/demo/sort.js +4 -2
- package/ui/list/Pagination/Pagination.d.ts +16 -6
- package/ui/list/Pagination/Pagination.js +15 -7
- package/ui/list/PaginationSize/demo/basic.js +2 -3
- package/ui/list/PaginationSize/demo/size.js +2 -3
- package/ui/list/SearchForm/demo/basic.js +5 -2
- package/ui/list/Steps/Steps.d.ts +3 -3
- package/ui/modal/TwoFactorModal/TwoFactorModal.d.ts +1 -1
- package/ui/nav/Breadcrumbs/Breadcrumbs.d.ts +9 -0
- package/ui/nav/Controls/Controls.d.ts +3 -3
- package/ui/nav/Nav/Nav.d.ts +2 -2
- package/ui/nav/Tree/Tree.d.ts +1 -1
- package/ui/typography/Text/Text.d.ts +2 -2
- package/ui/typography/Title/Title.d.ts +2 -2
- package/ui/content/Card/demo/basic.d.ts +0 -8
- package/ui/content/Card/demo/basic.js +0 -39
- package/ui/content/Card/demo/border color.d.ts +0 -3
- package/ui/content/Card/demo/border color.js +0 -52
- package/ui/content/Card/demo/color.d.ts +0 -3
- package/ui/content/Card/demo/color.js +0 -52
- package/ui/content/Card/demo/header.d.ts +0 -3
- package/ui/content/Card/demo/header.js +0 -47
- package/ui/content/Card/demo/hover.d.ts +0 -3
- package/ui/content/Card/demo/hover.js +0 -42
- package/ui/content/Card/demo/link.d.ts +0 -3
- package/ui/content/Card/demo/link.js +0 -43
- package/ui/content/Card/demo/orientation.d.ts +0 -3
- package/ui/content/Card/demo/orientation.js +0 -46
- package/ui/form/CheckboxListField/demo/basic.d.ts +0 -9
- package/ui/form/CheckboxListField/demo/basic.js +0 -43
- package/ui/form/CheckboxListField/demo/disabled.d.ts +0 -8
- package/ui/form/CheckboxListField/demo/disabled.js +0 -38
- package/ui/form/CheckboxListField/demo/errors.d.ts +0 -8
- package/ui/form/CheckboxListField/demo/errors.js +0 -38
- package/ui/form/CheckboxListField/demo/required.d.ts +0 -8
- package/ui/form/CheckboxListField/demo/required.js +0 -38
- package/ui/form/DropDownField/demo/auto-complete.d.ts +0 -8
- package/ui/form/DropDownField/demo/auto-complete.js +0 -38
- package/ui/form/DropDownField/demo/basic.d.ts +0 -12
- package/ui/form/DropDownField/demo/basic.js +0 -56
- package/ui/form/DropDownField/demo/disabled.d.ts +0 -8
- package/ui/form/DropDownField/demo/disabled.js +0 -38
- package/ui/form/DropDownField/demo/errors.d.ts +0 -8
- package/ui/form/DropDownField/demo/errors.js +0 -38
- package/ui/form/DropDownField/demo/multiple.d.ts +0 -8
- package/ui/form/DropDownField/demo/multiple.js +0 -38
- package/ui/form/DropDownField/demo/no-border.d.ts +0 -8
- package/ui/form/DropDownField/demo/no-border.js +0 -38
- package/ui/form/DropDownField/demo/placeholder.d.ts +0 -8
- package/ui/form/DropDownField/demo/placeholder.js +0 -38
- package/ui/form/DropDownField/demo/required.d.ts +0 -8
- package/ui/form/DropDownField/demo/required.js +0 -38
- package/ui/form/DropDownField/demo/show-reset.d.ts +0 -8
- package/ui/form/DropDownField/demo/show-reset.js +0 -38
- package/ui/form/DropDownField/demo/size.d.ts +0 -8
- package/ui/form/DropDownField/demo/size.js +0 -45
- package/ui/form/Form/demo/basic.d.ts +0 -8
- package/ui/form/Form/demo/basic.js +0 -62
- package/ui/form/Form/demo/border.d.ts +0 -8
- package/ui/form/Form/demo/border.js +0 -62
- package/ui/form/Form/demo/horizontal.d.ts +0 -8
- package/ui/form/Form/demo/horizontal.js +0 -55
- package/ui/form/Form/demo/inline.d.ts +0 -8
- package/ui/form/Form/demo/inline.js +0 -53
- package/ui/layout/Tooltip/demo/basic.d.ts +0 -8
- package/ui/layout/Tooltip/demo/basic.js +0 -56
- package/ui/list/LayoutNames/demo/basic.d.ts +0 -7
- package/ui/list/List/demo/basic.d.ts +0 -12
- package/ui/list/List/demo/basic.js +0 -61
- package/ui/list/List/demo/condition.d.ts +0 -8
- package/ui/list/List/demo/condition.js +0 -90
- package/ui/list/List/demo/empty.d.ts +0 -8
- package/ui/list/List/demo/empty.js +0 -36
- package/ui/list/List/demo/layout.d.ts +0 -8
- package/ui/list/List/demo/layout.js +0 -49
- package/ui/list/List/demo/load-more.d.ts +0 -8
- package/ui/list/List/demo/load-more.js +0 -45
- package/ui/list/List/demo/pagination.d.ts +0 -8
- package/ui/list/List/demo/pagination.js +0 -45
- package/ui/list/List/demo/search-form.d.ts +0 -30
- package/ui/list/List/demo/search-form.js +0 -107
- package/ui/list/List/demo/sort.d.ts +0 -17
- package/ui/list/List/demo/sort.js +0 -92
- package/ui/list/Pagination/demo/basic.d.ts +0 -8
- package/ui/list/Pagination/demo/basic.js +0 -45
- package/ui/list/Pagination/demo/load-more.d.ts +0 -8
- package/ui/list/Pagination/demo/load-more.js +0 -41
- package/ui/list/Pagination/demo/sizes.d.ts +0 -8
- package/ui/list/Pagination/demo/sizes.js +0 -48
- package/ui/nav/Breadcrumbs/demo/basic.d.ts +0 -8
- package/ui/nav/Breadcrumbs/demo/basic.js +0 -37
- package/ui/nav/Breadcrumbs/demo/items.d.ts +0 -8
- package/ui/nav/Breadcrumbs/demo/items.js +0 -42
- package/ui/nav/Breadcrumbs/demo/page-title.d.ts +0 -8
- package/ui/nav/Breadcrumbs/demo/page-title.js +0 -37
package/hoc/bem.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { IBem } from '../hooks/useBem';
|
|
|
5
5
|
* Прокидывает утилиту `bem` для правильной генерации CSS классов по методологии БЭМ (блок, элемент, модификатор)
|
|
6
6
|
*/
|
|
7
7
|
export interface IBemHocInput {
|
|
8
|
-
style?:
|
|
8
|
+
style?: CustomStyle;
|
|
9
9
|
}
|
|
10
10
|
export interface IBemHocOutput extends IComponentsHocOutput {
|
|
11
11
|
bem?: IBem;
|
package/index.d.ts
CHANGED
|
@@ -50,15 +50,15 @@ declare type Size = 'small' | 'middle' | 'large' | string;
|
|
|
50
50
|
/**
|
|
51
51
|
* Макет формы или ее части, влияющий на расположение полей
|
|
52
52
|
*/
|
|
53
|
-
declare type FormLayoutName = 'default' | '
|
|
53
|
+
declare type FormLayoutName = 'default' | 'vertical' | 'inline' | string;
|
|
54
54
|
|
|
55
55
|
/**
|
|
56
56
|
* Свойства для настройки макета формы
|
|
57
57
|
*/
|
|
58
58
|
declare type FormLayout = FormLayoutName | boolean | {
|
|
59
59
|
layout?: FormLayoutName | boolean,
|
|
60
|
-
className?:
|
|
61
|
-
style?:
|
|
60
|
+
className?: CssClassName,
|
|
61
|
+
style?: CustomStyle,
|
|
62
62
|
label?: boolean,
|
|
63
63
|
cols?: number[],
|
|
64
64
|
[key: string]: any,
|
package/package.json
CHANGED
package/reducers/router.js
CHANGED
|
@@ -135,13 +135,13 @@ exports.normalizeRoutes = normalizeRoutes;
|
|
|
135
135
|
*/
|
|
136
136
|
var findRecursive = function (item, predicate, pathItems) {
|
|
137
137
|
if (pathItems === void 0) { pathItems = null; }
|
|
138
|
-
if (((0, isFunction_1["default"])(predicate) && predicate(item)) || predicate === item.id) {
|
|
138
|
+
if (((0, isFunction_1["default"])(predicate) && predicate(item)) || predicate === (item === null || item === void 0 ? void 0 : item.id)) {
|
|
139
139
|
if (pathItems) {
|
|
140
140
|
pathItems.push(item);
|
|
141
141
|
}
|
|
142
142
|
return item;
|
|
143
143
|
}
|
|
144
|
-
if (Array.isArray((item.items))) {
|
|
144
|
+
if (Array.isArray((item === null || item === void 0 ? void 0 : item.items))) {
|
|
145
145
|
var foundedItem = item.items.find(function (subItem) { return (0, exports.findRecursive)(subItem, predicate, pathItems); }) || null;
|
|
146
146
|
if (foundedItem && pathItems) {
|
|
147
147
|
pathItems.push(item);
|
|
@@ -4,8 +4,8 @@ export interface IAccordionIcon {
|
|
|
4
4
|
close: React.ReactElement | string;
|
|
5
5
|
}
|
|
6
6
|
export interface IAccordionCommonProps {
|
|
7
|
-
view?:
|
|
8
|
-
style?:
|
|
7
|
+
view?: CustomView;
|
|
8
|
+
style?: CustomStyle;
|
|
9
9
|
children?: any;
|
|
10
10
|
/**
|
|
11
11
|
* Дополнительный CSS-класс
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
export interface IAlertProps {
|
|
3
|
-
view?:
|
|
3
|
+
view?: CustomView;
|
|
4
4
|
className?: CssClassName;
|
|
5
5
|
/**
|
|
6
6
|
* Дочерние элементы
|
|
@@ -19,7 +19,7 @@ export interface IAlertProps {
|
|
|
19
19
|
* @example {'Please, check your email.'}
|
|
20
20
|
*/
|
|
21
21
|
description?: string;
|
|
22
|
-
style?:
|
|
22
|
+
style?: CustomStyle;
|
|
23
23
|
/**
|
|
24
24
|
* Нужно ли отображать кнопку, чтобы закрыть Оповещение
|
|
25
25
|
*/
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
2
|
export interface AvatarGroupProps {
|
|
3
|
-
view?:
|
|
3
|
+
view?: CustomView;
|
|
4
4
|
children?: CustomView[];
|
|
5
|
-
style?:
|
|
5
|
+
style?: CustomStyle;
|
|
6
6
|
maxCount?: number;
|
|
7
7
|
}
|
|
8
8
|
export type IAvatarGroupViewProps = AvatarGroupProps;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
2
|
interface ICounter {
|
|
3
3
|
isEnable: boolean;
|
|
4
4
|
content: string | number;
|
|
@@ -11,7 +11,7 @@ export interface IBadgeProps {
|
|
|
11
11
|
/**
|
|
12
12
|
* Тип badge
|
|
13
13
|
*/
|
|
14
|
-
type:
|
|
14
|
+
type: ColorName;
|
|
15
15
|
/**
|
|
16
16
|
* Стиль скругления
|
|
17
17
|
*/
|
|
@@ -37,11 +37,11 @@ export interface IBadgeProps {
|
|
|
37
37
|
* Нужно ли отображать счетчик
|
|
38
38
|
*/
|
|
39
39
|
counter: boolean | ICounter;
|
|
40
|
-
style?:
|
|
40
|
+
style?: CustomStyle;
|
|
41
41
|
/**
|
|
42
42
|
* Размер для badge
|
|
43
43
|
*/
|
|
44
|
-
size:
|
|
44
|
+
size: Size;
|
|
45
45
|
}
|
|
46
46
|
export interface IBadgeViewProps extends IBadgeProps {
|
|
47
47
|
isExist: boolean;
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
+
import { IButtonProps } from 'src/ui/form/Button/Button';
|
|
2
|
+
import { ILinkProps } from 'src/ui/nav/Link/Link';
|
|
3
|
+
import { IAvatarProps } from '../Avatar/Avatar';
|
|
1
4
|
export interface ICardProps {
|
|
2
|
-
/**
|
|
3
|
-
* Цвет границы (если передать false, то граница будет скрыта)
|
|
4
|
-
* @example success
|
|
5
|
-
*/
|
|
6
|
-
borderColor?: ColorName | 'default' | boolean;
|
|
7
5
|
/**
|
|
8
6
|
* Дополнительный CSS-класс
|
|
9
7
|
*/
|
|
@@ -12,11 +10,6 @@ export interface ICardProps {
|
|
|
12
10
|
* Дочерние элементы
|
|
13
11
|
*/
|
|
14
12
|
children?: CustomView;
|
|
15
|
-
/**
|
|
16
|
-
* Цвет состояния
|
|
17
|
-
* @example success
|
|
18
|
-
*/
|
|
19
|
-
color?: ColorName;
|
|
20
13
|
/**
|
|
21
14
|
* Обложка для карточки, нужно передать ссылку на изображение
|
|
22
15
|
* @example 'https://cat/cat.png'
|
|
@@ -28,23 +21,30 @@ export interface ICardProps {
|
|
|
28
21
|
*/
|
|
29
22
|
description?: string;
|
|
30
23
|
/**
|
|
31
|
-
*
|
|
24
|
+
* Контент хедера
|
|
32
25
|
*/
|
|
33
|
-
header?:
|
|
26
|
+
header?: {
|
|
27
|
+
avatar?: IAvatarProps;
|
|
28
|
+
menu?: boolean;
|
|
29
|
+
head?: string;
|
|
30
|
+
subhead?: string;
|
|
31
|
+
};
|
|
34
32
|
/**
|
|
35
|
-
*
|
|
33
|
+
* Контент футера
|
|
36
34
|
*/
|
|
37
|
-
footer?:
|
|
35
|
+
footer?: {
|
|
36
|
+
head: string;
|
|
37
|
+
subhead: string;
|
|
38
|
+
};
|
|
38
39
|
/**
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
* Коллекция ссылок
|
|
41
|
+
* @example {}
|
|
42
|
+
*/
|
|
43
|
+
links?: ILinkProps[];
|
|
43
44
|
/**
|
|
44
|
-
*
|
|
45
|
-
* @example {'vertical-reverse'}
|
|
45
|
+
* Коллекция кнопок
|
|
46
46
|
*/
|
|
47
|
-
|
|
47
|
+
buttons?: IButtonProps[];
|
|
48
48
|
/**
|
|
49
49
|
* Объект CSS стилей
|
|
50
50
|
* @example {width: '30px'}
|
|
@@ -63,11 +63,4 @@ export interface ICardProps {
|
|
|
63
63
|
}
|
|
64
64
|
export type ICardViewProps = ICardProps;
|
|
65
65
|
declare function Card(props: ICardProps): any;
|
|
66
|
-
declare namespace Card {
|
|
67
|
-
var defaultProps: {
|
|
68
|
-
borderColor: string;
|
|
69
|
-
orientation: string;
|
|
70
|
-
shape: string;
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
66
|
export default Card;
|
package/ui/content/Card/Card.js
CHANGED
|
@@ -16,9 +16,4 @@ function Card(props) {
|
|
|
16
16
|
var components = (0, hooks_1.useComponents)();
|
|
17
17
|
return components.ui.renderView(props.view || 'content.CardView', __assign({}, props));
|
|
18
18
|
}
|
|
19
|
-
Card.defaultProps = {
|
|
20
|
-
borderColor: 'default',
|
|
21
|
-
orientation: 'vertical',
|
|
22
|
-
shape: 'circle'
|
|
23
|
-
};
|
|
24
19
|
exports["default"] = Card;
|
|
@@ -8,7 +8,7 @@ interface ICopyToClipboardProps extends IBemHocOutput, IConnectHocOutput {
|
|
|
8
8
|
level?: string;
|
|
9
9
|
timeOut?: string;
|
|
10
10
|
};
|
|
11
|
-
className?:
|
|
11
|
+
className?: CssClassName;
|
|
12
12
|
children?: any;
|
|
13
13
|
}
|
|
14
14
|
export default function CopyToClipboard(props: ICopyToClipboardProps): any;
|
|
@@ -14,7 +14,7 @@ export interface IDropDownProps extends IAbsolutePositioningInputProps {
|
|
|
14
14
|
* Переопределение view React компонента для кастомизациии отображения
|
|
15
15
|
* @example MyCustomView
|
|
16
16
|
*/
|
|
17
|
-
view?:
|
|
17
|
+
view?: CustomView;
|
|
18
18
|
/**
|
|
19
19
|
* В каком случае закрывать DropDown. По-умолчанию - `click-away`
|
|
20
20
|
* @example click-any
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
2
|
/**
|
|
3
3
|
* Install the latest free version of Font Awesome via yarn:
|
|
4
4
|
* ```
|
|
@@ -33,7 +33,7 @@ export interface IIconProps {
|
|
|
33
33
|
* Переопределение view React компонента для кастомизации отображения
|
|
34
34
|
* @example MyCustomView
|
|
35
35
|
*/
|
|
36
|
-
view?:
|
|
36
|
+
view?: CustomView;
|
|
37
37
|
/**
|
|
38
38
|
* Должен ли данный элемент участвовать в последовательной навигации
|
|
39
39
|
*/
|
|
@@ -100,7 +100,7 @@ export interface IButtonProps {
|
|
|
100
100
|
* Объект CSS стилей
|
|
101
101
|
* @example {width: '45%'}
|
|
102
102
|
*/
|
|
103
|
-
style?:
|
|
103
|
+
style?: CustomStyle;
|
|
104
104
|
/**
|
|
105
105
|
* Дополнительный CSS-класс для кнопки или ссылки
|
|
106
106
|
*/
|
|
@@ -109,7 +109,7 @@ export interface IButtonProps {
|
|
|
109
109
|
* Переопределение view React компонента для кастомизации отображения
|
|
110
110
|
* @example MyCustomView
|
|
111
111
|
*/
|
|
112
|
-
view?:
|
|
112
|
+
view?: CustomView;
|
|
113
113
|
/**
|
|
114
114
|
* Вложенные элементы
|
|
115
115
|
*/
|
|
@@ -19,6 +19,11 @@ export interface ICheckboxFieldProps extends IFieldWrapperInputProps {
|
|
|
19
19
|
* @example MyCustomView
|
|
20
20
|
*/
|
|
21
21
|
view?: CustomView;
|
|
22
|
+
/**
|
|
23
|
+
* Флаг определяющий включен ли элемент
|
|
24
|
+
* @example {'true'}
|
|
25
|
+
*/
|
|
26
|
+
checked?: boolean;
|
|
22
27
|
[key: string]: any;
|
|
23
28
|
}
|
|
24
29
|
export interface ICheckboxFieldViewProps extends ICheckboxFieldProps, IFieldWrapperOutputProps {
|
|
@@ -10,28 +10,53 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
13
36
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
37
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
38
|
};
|
|
16
39
|
exports.__esModule = true;
|
|
17
|
-
var
|
|
40
|
+
var React = __importStar(require("react"));
|
|
18
41
|
var react_1 = require("react");
|
|
19
42
|
var fieldWrapper_1 = __importDefault(require("../Field/fieldWrapper"));
|
|
20
43
|
var hooks_1 = require("../../../hooks");
|
|
21
44
|
function CheckboxField(props) {
|
|
22
45
|
var components = (0, hooks_1.useComponents)();
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
46
|
+
var onChangeHandler = React.useCallback(function () {
|
|
47
|
+
props.input.onChange(!props.input.value);
|
|
48
|
+
if (props.onChange) {
|
|
49
|
+
props.onChange();
|
|
26
50
|
}
|
|
27
|
-
});
|
|
28
|
-
var inputProps = (0, react_1.useMemo)(function () { return (__assign({ name: props.input.name, type: 'checkbox', checked: !!props.input.value, onChange:
|
|
51
|
+
}, [props]);
|
|
52
|
+
var inputProps = (0, react_1.useMemo)(function () { return (__assign({ name: props.input.name, type: 'checkbox', checked: !!props.input.value, onChange: onChangeHandler, disabled: props.disabled }, props.inputProps)); }, [onChangeHandler, props.disabled, props.input.name, props.input.value, props.inputProps]);
|
|
29
53
|
return components.ui.renderView(props.view || 'form.CheckboxFieldView', __assign(__assign({}, props), { inputProps: inputProps }));
|
|
30
54
|
}
|
|
31
55
|
CheckboxField.defaultProps = {
|
|
32
56
|
disabled: false,
|
|
33
57
|
required: false,
|
|
34
58
|
className: '',
|
|
59
|
+
size: 'md',
|
|
35
60
|
inputProps: {}
|
|
36
61
|
};
|
|
37
62
|
exports["default"] = (0, fieldWrapper_1["default"])('CheckboxField', CheckboxField, { label: false });
|
|
@@ -2,6 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import { IFieldWrapperInputProps, IFieldWrapperOutputProps } from '../../../ui/form/Field/fieldWrapper';
|
|
3
3
|
import { IDataProviderConfig } from '../../../hooks/useDataProvider';
|
|
4
4
|
import { IDataSelectConfig } from '../../../hooks/useDataSelect';
|
|
5
|
+
import { ICheckboxFieldViewProps } from '../CheckboxField/CheckboxField';
|
|
5
6
|
/**
|
|
6
7
|
* CheckboxListField
|
|
7
8
|
* Список с чекбоксами. Используется в формах для выбора нескольких значений.
|
|
@@ -21,6 +22,10 @@ export interface ICheckboxListFieldProps extends IFieldWrapperInputProps, IDataP
|
|
|
21
22
|
* @example MyCustomView
|
|
22
23
|
*/
|
|
23
24
|
view?: CustomView;
|
|
25
|
+
/**
|
|
26
|
+
* Ориентация списка
|
|
27
|
+
*/
|
|
28
|
+
orientation?: 'horizontal' | 'vertical';
|
|
24
29
|
[key: string]: any;
|
|
25
30
|
}
|
|
26
31
|
export interface ICheckboxListFieldViewProps extends IFieldWrapperOutputProps {
|
|
@@ -38,7 +43,8 @@ export interface ICheckboxListFieldViewProps extends IFieldWrapperOutputProps {
|
|
|
38
43
|
}[];
|
|
39
44
|
selectedIds: (PrimaryKey | any)[];
|
|
40
45
|
onItemSelect: (id: PrimaryKey | any) => void;
|
|
41
|
-
|
|
46
|
+
orientation?: 'horizontal' | 'vertical';
|
|
47
|
+
renderCheckbox: (checkboxProps: ICheckboxFieldViewProps) => JSX.Element;
|
|
42
48
|
}
|
|
43
49
|
declare const _default: import("../../../ui/form/Field/fieldWrapper").FieldWrapperComponent<ICheckboxListFieldProps>;
|
|
44
50
|
export default _default;
|
|
@@ -10,34 +10,56 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
13
36
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
37
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
38
|
};
|
|
16
39
|
exports.__esModule = true;
|
|
40
|
+
var React = __importStar(require("react"));
|
|
17
41
|
var react_1 = require("react");
|
|
18
42
|
var react_use_1 = require("react-use");
|
|
19
43
|
var hooks_1 = require("../../../hooks");
|
|
20
44
|
var fieldWrapper_1 = __importDefault(require("../../../ui/form/Field/fieldWrapper"));
|
|
21
45
|
function CheckboxListField(props) {
|
|
22
46
|
var components = (0, hooks_1.useComponents)();
|
|
47
|
+
var inputSelectedIds = (0, react_1.useMemo)(function () { return props.selectedIds || [].concat(props.input.value || []); }, [props.input.value, props.selectedIds]);
|
|
23
48
|
// Data Provider
|
|
24
49
|
var items = (0, hooks_1.useDataProvider)({
|
|
25
50
|
items: props.items
|
|
26
51
|
}).items;
|
|
27
52
|
// Data select
|
|
28
53
|
var _a = (0, hooks_1.useDataSelect)({
|
|
54
|
+
selectedIds: inputSelectedIds,
|
|
29
55
|
multiple: props.multiple,
|
|
30
|
-
selectedIds: props.selectedIds,
|
|
31
56
|
primaryKey: props.primaryKey,
|
|
32
57
|
items: items,
|
|
33
58
|
inputValue: props.input.value
|
|
34
|
-
}),
|
|
59
|
+
}), selectedIds = _a.selectedIds, setSelectedIds = _a.setSelectedIds;
|
|
35
60
|
var onItemSelect = (0, react_1.useCallback)(function (id) {
|
|
36
61
|
setSelectedIds(id);
|
|
37
62
|
}, [setSelectedIds]);
|
|
38
|
-
var onItemHover = (0, react_1.useCallback)(function (id) {
|
|
39
|
-
setHoveredId(id);
|
|
40
|
-
}, [setHoveredId]);
|
|
41
63
|
var inputProps = (0, react_1.useMemo)(function () { return (__assign(__assign({}, props.inputProps), { type: 'checkbox', name: props.input.name, disabled: props.disabled })); }, [props.disabled, props.input, props.inputProps]);
|
|
42
64
|
// Sync with form
|
|
43
65
|
(0, react_1.useEffect)(function () {
|
|
@@ -54,12 +76,15 @@ function CheckboxListField(props) {
|
|
|
54
76
|
onReset();
|
|
55
77
|
}
|
|
56
78
|
}, [onReset, prevInputValue, props.input.value, selectedIds.length]);
|
|
57
|
-
|
|
79
|
+
var CheckboxFieldView = components.ui.getView('form.CheckboxFieldView');
|
|
80
|
+
var renderCheckbox = function (checkboxProps) { return React.createElement(CheckboxFieldView, __assign({}, checkboxProps)); };
|
|
81
|
+
return components.ui.renderView(props.view || 'form.CheckboxListFieldView', __assign(__assign({}, props), { items: items, inputProps: inputProps, onItemSelect: onItemSelect, selectedIds: selectedIds, renderCheckbox: renderCheckbox }));
|
|
58
82
|
}
|
|
59
83
|
CheckboxListField.defaultProps = {
|
|
60
84
|
disabled: false,
|
|
61
85
|
required: false,
|
|
62
86
|
className: '',
|
|
63
|
-
multiple:
|
|
87
|
+
multiple: false,
|
|
88
|
+
orientation: 'vertical'
|
|
64
89
|
};
|
|
65
90
|
exports["default"] = (0, fieldWrapper_1["default"])('CheckboxListField', CheckboxListField);
|
|
@@ -9,7 +9,7 @@ export interface IDateFieldProps extends IDateInputStateInput {
|
|
|
9
9
|
* Объект CSS стилей
|
|
10
10
|
* @example {width: '45%'}
|
|
11
11
|
*/
|
|
12
|
-
style?:
|
|
12
|
+
style?: CustomStyle;
|
|
13
13
|
/**
|
|
14
14
|
* Переопределение view React компонента для кастомизации отображения
|
|
15
15
|
* @example MyCustomView
|
|
@@ -1,16 +1,53 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IAccordionCommonViewProps } from 'src/ui/content/Accordion/Accordion';
|
|
1
3
|
import { IDataProviderConfig } from '../../../hooks/useDataProvider';
|
|
2
4
|
import { IDataSelectConfig } from '../../../hooks/useDataSelect';
|
|
3
5
|
import { IFieldWrapperInputProps } from '../../form/Field/fieldWrapper';
|
|
6
|
+
export declare const GROUP_CONTENT_TYPE = "group";
|
|
7
|
+
export declare const CHECKBOX_CONTENT_TYPE = "checkbox";
|
|
8
|
+
export declare const RADIO_CONTENT_TYPE = "radio";
|
|
9
|
+
export declare const ICON_CONTENT_TYPE = "icon";
|
|
10
|
+
export declare const IMG_CONTENT_TYPE = "img";
|
|
11
|
+
export type ContentType = 'checkbox' | 'radio' | 'icon' | 'img';
|
|
12
|
+
export type ItemSwitchType = ContentType | 'group' | string;
|
|
13
|
+
export interface IDropDownFieldItem {
|
|
14
|
+
id: number | string;
|
|
15
|
+
label: string;
|
|
16
|
+
contentType?: ContentType;
|
|
17
|
+
contentSrc?: 'string' | React.ReactElement;
|
|
18
|
+
}
|
|
19
|
+
export interface IDropDownFieldItemViewProps extends IAccordionCommonViewProps, Pick<IDropDownFieldProps, 'itemsContent'> {
|
|
20
|
+
item: IDropDownFieldItem;
|
|
21
|
+
size: Size;
|
|
22
|
+
type: ItemSwitchType;
|
|
23
|
+
selectedIds: (PrimaryKey | any)[];
|
|
24
|
+
groupAttribute: 'string';
|
|
25
|
+
primaryKey: PrimaryKey;
|
|
26
|
+
hoveredId: string;
|
|
27
|
+
onItemSelect: (id: PrimaryKey | any) => void;
|
|
28
|
+
onItemHover: (id: PrimaryKey | any) => void;
|
|
29
|
+
[key: string]: any;
|
|
30
|
+
}
|
|
4
31
|
/**
|
|
5
32
|
* DropDownField
|
|
6
33
|
* Выпадающий список для выбора одного или нескольких значений
|
|
7
34
|
*/
|
|
8
|
-
export interface IDropDownFieldProps extends IFieldWrapperInputProps, IDataProviderConfig, Omit<IDataSelectConfig, 'items'> {
|
|
35
|
+
export interface IDropDownFieldProps extends IFieldWrapperInputProps, Omit<IDataProviderConfig, 'items'>, Omit<IDataSelectConfig, 'items'> {
|
|
9
36
|
/**
|
|
10
37
|
* Placeholder подсказка
|
|
11
38
|
* @example Your text...
|
|
12
39
|
*/
|
|
13
40
|
searchPlaceholder?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Цвет состояния
|
|
43
|
+
* @example success
|
|
44
|
+
*/
|
|
45
|
+
color?: ColorName;
|
|
46
|
+
/**
|
|
47
|
+
* Включает стиль `outline`, когда у DropDownField остается только `border`, а задний фон становится прозрачным
|
|
48
|
+
* @example true
|
|
49
|
+
*/
|
|
50
|
+
outline?: boolean;
|
|
14
51
|
inputProps?: any;
|
|
15
52
|
/**
|
|
16
53
|
* Дополнительный CSS-класс
|
|
@@ -20,17 +57,17 @@ export interface IDropDownFieldProps extends IFieldWrapperInputProps, IDataProvi
|
|
|
20
57
|
* Объект CSS стилей
|
|
21
58
|
* @example {width: '45%'}
|
|
22
59
|
*/
|
|
23
|
-
style?:
|
|
24
|
-
/**
|
|
25
|
-
* Переопределение view React компонента для кастомизации отображения
|
|
26
|
-
* @example MyCustomView
|
|
27
|
-
*/
|
|
28
|
-
view?: any;
|
|
60
|
+
style?: CustomStyle;
|
|
29
61
|
/**
|
|
30
|
-
* Показать
|
|
62
|
+
* Показать иконку сброса для выбранных значений
|
|
31
63
|
* @example true
|
|
32
64
|
*/
|
|
33
65
|
showReset?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Переопределение view React компонента для кастомизации отображения
|
|
68
|
+
* @example MyCustomView
|
|
69
|
+
*/
|
|
70
|
+
view?: CustomView;
|
|
34
71
|
/**
|
|
35
72
|
* Атрибут, в котором должны лежать дочерние элементы списка (для группировки)
|
|
36
73
|
* Если аттрибут не задан - группировка не производится
|
|
@@ -38,15 +75,27 @@ export interface IDropDownFieldProps extends IFieldWrapperInputProps, IDataProvi
|
|
|
38
75
|
*/
|
|
39
76
|
groupAttribute?: string;
|
|
40
77
|
/**
|
|
41
|
-
*
|
|
42
|
-
* @example
|
|
78
|
+
* Свойство, которое устанавливает один type и src контента для всех пунктов
|
|
79
|
+
* @example {type: 'icon', src: 'user'}
|
|
80
|
+
*/
|
|
81
|
+
itemsContent?: {
|
|
82
|
+
type: ContentType;
|
|
83
|
+
src?: 'string' | React.ReactElement;
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Элементы вложенные внутрь DropDownField
|
|
87
|
+
* @example [{id: 1, label: 'Ivan Ivanov', type: 'icon', typeSrc: 'user'}]
|
|
88
|
+
*/
|
|
89
|
+
items: IDropDownFieldItem[];
|
|
90
|
+
/**
|
|
91
|
+
* Нужно ли использовать троеточие при переполнении DropDownField
|
|
92
|
+
* @example {'true'}
|
|
43
93
|
*/
|
|
44
|
-
|
|
94
|
+
showEllipses?: boolean;
|
|
45
95
|
[key: string]: any;
|
|
46
96
|
}
|
|
47
|
-
export interface IDropDownFieldViewProps extends
|
|
97
|
+
export interface IDropDownFieldViewProps extends IDropDownFieldProps {
|
|
48
98
|
errors?: string[];
|
|
49
|
-
items: Record<string, unknown>[];
|
|
50
99
|
selectedItems: Record<string, unknown>[];
|
|
51
100
|
hoveredId: PrimaryKey | any;
|
|
52
101
|
selectedIds: (PrimaryKey | any)[];
|
|
@@ -63,13 +112,12 @@ export interface IDropDownFieldViewProps extends Omit<IDropDownFieldProps, 'item
|
|
|
63
112
|
isOpened?: boolean;
|
|
64
113
|
isLoading?: boolean;
|
|
65
114
|
onReset: () => void;
|
|
66
|
-
|
|
67
|
-
|
|
115
|
+
onOpen: () => void;
|
|
116
|
+
renderItem: (item: IDropDownFieldItem) => JSX.Element;
|
|
68
117
|
onItemRemove: (id: PrimaryKey | any) => void;
|
|
69
|
-
onClose: () => void;
|
|
70
|
-
placeholder: string;
|
|
71
118
|
isAutoComplete?: boolean;
|
|
72
119
|
isSearchAutoFocus?: boolean;
|
|
120
|
+
primaryKey: string;
|
|
73
121
|
}
|
|
74
122
|
declare const _default: import("../../form/Field/fieldWrapper").FieldWrapperComponent<IDropDownFieldProps>;
|
|
75
123
|
export default _default;
|