@steroidsjs/core 3.0.43 → 3.0.44

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.
@@ -17467,6 +17467,15 @@
17467
17467
  "example": "{width: '45%'}",
17468
17468
  "defaultValue": null
17469
17469
  },
17470
+ {
17471
+ "name": "useSmartFocus",
17472
+ "decorators": [],
17473
+ "description": "Перемещать ли фокус на пустое после заполнения",
17474
+ "required": false,
17475
+ "type": "boolean",
17476
+ "example": "true",
17477
+ "defaultValue": null
17478
+ },
17470
17479
  {
17471
17480
  "name": "useUTC",
17472
17481
  "decorators": [],
package/en.json CHANGED
@@ -1006,6 +1006,7 @@
1006
1006
  "Пропсы для отображения элемента": "",
1007
1007
  "Отображать чекбоксы только на узлах, не имеющих вложенных элементов": "",
1008
1008
  "View компонент для элемента дерева": "",
1009
+ "Перемещать ли фокус на пустое после заполнения": "",
1009
1010
  "Разделитель для даты и времени, не влияет на отображение": "",
1010
1011
  "Нужно ли подгружать данные после закрытия DropDown": "",
1011
1012
  "Начальные элементы списка": "",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steroidsjs/core",
3
- "version": "3.0.43",
3
+ "version": "3.0.44",
4
4
  "description": "",
5
5
  "author": "Vladimir Kozhin <hello@kozhindev.com>",
6
6
  "repository": {
@@ -19,6 +19,7 @@ var react_use_1 = require("react-use");
19
19
  var isNil_1 = __importDefault(require("lodash-es/isNil"));
20
20
  var dayjs_1 = __importDefault(require("dayjs"));
21
21
  var calendar_1 = require("@steroidsjs/core/utils/calendar");
22
+ var isOneRangeValueEmpty = function (valueFrom, valueTo) { return !valueFrom || !valueTo; };
22
23
  function useDateRange(props) {
23
24
  // Tracking focus for input being edited
24
25
  var _a = (0, react_1.useState)('from'), focus = _a[0], setFocus = _a[1];
@@ -65,7 +66,7 @@ function useDateRange(props) {
65
66
  if ((0, isNil_1["default"])(props.inputFrom.value) && (0, isNil_1["default"])(props.inputTo.value)) {
66
67
  return;
67
68
  }
68
- if (props.useSmartFocus) {
69
+ if (props.useSmartFocus && isOneRangeValueEmpty(props.inputFrom.value, props.inputTo.value)) {
69
70
  if (focus === 'from' && !valueToRef.current && prevValueFrom !== props.inputFrom.value) {
70
71
  valueFromRef.current = props.inputFrom.value;
71
72
  inputToRef.current.focus();
@@ -74,6 +74,11 @@ export interface IDateRangeFieldProps extends IDateInputStateInput, Omit<IFieldW
74
74
  * @example true
75
75
  */
76
76
  hasInitialFocus?: boolean;
77
+ /**
78
+ * Перемещать ли фокус на пустое после заполнения
79
+ * @example true
80
+ */
81
+ useSmartFocus?: boolean;
77
82
  /**
78
83
  * Опции маски для полей
79
84
  */
@@ -79,7 +79,7 @@ function DateRangeField(props) {
79
79
  inputPropsTo: inputPropsTo,
80
80
  inputFrom: props.inputFrom,
81
81
  inputTo: props.inputTo,
82
- useSmartFocus: true,
82
+ useSmartFocus: props.useSmartFocus,
83
83
  hasInitialFocus: props.hasInitialFocus,
84
84
  displayFormat: props.displayFormat,
85
85
  valueFormat: props.valueFormat
@@ -130,6 +130,7 @@ DateRangeField.defaultProps = {
130
130
  displayFormat: 'DD.MM.YYYY',
131
131
  valueFormat: 'YYYY-MM-DD',
132
132
  showRemove: true,
133
+ useSmartFocus: true,
133
134
  hasInitialFocus: false,
134
135
  icon: true,
135
136
  maskOptions: {