@steroidsjs/core 3.0.0-beta.48 → 3.0.0-beta.49

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.48",
3
+ "version": "3.0.0-beta.49",
4
4
  "description": "",
5
5
  "author": "Vladimir Kozhin <hello@kozhindev.com>",
6
6
  "repository": {
@@ -1,3 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { MaskitoOptions } from '@maskito/core';
1
3
  import { ICalendarProps } from '../../content/Calendar/Calendar';
2
4
  import { IDateInputStateInput, IDateInputStateOutput } from './useDateInputState';
3
5
  export interface IDateFieldProps extends IDateInputStateInput, IUiComponent {
@@ -9,9 +11,17 @@ export interface IDateFieldProps extends IDateInputStateInput, IUiComponent {
9
11
  * Свойства для компонента Calendar
10
12
  */
11
13
  calendarProps?: ICalendarProps;
14
+ /**
15
+ * Опции маски для поля ввода
16
+ */
17
+ maskOptions?: MaskitoOptions;
12
18
  [key: string]: any;
13
19
  }
14
20
  export interface IDateFieldViewProps extends IDateInputStateOutput, Pick<IDateFieldProps, 'size' | 'icon' | 'errors' | 'showRemove' | 'className' | 'calendarProps'> {
21
+ /**
22
+ * Ref для input элемента, который накладывает маску
23
+ */
24
+ maskInputRef?: React.RefCallback<HTMLElement>;
15
25
  [key: string]: any;
16
26
  }
17
27
  declare const _default: import("../../form/Field/fieldWrapper").FieldWrapperComponent<IDateFieldProps>;
@@ -15,6 +15,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
15
15
  };
16
16
  exports.__esModule = true;
17
17
  var react_1 = require("react");
18
+ var react_2 = require("@maskito/react");
19
+ var kit_1 = require("@maskito/kit");
18
20
  var hooks_1 = require("../../../hooks");
19
21
  var useDateInputState_1 = __importDefault(require("./useDateInputState"));
20
22
  var fieldWrapper_1 = __importDefault(require("../../form/Field/fieldWrapper"));
@@ -24,6 +26,7 @@ var fieldWrapper_1 = __importDefault(require("../../form/Field/fieldWrapper"));
24
26
  */
25
27
  function DateField(props) {
26
28
  var components = (0, hooks_1.useComponents)();
29
+ var maskInputRef = (0, react_2.useMaskito)({ options: props.maskOptions });
27
30
  var _a = (0, useDateInputState_1["default"])({
28
31
  input: props.input,
29
32
  disabled: props.disabled,
@@ -36,7 +39,7 @@ function DateField(props) {
36
39
  }), onClear = _a.onClear, onClose = _a.onClose, isOpened = _a.isOpened, inputProps = _a.inputProps;
37
40
  // Calendar props
38
41
  var calendarProps = (0, react_1.useMemo)(function () { return (__assign({ value: props.input.value, onChange: props.input.onChange, valueFormat: props.valueFormat }, props.calendarProps)); }, [props.calendarProps, props.input.onChange, props.input.value, props.valueFormat]);
39
- return components.ui.renderView(props.view || 'form.DateFieldView', __assign(__assign({}, props.viewProps), { onClear: onClear, onClose: onClose, isOpened: isOpened, inputProps: inputProps, calendarProps: calendarProps, size: props.size, icon: props.icon, errors: props.errors, label: props.label, disabled: props.disabled, className: props.className, showRemove: props.showRemove, style: props.style }));
42
+ return components.ui.renderView(props.view || 'form.DateFieldView', __assign(__assign({}, props.viewProps), { onClear: onClear, onClose: onClose, isOpened: isOpened, inputProps: inputProps, calendarProps: calendarProps, size: props.size, icon: props.icon, errors: props.errors, label: props.label, disabled: props.disabled, className: props.className, showRemove: props.showRemove, style: props.style, maskInputRef: maskInputRef }));
40
43
  }
41
44
  DateField.defaultProps = {
42
45
  disabled: false,
@@ -45,6 +48,7 @@ DateField.defaultProps = {
45
48
  required: false,
46
49
  showRemove: true,
47
50
  valueFormat: 'YYYY-MM-DD',
51
+ maskOptions: (0, kit_1.maskitoDateOptionsGenerator)({ mode: 'dd/mm/yyyy', separator: '.' }),
48
52
  size: 'md'
49
53
  };
50
54
  exports["default"] = (0, fieldWrapper_1["default"])('DateField', DateField);
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { ChangeEventHandler, ReactNode } from 'react';
2
+ import { ReactNode } from 'react';
3
3
  import { MaskitoOptions } from '@maskito/core';
4
4
  import { IFieldWrapperInputProps, IFieldWrapperOutputProps } from '../Field/fieldWrapper';
5
5
  export declare const MASK_PRESETS: {
@@ -85,7 +85,7 @@ export interface IInputFieldViewProps extends IInputFieldProps, IFieldWrapperOut
85
85
  inputProps: {
86
86
  type: string;
87
87
  name: string;
88
- onChange: ChangeEventHandler<Element>;
88
+ onChange: (value: any) => void;
89
89
  value: string | number;
90
90
  placeholder: string;
91
91
  disabled: string;