@steroidsjs/core 2.1.0-beta.28 → 2.1.0-beta.32

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.
Files changed (41) hide show
  1. package/hooks/useDataProvider.d.ts +1 -0
  2. package/hooks/useDataProvider.js +3 -3
  3. package/hooks/useDataSelect.d.ts +3 -3
  4. package/hooks/useDataSelect.js +18 -7
  5. package/hooks/useDispatch.d.ts +1 -1
  6. package/package.json +2 -2
  7. package/ui/form/AutoCompleteField/AutoCompleteField.d.ts +1 -6
  8. package/ui/form/BlankField/BlankField.d.ts +1 -6
  9. package/ui/form/CheckboxField/CheckboxField.d.ts +1 -6
  10. package/ui/form/CheckboxListField/CheckboxListField.d.ts +1 -6
  11. package/ui/form/DateField/DateField.d.ts +1 -7
  12. package/ui/form/DateField/useDateTime.js +2 -2
  13. package/ui/form/DateRangeField/DateRangeField.d.ts +1 -7
  14. package/ui/form/DateRangeField/DateRangeField.js +2 -1
  15. package/ui/form/DateTimeField/DateTimeField.d.ts +1 -7
  16. package/ui/form/DateTimeRangeField/DateTimeRangeField.d.ts +1 -7
  17. package/ui/form/DropDownField/DropDownField.d.ts +2 -8
  18. package/ui/form/DropDownField/DropDownField.js +8 -6
  19. package/ui/form/Field/fieldWrapper.d.ts +4 -4
  20. package/ui/form/FieldList/FieldList.d.ts +1 -6
  21. package/ui/form/FileField/FileField.d.ts +1 -6
  22. package/ui/form/Form/Form.js +1 -1
  23. package/ui/form/HtmlField/HtmlField.d.ts +1 -7
  24. package/ui/form/ImageField/ImageField.d.ts +1 -7
  25. package/ui/form/ImageField/ImageField.js +2 -2
  26. package/ui/form/InputField/InputField.d.ts +1 -6
  27. package/ui/form/NavField/NavField.d.ts +2 -8
  28. package/ui/form/NumberField/NumberField.d.ts +1 -6
  29. package/ui/form/PasswordField/PasswordField.d.ts +1 -6
  30. package/ui/form/RadioListField/RadioListField.d.ts +1 -6
  31. package/ui/form/RateField/RateField.d.ts +2 -8
  32. package/ui/form/ReCaptchaField/ReCaptchaField.d.ts +1 -7
  33. package/ui/form/SliderField/SliderField.d.ts +4 -11
  34. package/ui/form/SliderField/demo/marks.js +8 -10
  35. package/ui/form/SwitcherField/SwitcherField.d.ts +1 -7
  36. package/ui/form/TextField/TextField.d.ts +1 -6
  37. package/ui/form/TimeField/TimeField.d.ts +1 -7
  38. package/ui/form/index.d.ts +22 -132
  39. package/ui/format/EnumFormatter/EnumFormatter.js +1 -1
  40. package/ui/list/Grid/demo/inner-search-form.d.ts +1 -6
  41. package/utils/form.d.ts +2 -7
@@ -22,6 +22,7 @@ export declare type DataProviderItems = string | ({
22
22
  }) | (string | number | {
23
23
  id: string | number | boolean;
24
24
  label: string | any;
25
+ [key: string]: any;
25
26
  })[];
26
27
  export interface IDataProviderConfig {
27
28
  /**
@@ -54,11 +54,11 @@ var react_redux_1 = require("react-redux");
54
54
  var isString_1 = __importDefault(require("lodash-es/isString"));
55
55
  var isFunction_1 = __importDefault(require("lodash-es/isFunction"));
56
56
  var react_1 = require("react");
57
+ var react_use_1 = require("react-use");
57
58
  var data_1 = require("../utils/data");
58
59
  var index_1 = require("./index");
59
60
  var fields_1 = require("../reducers/fields");
60
61
  var text_1 = require("../utils/text");
61
- var react_use_1 = require("react-use");
62
62
  var defaultProps = {
63
63
  autoComplete: {
64
64
  enable: false,
@@ -137,8 +137,8 @@ function useDataProvider(config) {
137
137
  delayTimerRef.current = setTimeout(fetchRemote, autoComplete.delay);
138
138
  }
139
139
  }
140
- }, [autoComplete, components.api, components.http, config.autoFetch, config.dataProvider, config.query,
141
- dataProvider, dataProvider.action, dataProvider.onSearch, sourceItems]);
140
+ }, [autoComplete, components.api, components.http, config.autoFetch, config.dataProvider,
141
+ config.query, dataProvider, dataProvider.action, dataProvider.onSearch, prevQuery, sourceItems]);
142
142
  return {
143
143
  sourceItems: sourceItems,
144
144
  items: items,
@@ -13,7 +13,7 @@ export interface IDataSelectConfig {
13
13
  * Список с видимыми элементами
14
14
  * @example [{id: 1, label: 'Krasnoyarsk'}, {id: 2, label: 'Moscow'}]
15
15
  */
16
- items: IDataSelectItem[];
16
+ items?: IDataSelectItem[];
17
17
  /**
18
18
  * Сделать активным первый элемент в списке
19
19
  * @example true
@@ -23,7 +23,7 @@ export interface IDataSelectConfig {
23
23
  * Список с идентификаторами выбранных элементов
24
24
  * @example [1, 4]
25
25
  */
26
- selectedIds: any;
26
+ selectedIds?: any;
27
27
  /**
28
28
  * Первичный ключ для item
29
29
  * @example id
@@ -32,7 +32,7 @@ export interface IDataSelectConfig {
32
32
  /**
33
33
  * Значение поля в форме
34
34
  */
35
- inputValue: any;
35
+ inputValue?: any;
36
36
  /**
37
37
  * Список со всеми элементами
38
38
  */
@@ -51,7 +51,7 @@ function useDataSelect(config) {
51
51
  if (!config.multiple && ids.length > 1) {
52
52
  ids = [ids[0]];
53
53
  }
54
- setSelectedIdsInternal(ids);
54
+ setSelectedIdsInternal(ids.sort());
55
55
  }
56
56
  else {
57
57
  var id_1 = ids;
@@ -61,11 +61,11 @@ function useDataSelect(config) {
61
61
  else if (config.multiple) {
62
62
  if (selectedIds.indexOf(id_1) !== -1) {
63
63
  if (!skipToggle) {
64
- setSelectedIdsInternal(selectedIds.filter(function (itemValue) { return itemValue !== id_1; }));
64
+ setSelectedIdsInternal(selectedIds.filter(function (itemValue) { return itemValue !== id_1; }).sort());
65
65
  }
66
66
  }
67
67
  else {
68
- setSelectedIdsInternal(__spreadArray(__spreadArray([], selectedIds), [id_1]));
68
+ setSelectedIdsInternal(__spreadArray(__spreadArray([], selectedIds), [id_1]).sort());
69
69
  }
70
70
  }
71
71
  else {
@@ -119,16 +119,19 @@ function useDataSelect(config) {
119
119
  newSelectedIds.push(selectedItem.id);
120
120
  }
121
121
  });
122
- if (!isEqual_1["default"](prevConfigSelectedIds, newSelectedIds) && newSelectedIds.length !== 0) {
122
+ if (!isEqual_1["default"](prevConfigSelectedIds.sort(), newSelectedIds.sort())
123
+ && !isEqual_1["default"](selectedIds.sort(), newSelectedIds.sort()) && newSelectedIds.length !== 0) {
123
124
  setSelectedIdsInternal(newSelectedIds);
124
125
  }
125
- }, [config.items, config.selectedIds, primaryKey, prevConfigSelectedIds, selectedItems, config.sourceItems]);
126
+ }, [config.items, config.selectedIds, primaryKey, prevConfigSelectedIds,
127
+ selectedItems, config.sourceItems, selectedIds]);
126
128
  // Global key down handler for navigate on items
127
129
  // Support keys:
128
130
  // - tab
129
131
  // - esc
130
132
  // - enter
131
133
  // - up/down arrows
134
+ // - space
132
135
  var onKeyDown = react_1.useCallback(function (e) {
133
136
  // Skip no active
134
137
  if (!isFocused && !isOpened) {
@@ -138,9 +141,8 @@ function useDataSelect(config) {
138
141
  if ([9, 27].includes(e.which)) {
139
142
  e.preventDefault();
140
143
  setIsOpened(false);
141
- return;
142
144
  }
143
- // Keys: enter
145
+ // Keys: enter (select and close)
144
146
  if (e.which === 13 && isOpened) {
145
147
  e.preventDefault();
146
148
  if (hoveredId) {
@@ -155,6 +157,15 @@ function useDataSelect(config) {
155
157
  // Select first result
156
158
  setSelectedIds(config.items[0], true);
157
159
  }
160
+ setIsOpened(false);
161
+ }
162
+ // Keys: space (toggle select)
163
+ if (e.which === 32 && isOpened) {
164
+ e.preventDefault();
165
+ if (hoveredId) {
166
+ // Select hovered
167
+ setSelectedIds(hoveredId);
168
+ }
158
169
  }
159
170
  // Keys: arrow up, arrow down
160
171
  if ([38, 40].includes(e.which)) {
@@ -1 +1 @@
1
- export default function useDispatch(): import("redux").Dispatch<any>;
1
+ export default function useDispatch(): any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steroidsjs/core",
3
- "version": "2.1.0-beta.28",
3
+ "version": "2.1.0-beta.32",
4
4
  "description": "",
5
5
  "author": "Vladimir Kozhin <hello@kozhindev.com>",
6
6
  "repository": {
@@ -46,7 +46,7 @@
46
46
  "react-helmet": "^6.1.0",
47
47
  "react-image-crop": "^9.0.2",
48
48
  "react-input-mask": "^3.0.0-alpha.2",
49
- "react-redux": "^7.1.1",
49
+ "react-redux": "7.1.1",
50
50
  "react-router": "^5.2.0",
51
51
  "react-router-dom": "^5.2.0",
52
52
  "react-use": "^17.1.0",
@@ -35,10 +35,5 @@ export interface IAutoCompleteFieldViewProps extends Omit<IAutoCompleteFieldProp
35
35
  onItemSelect: (id: PrimaryKey | any) => void;
36
36
  onItemHover: (id: PrimaryKey | any) => void;
37
37
  }
38
- declare const _default: {
39
- (props: import("../../../ui/form/Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
40
- WrappedComponent: any;
41
- displayName: any;
42
- defaultProps: any;
43
- };
38
+ declare const _default: import("../../../ui/form/Field/fieldWrapper").FieldWrapperComponent<IAutoCompleteFieldProps>;
44
39
  export default _default;
@@ -4,10 +4,5 @@ export interface IBlankFieldProps extends IFieldWrapperInputProps {
4
4
  text?: string | React.ReactNode;
5
5
  children?: React.ReactNode;
6
6
  }
7
- declare const _default: {
8
- (props: IFieldWrapperInputProps): JSX.Element;
9
- WrappedComponent: any;
10
- displayName: any;
11
- defaultProps: any;
12
- };
7
+ declare const _default: import("../Field/fieldWrapper").FieldWrapperComponent<IBlankFieldProps>;
13
8
  export default _default;
@@ -30,10 +30,5 @@ export interface ICheckboxFieldViewProps extends ICheckboxFieldProps, IFieldWrap
30
30
  disabled: boolean;
31
31
  };
32
32
  }
33
- declare const _default: {
34
- (props: IFieldWrapperInputProps): JSX.Element;
35
- WrappedComponent: any;
36
- displayName: any;
37
- defaultProps: any;
38
- };
33
+ declare const _default: import("../Field/fieldWrapper").FieldWrapperComponent<ICheckboxFieldProps>;
39
34
  export default _default;
@@ -40,10 +40,5 @@ export interface ICheckboxListFieldViewProps extends IFieldWrapperOutputProps {
40
40
  onItemSelect: (id: PrimaryKey | any) => void;
41
41
  onItemHover: (id: PrimaryKey | any) => void;
42
42
  }
43
- declare const _default: {
44
- (props: IFieldWrapperInputProps): JSX.Element;
45
- WrappedComponent: any;
46
- displayName: any;
47
- defaultProps: any;
48
- };
43
+ declare const _default: import("../../../ui/form/Field/fieldWrapper").FieldWrapperComponent<ICheckboxListFieldProps>;
49
44
  export default _default;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ICalendarProps } from '../../content/Calendar/Calendar';
3
2
  import { IDateInputStateInput, IDateInputStateOutput } from './useDateInputState';
4
3
  export interface IDateFieldProps extends IDateInputStateInput {
@@ -29,10 +28,5 @@ export interface IDateFieldProps extends IDateInputStateInput {
29
28
  export interface IDateFieldViewProps extends IDateInputStateOutput, Pick<IDateFieldProps, 'size' | 'icon' | 'errors' | 'showRemove' | 'className' | 'calendarProps'> {
30
29
  [key: string]: any;
31
30
  }
32
- declare const _default: {
33
- (props: import("../../form/Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
34
- WrappedComponent: any;
35
- displayName: any;
36
- defaultProps: any;
37
- };
31
+ declare const _default: import("../../form/Field/fieldWrapper").FieldWrapperComponent<IDateFieldProps>;
38
32
  export default _default;
@@ -18,11 +18,11 @@ function useDateTime(props) {
18
18
  // Handler for calendar and time picker changes
19
19
  var onDateSelect = react_1.useCallback(function (date) {
20
20
  var result = date + props.dateTimeSeparator + (timeValue || '00:00');
21
- props.input.onChange.call(null, calendar_1.convertDate(result, props.valueFormat, props.valueFormat, true));
21
+ props.input.onChange.call(null, calendar_1.convertDate(result, [props.valueFormat, 'YYYY-MM-DD HH:mm'], props.valueFormat, true));
22
22
  }, [props.dateTimeSeparator, props.input.onChange, props.valueFormat, timeValue]);
23
23
  var onTimeSelect = react_1.useCallback(function (time) {
24
24
  var result = (dateValue || moment_1["default"]().format(dateValueFormat)) + props.dateTimeSeparator + time;
25
- props.input.onChange.call(null, calendar_1.convertDate(result, props.valueFormat, props.valueFormat, true));
25
+ props.input.onChange.call(null, calendar_1.convertDate(result, [props.valueFormat, 'YYYY-MM-DD HH:mm'], props.valueFormat, true));
26
26
  }, [dateValue, dateValueFormat, props.dateTimeSeparator, props.input.onChange, props.valueFormat]);
27
27
  return {
28
28
  dateValue: dateValue,
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ICalendarProps } from '../../content/Calendar/Calendar';
3
2
  import { IDateInputStateInput, IDateInputStateOutput } from '../DateField/useDateInputState';
4
3
  import { IFieldWrapperInputProps, IFieldWrapperOutputProps } from '../../form/Field/fieldWrapper';
@@ -80,10 +79,5 @@ export interface IDateRangeFieldViewProps extends IDateInputStateOutput, Omit<IF
80
79
  errorsFrom?: string[];
81
80
  errorsTo?: string[];
82
81
  }
83
- declare const _default: {
84
- (props: IFieldWrapperInputProps): JSX.Element;
85
- WrappedComponent: any;
86
- displayName: any;
87
- defaultProps: any;
88
- };
82
+ declare const _default: import("../../form/Field/fieldWrapper").FieldWrapperComponent<IDateRangeFieldProps>;
89
83
  export default _default;
@@ -71,7 +71,8 @@ function DateRangeField(props) {
71
71
  valueFormat: props.valueFormat,
72
72
  numberOfMonths: 2,
73
73
  showFooter: false
74
- }); }, [focus, props.inputFrom.onChange, props.inputFrom.value, props.inputTo.onChange, props.inputTo.value, props.valueFormat]);
74
+ }); }, [focus, props.inputFrom.onChange, props.inputFrom.value, props.inputTo.onChange,
75
+ props.inputTo.value, props.valueFormat]);
75
76
  return components.ui.renderView(props.view || 'form.DateRangeFieldView', __assign(__assign({}, props.viewProps), { onClear: onClear,
76
77
  onClose: onClose,
77
78
  calendarProps: calendarProps, icon: props.icon, size: props.size, errorsTo: props.errorsTo, disabled: props.disabled, noBorder: props.noBorder, className: props.className, showRemove: props.showRemove, errorsFrom: props.errorsFrom, inputPropsTo: extendedInputPropsTo, inputPropsFrom: extendedInputPropsFrom, isOpened: focus === 'from' ? isOpenedFrom : isOpenedTo }));
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ICalendarProps } from '../../content/Calendar/Calendar';
3
2
  import { IDateInputStateInput, IDateInputStateOutput } from '../../form/DateField/useDateInputState';
4
3
  export interface IDateTimeFieldProps extends IDateInputStateInput {
@@ -29,10 +28,5 @@ export interface IDateTimeFieldProps extends IDateInputStateInput {
29
28
  export interface IDateTimeFieldViewProps extends IDateInputStateOutput, Pick<IDateTimeFieldProps, 'size' | 'errors' | 'showRemove' | 'calendarProps' | 'className' | 'timePanelViewProps'> {
30
29
  [key: string]: any;
31
30
  }
32
- declare const _default: {
33
- (props: import("../../form/Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
34
- WrappedComponent: any;
35
- displayName: any;
36
- defaultProps: any;
37
- };
31
+ declare const _default: import("../../form/Field/fieldWrapper").FieldWrapperComponent<IDateTimeFieldProps>;
38
32
  export default _default;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ICalendarProps } from '../../content/Calendar/Calendar';
3
2
  import { IDateRangeFieldProps } from '../../form/DateRangeField/DateRangeField';
4
3
  import { IDateInputStateInput, IDateInputStateOutput } from '../../form/DateField/useDateInputState';
@@ -68,10 +67,5 @@ export interface IDateTimeRangeFieldViewProps extends IDateInputStateOutput, Omi
68
67
  errorsFrom?: any;
69
68
  errorsTo?: any;
70
69
  }
71
- declare const _default: {
72
- (props: IFieldWrapperInputProps): JSX.Element;
73
- WrappedComponent: any;
74
- displayName: any;
75
- defaultProps: any;
76
- };
70
+ declare const _default: import("../../form/Field/fieldWrapper").FieldWrapperComponent<IDateTimeRangeFieldProps>;
77
71
  export default _default;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { IDataProviderConfig } from '../../../hooks/useDataProvider';
3
2
  import { IDataSelectConfig } from '../../../hooks/useDataSelect';
4
3
  import { IFieldWrapperInputProps } from '../../form/Field/fieldWrapper';
@@ -64,12 +63,7 @@ export interface IDropDownFieldViewProps extends Omit<IDropDownFieldProps, 'item
64
63
  onClose: () => void;
65
64
  placeholder: string;
66
65
  isAutoComplete?: boolean;
67
- searchAutoFocus?: any;
66
+ isSearchAutoFocus?: boolean;
68
67
  }
69
- declare const _default: {
70
- (props: IFieldWrapperInputProps): JSX.Element;
71
- WrappedComponent: any;
72
- displayName: any;
73
- defaultProps: any;
74
- };
68
+ declare const _default: import("../../form/Field/fieldWrapper").FieldWrapperComponent<IDropDownFieldProps>;
75
69
  export default _default;
@@ -88,13 +88,14 @@ function DropDownField(props) {
88
88
  }
89
89
  }
90
90
  }, [prevSelectedIds, props.input.onChange, props.multiple, props.onChange, selectedIds]);
91
- // form reset
92
- react_1.useEffect(function () {
93
- //if form reset
94
- if (props.input.value === undefined && selectedIds.length > 0) {
91
+ // Reset selected ids on form reset
92
+ var prevInputValue = react_use_1.usePrevious(props.input.value);
93
+ react_use_1.useUpdateEffect(function () {
94
+ // if form reset
95
+ if (prevInputValue && props.input.value === undefined && selectedIds.length > 0) {
95
96
  onReset();
96
97
  }
97
- }, [onReset, props.input.value, selectedIds.length]);
98
+ }, [onReset, prevInputValue, props.input.value, selectedIds.length]);
98
99
  return components.ui.renderView(props.view || 'form.DropDownFieldView', __assign(__assign({}, props), { isAutoComplete: isAutoComplete,
99
100
  items: items,
100
101
  hoveredId: hoveredId,
@@ -120,6 +121,7 @@ DropDownField.defaultProps = {
120
121
  className: '',
121
122
  autoComplete: false,
122
123
  showReset: false,
123
- multiple: false
124
+ multiple: false,
125
+ isSearchAutoFocus: true
124
126
  };
125
127
  exports["default"] = fieldWrapper_1["default"]('DropDownField', DropDownField);
@@ -78,11 +78,11 @@ interface IFieldWrapperOptions {
78
78
  list?: boolean;
79
79
  attributeSuffixes?: string[];
80
80
  }
81
- declare type FieldWrapperComponent = {
82
- (props: IFieldWrapperInputProps): JSX.Element;
81
+ export interface FieldWrapperComponent<T> {
82
+ (props: IFieldWrapperInputProps & T): JSX.Element;
83
83
  WrappedComponent: any;
84
84
  displayName: any;
85
85
  defaultProps: any;
86
- };
87
- export default function fieldWrapper(componentId: any, Component: any, optionsConfig?: IFieldWrapperOptions): FieldWrapperComponent;
86
+ }
87
+ export default function fieldWrapper<T = any>(componentId: any, Component: any, optionsConfig?: IFieldWrapperOptions): FieldWrapperComponent<T>;
88
88
  export {};
@@ -118,10 +118,5 @@ export interface IFieldListItemViewProps extends IFieldWrapperOutputProps {
118
118
  rowIndex: number;
119
119
  showRemove: boolean;
120
120
  }
121
- declare const _default: {
122
- (props: IFieldWrapperInputProps): JSX.Element;
123
- WrappedComponent: any;
124
- displayName: any;
125
- defaultProps: any;
126
- };
121
+ declare const _default: import("../../form/Field/fieldWrapper").FieldWrapperComponent<IFieldListProps>;
127
122
  export default _default;
@@ -87,10 +87,5 @@ export interface IFileFieldViewProps extends IFileFieldProps {
87
87
  itemView?: React.ReactNode | any;
88
88
  items: IFileFieldItemViewProps[];
89
89
  }
90
- declare const _default: {
91
- (props: IFieldWrapperInputProps): JSX.Element;
92
- WrappedComponent: any;
93
- displayName: any;
94
- defaultProps: any;
95
- };
90
+ declare const _default: import("../Field/fieldWrapper").FieldWrapperComponent<IFileFieldProps>;
96
91
  export default _default;
@@ -306,7 +306,7 @@ function Form(props) {
306
306
  ? components.ui.renderView(props.view || 'form.FormView', __assign(__assign({}, props.viewProps), { isInvalid: isInvalid,
307
307
  isSubmitting: isSubmitting,
308
308
  layout: layout,
309
- onSubmit: onSubmit, submitLabel: props.submitLabel, fields: props.fields, children: props.children, isBordered: props.isBordered, className: props.className }))
309
+ onSubmit: onSubmit, submitLabel: props.submitLabel, fields: props.fields, children: props.children, isBordered: props.isBordered, className: props.className, style: props.style }))
310
310
  : props.children));
311
311
  }
312
312
  Form.defaultProps = {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { IFieldWrapperInputProps, IFieldWrapperOutputProps } from '../Field/fieldWrapper';
3
2
  /**
4
3
  * HtmlField
@@ -44,10 +43,5 @@ export interface IHtmlFieldProps extends IFieldWrapperInputProps, IFieldWrapperO
44
43
  export interface IHtmlFieldViewProps extends IHtmlFieldProps {
45
44
  onChange: (event: any, editor: any) => void;
46
45
  }
47
- declare const _default: {
48
- (props: IFieldWrapperInputProps): JSX.Element;
49
- WrappedComponent: any;
50
- displayName: any;
51
- defaultProps: any;
52
- };
46
+ declare const _default: import("../Field/fieldWrapper").FieldWrapperComponent<IHtmlFieldProps>;
53
47
  export default _default;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import ReactCropProps, { Crop } from 'react-image-crop';
3
2
  import { IModalProps } from '../../modal/Modal/Modal';
4
3
  import { IFieldWrapperInputProps } from '../Field/fieldWrapper';
@@ -78,10 +77,5 @@ export interface IImageFieldViewProps extends IImageFieldProps {
78
77
  };
79
78
  onClick: () => void;
80
79
  }
81
- declare const _default: {
82
- (props: IFieldWrapperInputProps): JSX.Element;
83
- WrappedComponent: any;
84
- displayName: any;
85
- defaultProps: any;
86
- };
80
+ declare const _default: import("../Field/fieldWrapper").FieldWrapperComponent<IImageFieldProps>;
87
81
  export default _default;
@@ -55,7 +55,7 @@ function ImageField(props) {
55
55
  var data = null;
56
56
  try {
57
57
  data = JSON.parse(text);
58
- dispatch(modal_1.openModal(ImageFieldModalVIew, __assign(__assign({ modalId: modalId }, props.modalProps), { crop: __assign(__assign({}, props.crop), { onSubmit: function (crop, imageId) { return setCroppedImage(__assign(__assign({}, crop), { id: imageId })); } }), image: first_1["default"](data) })));
58
+ dispatch(modal_1.openModal(ImageFieldModalVIew, __assign(__assign({ modalId: modalId }, props.modalProps), { crop: __assign(__assign({}, props.crop), { onSubmit: function (crop, imageId) { return setCroppedImage(__assign(__assign({}, crop), { id: imageId })); } }), image: first_1["default"](data) || data })));
59
59
  // eslint-disable-next-line no-empty
60
60
  }
61
61
  catch (e) { }
@@ -63,7 +63,7 @@ function ImageField(props) {
63
63
  }, [ImageFieldModalVIew, modalId, dispatch, props.crop, props.modalProps]);
64
64
  var _b = useFile_1["default"](__assign(__assign({}, props), { multiple: false, imagesOnly: true, uploader: __assign({ uploaderConfigs: {
65
65
  xhr: {
66
- responseParser: responseParser
66
+ responseParser: props.crop ? responseParser : null
67
67
  }
68
68
  } }, props.uploader) })), files = _b.files, onBrowse = _b.onBrowse, onRemove = _b.onRemove, onAdd = _b.onAdd;
69
69
  // Fetch cropped image
@@ -95,10 +95,5 @@ export interface IInputFieldViewProps extends IInputFieldProps, IFieldWrapperOut
95
95
  onBlur?: (e: Event | React.FocusEvent) => void;
96
96
  onMouseDown?: (e: Event | React.MouseEvent) => void;
97
97
  }
98
- declare const _default: {
99
- (props: IFieldWrapperInputProps): JSX.Element;
100
- WrappedComponent: any;
101
- displayName: any;
102
- defaultProps: any;
103
- };
98
+ declare const _default: import("../Field/fieldWrapper").FieldWrapperComponent<IInputFieldProps>;
104
99
  export default _default;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { INavProps } from '../../nav/Nav/Nav';
3
2
  import { IFieldWrapperInputProps, IFieldWrapperOutputProps } from '../../form/Field/fieldWrapper';
4
3
  import { IDataProviderConfig } from '../../../hooks/useDataProvider';
@@ -10,13 +9,8 @@ export interface INavFieldProps extends IFieldWrapperInputProps, IFieldWrapperOu
10
9
  /**
11
10
  * Свойства для компонента Nav
12
11
  */
13
- navProps: INavProps;
12
+ navProps?: INavProps;
14
13
  [key: string]: any;
15
14
  }
16
- declare const _default: {
17
- (props: IFieldWrapperInputProps): JSX.Element;
18
- WrappedComponent: any;
19
- displayName: any;
20
- defaultProps: any;
21
- };
15
+ declare const _default: import("../../form/Field/fieldWrapper").FieldWrapperComponent<INavFieldProps>;
22
16
  export default _default;
@@ -36,10 +36,5 @@ export interface INumberFieldViewProps extends INumberFieldProps, IFieldWrapperO
36
36
  step: string | number;
37
37
  };
38
38
  }
39
- declare const _default: {
40
- (props: IFieldWrapperInputProps): JSX.Element;
41
- WrappedComponent: any;
42
- displayName: any;
43
- defaultProps: any;
44
- };
39
+ declare const _default: import("../Field/fieldWrapper").FieldWrapperComponent<INumberFieldProps>;
45
40
  export default _default;
@@ -30,10 +30,5 @@ export interface IPasswordFieldViewProps extends IPasswordFieldProps, IFieldWrap
30
30
  onHidePassword: () => void;
31
31
  }
32
32
  export declare const checkPassword: (password: any) => "success" | "warning" | "danger";
33
- declare const _default: {
34
- (props: import("../Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
35
- WrappedComponent: any;
36
- displayName: any;
37
- defaultProps: any;
38
- };
33
+ declare const _default: import("../Field/fieldWrapper").FieldWrapperComponent<IPasswordFieldProps>;
39
34
  export default _default;
@@ -38,10 +38,5 @@ export interface IRadioListFieldViewProps extends IFieldWrapperOutputProps {
38
38
  selectedIds: (PrimaryKey | any)[];
39
39
  onItemSelect: (id: PrimaryKey | any) => void;
40
40
  }
41
- declare const _default: {
42
- (props: IFieldWrapperInputProps): JSX.Element;
43
- WrappedComponent: any;
44
- displayName: any;
45
- defaultProps: any;
46
- };
41
+ declare const _default: import("../../form/Field/fieldWrapper").FieldWrapperComponent<IRadioListFieldProps>;
47
42
  export default _default;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { IFieldWrapperInputProps, IFieldWrapperOutputProps } from '../Field/fieldWrapper';
3
2
  /**
4
3
  * RateField
@@ -33,7 +32,7 @@ export interface IRateFieldProps extends IFieldWrapperInputProps {
33
32
  * Дополнительный CSS-класс для элемента отображения
34
33
  */
35
34
  className?: CssClassName;
36
- inputProps: {
35
+ inputProps?: {
37
36
  [key: string]: any;
38
37
  };
39
38
  }
@@ -44,10 +43,5 @@ export interface IRateFieldViewProps extends IRateFieldProps, IFieldWrapperOutpu
44
43
  value: number;
45
44
  onItemClick: (item: IRateFieldItem) => void;
46
45
  }
47
- declare const _default: {
48
- (props: IFieldWrapperInputProps): JSX.Element;
49
- WrappedComponent: any;
50
- displayName: any;
51
- defaultProps: any;
52
- };
46
+ declare const _default: import("../Field/fieldWrapper").FieldWrapperComponent<IRateFieldProps>;
53
47
  export default _default;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { IFieldWrapperInputProps, IFieldWrapperOutputProps } from '../Field/fieldWrapper';
3
2
  /**
4
3
  * ReCaptchaField
@@ -21,10 +20,5 @@ export interface IReCaptchaFieldProps extends IFieldWrapperInputProps {
21
20
  }
22
21
  export interface IReCaptchaFieldViewProps extends IReCaptchaFieldProps, IFieldWrapperOutputProps {
23
22
  }
24
- declare const _default: {
25
- (props: IFieldWrapperInputProps): JSX.Element;
26
- WrappedComponent: any;
27
- displayName: any;
28
- defaultProps: any;
29
- };
23
+ declare const _default: import("../Field/fieldWrapper").FieldWrapperComponent<IReCaptchaFieldProps>;
30
24
  export default _default;
@@ -54,14 +54,12 @@ export interface ISliderFieldProps extends IFieldWrapperInputProps {
54
54
  * содержащий свойства style и label.
55
55
  * @example { min: 20, 40: 40, max: 100 }
56
56
  */
57
- marks?: {
58
- number: React.ReactNode;
59
- } | {
60
- number: {
57
+ marks?: Record<string, {
58
+ string: {
61
59
  style: any;
62
60
  label: any;
63
61
  };
64
- };
62
+ } | React.ReactNode | string>;
65
63
  /**
66
64
  * Функция, вызываемая после отпускания tip'а у слайдера (при событии onmouseup)
67
65
  * @see https://github.com/schrodinger/rc-slider
@@ -74,10 +72,5 @@ export interface ISliderFieldViewProps extends ISliderFieldProps, IFieldWrapperO
74
72
  sliderDefaultValue?: number;
75
73
  rangeDefaultValue?: number[];
76
74
  }
77
- declare const _default: {
78
- (props: IFieldWrapperInputProps): JSX.Element;
79
- WrappedComponent: any;
80
- displayName: any;
81
- defaultProps: any;
82
- };
75
+ declare const _default: import("../Field/fieldWrapper").FieldWrapperComponent<ISliderFieldProps>;
83
76
  export default _default;
@@ -21,7 +21,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
21
21
  var __importDefault = (this && this.__importDefault) || function (mod) {
22
22
  return (mod && mod.__esModule) ? mod : { "default": mod };
23
23
  };
24
- var _a;
25
24
  exports.__esModule = true;
26
25
  var React = __importStar(require("react"));
27
26
  var SliderField_1 = __importDefault(require("../SliderField"));
@@ -30,18 +29,17 @@ var SliderField_1 = __importDefault(require("../SliderField"));
30
29
  * @order 7
31
30
  * @col 4
32
31
  */
33
- var marks = (_a = {},
34
- _a[-10] = '-10°C',
35
- _a[0] = React.createElement("strong", null, "0\u00B0C"),
36
- _a[26] = '26°C',
37
- _a[37] = '37°C',
38
- _a[50] = '50°C',
39
- _a[80] = {
32
+ var marks = {
33
+ 0: React.createElement("strong", null, "0\u00B0C"),
34
+ 26: '26°C',
35
+ 37: '37°C',
36
+ 50: '50°C',
37
+ 80: {
40
38
  style: {
41
39
  color: 'red'
42
40
  },
43
41
  label: React.createElement("strong", null, "80\u00B0C")
44
- },
45
- _a);
42
+ }
43
+ };
46
44
  exports["default"] = (function () { return (React.createElement("div", { style: { padding: '20px 30px' } },
47
45
  React.createElement(SliderField_1["default"], { min: -10, max: 80, marks: marks }))); });
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { IFieldWrapperInputProps, IFieldWrapperOutputProps } from '../Field/fieldWrapper';
3
2
  import { IDataProviderConfig } from '../../../hooks/useDataProvider';
4
3
  import { IDataSelectConfig } from '../../../hooks/useDataSelect';
@@ -30,10 +29,5 @@ export interface ISwitcherFieldViewProps extends IFieldWrapperOutputProps, Omit<
30
29
  onItemHover: (id: PrimaryKey | any) => void;
31
30
  buttonProps?: any;
32
31
  }
33
- declare const _default: {
34
- (props: IFieldWrapperInputProps): JSX.Element;
35
- WrappedComponent: any;
36
- displayName: any;
37
- defaultProps: any;
38
- };
32
+ declare const _default: import("../Field/fieldWrapper").FieldWrapperComponent<ISwitcherFieldProps>;
39
33
  export default _default;
@@ -42,10 +42,5 @@ export interface ITextFieldViewProps extends ITextFieldProps, IFieldWrapperOutpu
42
42
  disabled: boolean;
43
43
  };
44
44
  }
45
- declare const _default: {
46
- (props: IFieldWrapperInputProps): JSX.Element;
47
- WrappedComponent: any;
48
- displayName: any;
49
- defaultProps: any;
50
- };
45
+ declare const _default: import("../Field/fieldWrapper").FieldWrapperComponent<ITextFieldProps>;
51
46
  export default _default;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { IDateInputStateInput, IDateInputStateOutput } from '../../form/DateField/useDateInputState';
3
2
  export interface ITimePanelViewProps extends Pick<ITimeFieldViewProps, 'value' | 'onClose' | 'onNow' | 'onSelect' | 'className'> {
4
3
  showHeader?: boolean;
@@ -41,10 +40,5 @@ export interface ITimeFieldProps extends IDateInputStateInput {
41
40
  export interface ITimeFieldViewProps extends IDateInputStateOutput, Pick<ITimeFieldProps, 'size' | 'errors' | 'showRemove' | 'noBorder' | 'className' | 'timePanelViewProps'> {
42
41
  [key: string]: any;
43
42
  }
44
- declare const _default: {
45
- (props: import("../Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
46
- WrappedComponent: any;
47
- displayName: any;
48
- defaultProps: any;
49
- };
43
+ declare const _default: import("../Field/fieldWrapper").FieldWrapperComponent<ITimeFieldProps>;
50
44
  export default _default;
@@ -28,142 +28,32 @@ import TextField from './TextField';
28
28
  import TimeField from './TimeField';
29
29
  export { AutoCompleteField, BlankField, Button, CheckboxField, CheckboxListField, DateField, DateRangeField, DateTimeField, DateTimeRangeField, DropDownField, Field, FieldLayout, FieldList, FieldSet, FileField, Form, HtmlField, InputField, NavField, NumberField, PasswordField, RadioListField, ReCaptchaField, SliderField, SwitcherField, TextField, TimeField, };
30
30
  declare const _default: {
31
- AutoCompleteField: {
32
- (props: import("./Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
33
- WrappedComponent: any;
34
- displayName: any;
35
- defaultProps: any;
36
- };
37
- BlankField: {
38
- (props: import("./Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
39
- WrappedComponent: any;
40
- displayName: any;
41
- defaultProps: any;
42
- };
31
+ AutoCompleteField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./AutoCompleteField/AutoCompleteField").IAutoCompleteFieldProps>;
32
+ BlankField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./BlankField/BlankField").IBlankFieldProps>;
43
33
  Button: typeof Button;
44
- CheckboxField: {
45
- (props: import("./Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
46
- WrappedComponent: any;
47
- displayName: any;
48
- defaultProps: any;
49
- };
50
- CheckboxListField: {
51
- (props: import("./Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
52
- WrappedComponent: any;
53
- displayName: any;
54
- defaultProps: any;
55
- };
56
- DateField: {
57
- (props: import("./Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
58
- WrappedComponent: any;
59
- displayName: any;
60
- defaultProps: any;
61
- };
62
- DateRangeField: {
63
- (props: import("./Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
64
- WrappedComponent: any;
65
- displayName: any;
66
- defaultProps: any;
67
- };
68
- DateTimeField: {
69
- (props: import("./Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
70
- WrappedComponent: any;
71
- displayName: any;
72
- defaultProps: any;
73
- };
74
- DateTimeRangeField: {
75
- (props: import("./Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
76
- WrappedComponent: any;
77
- displayName: any;
78
- defaultProps: any;
79
- };
80
- DropDownField: {
81
- (props: import("./Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
82
- WrappedComponent: any;
83
- displayName: any;
84
- defaultProps: any;
85
- };
34
+ CheckboxField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./CheckboxField/CheckboxField").ICheckboxFieldProps>;
35
+ CheckboxListField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./CheckboxListField/CheckboxListField").ICheckboxListFieldProps>;
36
+ DateField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./DateField/DateField").IDateFieldProps>;
37
+ DateRangeField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./DateRangeField/DateRangeField").IDateRangeFieldProps>;
38
+ DateTimeField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./DateTimeField/DateTimeField").IDateTimeFieldProps>;
39
+ DateTimeRangeField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./DateTimeRangeField/DateTimeRangeField").IDateTimeRangeFieldProps>;
40
+ DropDownField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./DropDownField/DropDownField").IDropDownFieldProps>;
86
41
  Field: import("react").MemoExoticComponent<(props: import("./Field/Field").IFieldProps) => JSX.Element>;
87
42
  FieldLayout: import("react").MemoExoticComponent<(props: import("./FieldLayout/FieldLayout").IFieldLayoutProps) => JSX.Element>;
88
- FieldList: {
89
- (props: import("./Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
90
- WrappedComponent: any;
91
- displayName: any;
92
- defaultProps: any;
93
- };
43
+ FieldList: import("./Field/fieldWrapper").FieldWrapperComponent<import("./FieldList/FieldList").IFieldListProps>;
94
44
  FieldSet: typeof FieldSet;
95
- FileField: {
96
- (props: import("./Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
97
- WrappedComponent: any;
98
- displayName: any;
99
- defaultProps: any;
100
- };
45
+ FileField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./FileField/FileField").IFileFieldProps>;
101
46
  Form: typeof Form;
102
- HtmlField: {
103
- (props: import("./Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
104
- WrappedComponent: any;
105
- displayName: any;
106
- defaultProps: any;
107
- };
108
- InputField: {
109
- (props: import("./Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
110
- WrappedComponent: any;
111
- displayName: any;
112
- defaultProps: any;
113
- };
114
- NavField: {
115
- (props: import("./Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
116
- WrappedComponent: any;
117
- displayName: any;
118
- defaultProps: any;
119
- };
120
- NumberField: {
121
- (props: import("./Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
122
- WrappedComponent: any;
123
- displayName: any;
124
- defaultProps: any;
125
- };
126
- PasswordField: {
127
- (props: import("./Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
128
- WrappedComponent: any;
129
- displayName: any;
130
- defaultProps: any;
131
- };
132
- RadioListField: {
133
- (props: import("./Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
134
- WrappedComponent: any;
135
- displayName: any;
136
- defaultProps: any;
137
- };
138
- ReCaptchaField: {
139
- (props: import("./Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
140
- WrappedComponent: any;
141
- displayName: any;
142
- defaultProps: any;
143
- };
144
- SliderField: {
145
- (props: import("./Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
146
- WrappedComponent: any;
147
- displayName: any;
148
- defaultProps: any;
149
- };
150
- SwitcherField: {
151
- (props: import("./Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
152
- WrappedComponent: any;
153
- displayName: any;
154
- defaultProps: any;
155
- };
156
- TextField: {
157
- (props: import("./Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
158
- WrappedComponent: any;
159
- displayName: any;
160
- defaultProps: any;
161
- };
162
- TimeField: {
163
- (props: import("./Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
164
- WrappedComponent: any;
165
- displayName: any;
166
- defaultProps: any;
167
- };
47
+ HtmlField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./HtmlField/HtmlField").IHtmlFieldProps>;
48
+ InputField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./InputField/InputField").IInputFieldProps>;
49
+ NavField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./NavField/NavField").INavFieldProps>;
50
+ NumberField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./NumberField/NumberField").INumberFieldProps>;
51
+ PasswordField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./PasswordField/PasswordField").IPasswordFieldProps>;
52
+ RadioListField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./RadioListField/RadioListField").IRadioListFieldProps>;
53
+ ReCaptchaField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./ReCaptchaField/ReCaptchaField").IReCaptchaFieldProps>;
54
+ SliderField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./SliderField/SliderField").ISliderFieldProps>;
55
+ SwitcherField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./SwitcherField/SwitcherField").ISwitcherFieldProps>;
56
+ TextField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./TextField/TextField").ITextFieldProps>;
57
+ TimeField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./TimeField/TimeField").ITimeFieldProps>;
168
58
  };
169
59
  export default _default;
@@ -28,7 +28,7 @@ var getLabel = function (items, id) {
28
28
  exports.getLabel = getLabel;
29
29
  function EnumFormatter(props) {
30
30
  var components = hooks_1.useComponents();
31
- var items = hooks_1.useDataProvider({ items: props.items });
31
+ var items = hooks_1.useDataProvider({ items: props.items }).items;
32
32
  return components.ui.renderView(props.view || 'format.DefaultFormatterView', {
33
33
  value: exports.getLabel(items, props.value)
34
34
  });
@@ -4,12 +4,7 @@ export declare const searchForm: {
4
4
  fields: {
5
5
  label: string;
6
6
  attribute: string;
7
- component: {
8
- (props: import("../../../form/Field/fieldWrapper").IFieldWrapperInputProps): JSX.Element;
9
- WrappedComponent: any;
10
- displayName: any;
11
- defaultProps: any;
12
- };
7
+ component: import("../../../form/Field/fieldWrapper").FieldWrapperComponent<import("../../../form/InputField/InputField").IInputFieldProps>;
13
8
  }[];
14
9
  };
15
10
  declare const _default: () => JSX.Element;
package/utils/form.d.ts CHANGED
@@ -7,16 +7,11 @@ export declare const providers: {
7
7
  redux: {
8
8
  useForm: (formId: any, initialValues: any) => any;
9
9
  useField: (formId: any, name: any, isList: any) => {
10
- setValue: (value: any) => {
11
- type: string;
12
- formId: any;
13
- name: any;
14
- value: any;
15
- };
10
+ setValue: (value: any) => any;
16
11
  errors: any;
17
12
  value: any;
18
13
  };
19
- useDispatch: () => import("redux").Dispatch<any>;
14
+ useDispatch: () => any;
20
15
  select: (formId: any, selector: any) => any;
21
16
  };
22
17
  reducer: {