@skbkontur/react-ui-validations 1.4.1 → 1.4.2-focus-warning
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/README.md +41 -41
- package/index.d.ts +3 -2
- package/index.js +49 -39
- package/package.json +2 -2
- package/CHANGELOG.md +0 -434
package/README.md
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
# react-ui-validations
|
|
2
|
-
|
|
3
|
-
[](https://www.npmjs.com/package/react-ui-validations)
|
|
4
|
-
|
|
5
|
-
Набор компонентов, реализующих поведение [валидаций по Контур.Гайдам](https://guides.kontur.ru/principles/validation/).
|
|
6
|
-
|
|
7
|
-
## Документация
|
|
8
|
-
|
|
9
|
-
- [Docs & Demos](http://tech.skbkontur.ru/react-ui-validations/)
|
|
10
|
-
- [Validation guides](https://guides.kontur.ru/principles/validation/)
|
|
11
|
-
|
|
12
|
-
## Использование
|
|
13
|
-
|
|
14
|
-
```shell
|
|
15
|
-
npm install --save react-ui-validations
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
```jsx
|
|
19
|
-
import { ValidationContainer, ValidationWrapper } from 'react-ui-validations';
|
|
20
|
-
|
|
21
|
-
export default class DataEditor extends React.Component {
|
|
22
|
-
// ...
|
|
23
|
-
render() {
|
|
24
|
-
return (
|
|
25
|
-
<ValidationContainer>
|
|
26
|
-
<ValidationWrapper
|
|
27
|
-
validationInfo={/\d+/.test(phone) ? { message: 'Телефон должен состоять только из цифр' } : null}
|
|
28
|
-
>
|
|
29
|
-
<Input value={phone} onValueChange={value => setState({ phone: value })} />
|
|
30
|
-
</ValidationWrapper>
|
|
31
|
-
</ValidationContainer>
|
|
32
|
-
);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## Запуск примеров
|
|
38
|
-
|
|
39
|
-
```shell
|
|
40
|
-
yarn start:docs
|
|
41
|
-
```
|
|
1
|
+
# react-ui-validations
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/react-ui-validations)
|
|
4
|
+
|
|
5
|
+
Набор компонентов, реализующих поведение [валидаций по Контур.Гайдам](https://guides.kontur.ru/principles/validation/).
|
|
6
|
+
|
|
7
|
+
## Документация
|
|
8
|
+
|
|
9
|
+
- [Docs & Demos](http://tech.skbkontur.ru/react-ui-validations/)
|
|
10
|
+
- [Validation guides](https://guides.kontur.ru/principles/validation/)
|
|
11
|
+
|
|
12
|
+
## Использование
|
|
13
|
+
|
|
14
|
+
```shell
|
|
15
|
+
npm install --save react-ui-validations
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
```jsx
|
|
19
|
+
import { ValidationContainer, ValidationWrapper } from 'react-ui-validations';
|
|
20
|
+
|
|
21
|
+
export default class DataEditor extends React.Component {
|
|
22
|
+
// ...
|
|
23
|
+
render() {
|
|
24
|
+
return (
|
|
25
|
+
<ValidationContainer>
|
|
26
|
+
<ValidationWrapper
|
|
27
|
+
validationInfo={/\d+/.test(phone) ? { message: 'Телефон должен состоять только из цифр' } : null}
|
|
28
|
+
>
|
|
29
|
+
<Input value={phone} onValueChange={value => setState({ phone: value })} />
|
|
30
|
+
</ValidationWrapper>
|
|
31
|
+
</ValidationContainer>
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Запуск примеров
|
|
38
|
+
|
|
39
|
+
```shell
|
|
40
|
+
yarn start:docs
|
|
41
|
+
```
|
package/index.d.ts
CHANGED
|
@@ -40,7 +40,7 @@ declare module '@skbkontur/react-ui-validations/src/ValidationContainer' {
|
|
|
40
40
|
disableSmoothScroll: boolean;
|
|
41
41
|
};
|
|
42
42
|
static propTypes: {
|
|
43
|
-
scrollOffset(props: ValidationContainerProps, propName:
|
|
43
|
+
scrollOffset(props: ValidationContainerProps, propName: keyof ValidationContainerProps, componentName: string): Error | undefined;
|
|
44
44
|
};
|
|
45
45
|
submit(withoutFocus?: boolean): Promise<void>;
|
|
46
46
|
validate(withoutFocus?: boolean): Promise<boolean>;
|
|
@@ -145,11 +145,12 @@ declare module '@skbkontur/react-ui-validations/src/ValidationWrapperInternal' {
|
|
|
145
145
|
componentWillUnmount(): void;
|
|
146
146
|
UNSAFE_componentWillReceiveProps(nextProps: ValidationWrapperInternalProps): void;
|
|
147
147
|
focus(): Promise<void>;
|
|
148
|
-
render(): React.ReactElement<any, string | ((props: any) => React.ReactElement<any,
|
|
148
|
+
render(): React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)>;
|
|
149
149
|
getControlPosition(): Nullable<Point>;
|
|
150
150
|
processBlur(): Promise<void>;
|
|
151
151
|
processSubmit(): Promise<void>;
|
|
152
152
|
hasError(): boolean;
|
|
153
|
+
hasWarning(): boolean;
|
|
153
154
|
}
|
|
154
155
|
export {};
|
|
155
156
|
}
|
package/index.js
CHANGED
|
@@ -2,37 +2,42 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var React = _interopDefault(require('react'));
|
|
5
|
+
var React = require('react');
|
|
8
6
|
var PropTypes = require('prop-types');
|
|
9
7
|
var ReactDom = require('react-dom');
|
|
10
|
-
var warning =
|
|
8
|
+
var warning = require('warning');
|
|
9
|
+
|
|
10
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
|
+
|
|
12
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
13
|
+
var warning__default = /*#__PURE__*/_interopDefaultLegacy(warning);
|
|
11
14
|
|
|
12
15
|
/*! *****************************************************************************
|
|
13
|
-
Copyright (c) Microsoft Corporation.
|
|
14
|
-
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
15
|
-
this file except in compliance with the License. You may obtain a copy of the
|
|
16
|
-
License at http://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
+
Copyright (c) Microsoft Corporation.
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
|
21
|
-
MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
18
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
19
|
+
purpose with or without fee is hereby granted.
|
|
22
20
|
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
22
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
23
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
24
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
25
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
26
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
27
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
25
28
|
***************************************************************************** */
|
|
26
29
|
/* global Reflect, Promise */
|
|
27
30
|
|
|
28
31
|
var extendStatics = function(d, b) {
|
|
29
32
|
extendStatics = Object.setPrototypeOf ||
|
|
30
33
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
31
|
-
function (d, b) { for (var p in b) if (
|
|
34
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
32
35
|
return extendStatics(d, b);
|
|
33
36
|
};
|
|
34
37
|
|
|
35
38
|
function __extends(d, b) {
|
|
39
|
+
if (typeof b !== "function" && b !== null)
|
|
40
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
36
41
|
extendStatics(d, b);
|
|
37
42
|
function __() { this.constructor = d; }
|
|
38
43
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
@@ -50,10 +55,11 @@ var __assign = function() {
|
|
|
50
55
|
};
|
|
51
56
|
|
|
52
57
|
function __awaiter(thisArg, _arguments, P, generator) {
|
|
58
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
53
59
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
54
60
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
55
61
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
56
|
-
function step(result) { result.done ? resolve(result.value) :
|
|
62
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
57
63
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
58
64
|
});
|
|
59
65
|
}
|
|
@@ -86,6 +92,7 @@ function __generator(thisArg, body) {
|
|
|
86
92
|
}
|
|
87
93
|
}
|
|
88
94
|
|
|
95
|
+
/** @deprecated */
|
|
89
96
|
function __spreadArrays() {
|
|
90
97
|
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
|
91
98
|
for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
|
@@ -126,21 +133,21 @@ var ValidationTooltip = /** @class */ (function (_super) {
|
|
|
126
133
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
127
134
|
}
|
|
128
135
|
ValidationTooltip.prototype.render = function () {
|
|
129
|
-
var onlyChild =
|
|
136
|
+
var onlyChild = React__default['default'].Children.only(this.props.children);
|
|
130
137
|
var child = onlyChild && onlyChild.props ? onlyChild.props.children : null;
|
|
131
138
|
if (ReactUiDetection.isRadioGroup(child) ||
|
|
132
139
|
ReactUiDetection.isTokenInput(child) ||
|
|
133
140
|
ReactUiDetection.isSwitcher(child)) {
|
|
134
|
-
return (
|
|
141
|
+
return (React__default['default'].createElement(Tooltip, { useWrapper: false, pos: this.props.pos, render: this.props.error && this.props.render, trigger: 'hover&focus' }, child));
|
|
135
142
|
}
|
|
136
|
-
return (
|
|
143
|
+
return (React__default['default'].createElement(Tooltip, { pos: this.props.pos, render: this.props.error && this.props.render, trigger: 'hover&focus' }, this.props.children));
|
|
137
144
|
};
|
|
138
145
|
return ValidationTooltip;
|
|
139
|
-
}(
|
|
146
|
+
}(React__default['default'].Component));
|
|
140
147
|
|
|
141
148
|
function tooltip(pos) {
|
|
142
149
|
return function (control, hasError, validation) {
|
|
143
|
-
return (
|
|
150
|
+
return (React__default['default'].createElement(ValidationTooltip, { pos: pos, error: hasError, render: function () {
|
|
144
151
|
if (!validation || !validation.message) {
|
|
145
152
|
return null;
|
|
146
153
|
}
|
|
@@ -152,16 +159,16 @@ function text(pos) {
|
|
|
152
159
|
if (pos === void 0) { pos = 'right'; }
|
|
153
160
|
if (pos === 'right') {
|
|
154
161
|
return function (control, hasError, validation) {
|
|
155
|
-
return (
|
|
162
|
+
return (React__default['default'].createElement("span", { style: { display: 'inline-block' } },
|
|
156
163
|
control,
|
|
157
|
-
|
|
164
|
+
React__default['default'].createElement("span", { "data-validation-message": "text", style: { marginLeft: '10px', color: '#d43517' } }, (validation && validation.message) || '')));
|
|
158
165
|
};
|
|
159
166
|
}
|
|
160
167
|
return function (control, hasError, validation) {
|
|
161
|
-
return (
|
|
168
|
+
return (React__default['default'].createElement("span", { style: { position: 'relative', display: 'inline-block' } },
|
|
162
169
|
control,
|
|
163
|
-
|
|
164
|
-
|
|
170
|
+
React__default['default'].createElement("span", { style: { position: 'absolute', bottom: 0, left: 0, height: 0 } },
|
|
171
|
+
React__default['default'].createElement("span", { "data-validation-message": "text", style: {
|
|
165
172
|
color: '#d43517',
|
|
166
173
|
overflow: 'visible',
|
|
167
174
|
whiteSpace: 'nowrap',
|
|
@@ -268,7 +275,7 @@ var ValidationContext = /** @class */ (function (_super) {
|
|
|
268
275
|
case 0: return [4 /*yield*/, Promise.all(this.childWrappers.map(function (x) { return x.processSubmit(); }))];
|
|
269
276
|
case 1:
|
|
270
277
|
_a.sent();
|
|
271
|
-
firstInvalid = this.getChildWrappersSortedByPosition().find(function (x) { return x.hasError(); });
|
|
278
|
+
firstInvalid = this.getChildWrappersSortedByPosition().find(function (x) { return x.hasError() || x.hasWarning(); });
|
|
272
279
|
if (firstInvalid) {
|
|
273
280
|
if (!withoutFocus) {
|
|
274
281
|
firstInvalid.focus();
|
|
@@ -283,13 +290,13 @@ var ValidationContext = /** @class */ (function (_super) {
|
|
|
283
290
|
});
|
|
284
291
|
};
|
|
285
292
|
ValidationContext.prototype.render = function () {
|
|
286
|
-
return
|
|
293
|
+
return React__default['default'].createElement("span", null, this.props.children);
|
|
287
294
|
};
|
|
288
295
|
ValidationContext.childContextTypes = {
|
|
289
296
|
validationContext: PropTypes.any,
|
|
290
297
|
};
|
|
291
298
|
return ValidationContext;
|
|
292
|
-
}(
|
|
299
|
+
}(React__default['default'].Component));
|
|
293
300
|
|
|
294
301
|
var ValidationContainer = /** @class */ (function (_super) {
|
|
295
302
|
__extends(ValidationContainer, _super);
|
|
@@ -324,7 +331,7 @@ var ValidationContainer = /** @class */ (function (_super) {
|
|
|
324
331
|
return this.childContext.validate(withoutFocus);
|
|
325
332
|
};
|
|
326
333
|
ValidationContainer.prototype.render = function () {
|
|
327
|
-
return (
|
|
334
|
+
return (React__default['default'].createElement(ValidationContext, { ref: this.refChildContext, scrollOffset: this.props.scrollOffset, disableSmoothScroll: this.props.disableSmoothScroll, onValidationUpdated: this.props.onValidationUpdated }, this.props.children));
|
|
328
335
|
};
|
|
329
336
|
ValidationContainer.__KONTUR_REACT_UI__ = 'ValidationContainer';
|
|
330
337
|
ValidationContainer.defaultProps = {
|
|
@@ -339,7 +346,7 @@ var ValidationContainer = /** @class */ (function (_super) {
|
|
|
339
346
|
},
|
|
340
347
|
};
|
|
341
348
|
return ValidationContainer;
|
|
342
|
-
}(
|
|
349
|
+
}(React__default['default'].Component));
|
|
343
350
|
|
|
344
351
|
var isBrowser = typeof window !== 'undefined';
|
|
345
352
|
|
|
@@ -527,7 +534,7 @@ var ValidationWrapperInternal = /** @class */ (function (_super) {
|
|
|
527
534
|
this.applyValidation(this.props.validation);
|
|
528
535
|
};
|
|
529
536
|
ValidationWrapperInternal.prototype.componentDidMount = function () {
|
|
530
|
-
|
|
537
|
+
warning__default['default'](this.context.validationContext, 'ValidationWrapper should appears as child of ValidationContext.\n' +
|
|
531
538
|
'http://tech.skbkontur.ru/react-ui-validations/#/getting-started');
|
|
532
539
|
if (this.context.validationContext) {
|
|
533
540
|
this.context.validationContext.register(this);
|
|
@@ -571,7 +578,7 @@ var ValidationWrapperInternal = /** @class */ (function (_super) {
|
|
|
571
578
|
var _this = this;
|
|
572
579
|
var children = this.props.children;
|
|
573
580
|
var validation = this.state.validation;
|
|
574
|
-
var clonedChild = children ? (
|
|
581
|
+
var clonedChild = children ? (React__default['default'].cloneElement(children, {
|
|
575
582
|
ref: function (x) {
|
|
576
583
|
var child = children; // todo type or maybe React.Children.only
|
|
577
584
|
if (child && child.ref) {
|
|
@@ -619,8 +626,8 @@ var ValidationWrapperInternal = /** @class */ (function (_super) {
|
|
|
619
626
|
(_a = children.props).onValueChange.apply(_a, args);
|
|
620
627
|
}
|
|
621
628
|
},
|
|
622
|
-
})) : (
|
|
623
|
-
return this.props.errorMessage(
|
|
629
|
+
})) : (React__default['default'].createElement("span", null));
|
|
630
|
+
return this.props.errorMessage(React__default['default'].createElement("span", null, clonedChild), !!validation, validation);
|
|
624
631
|
};
|
|
625
632
|
ValidationWrapperInternal.prototype.getControlPosition = function () {
|
|
626
633
|
var htmlElement = ReactDom.findDOMNode(this);
|
|
@@ -647,6 +654,9 @@ var ValidationWrapperInternal = /** @class */ (function (_super) {
|
|
|
647
654
|
ValidationWrapperInternal.prototype.hasError = function () {
|
|
648
655
|
return getLevel(this.state.validation) === 'error';
|
|
649
656
|
};
|
|
657
|
+
ValidationWrapperInternal.prototype.hasWarning = function () {
|
|
658
|
+
return getLevel(this.state.validation) === 'warning';
|
|
659
|
+
};
|
|
650
660
|
ValidationWrapperInternal.prototype.handleBlur = function () {
|
|
651
661
|
this.processBlur();
|
|
652
662
|
this.context.validationContext.instanceProcessBlur(this);
|
|
@@ -689,7 +699,7 @@ var ValidationWrapperInternal = /** @class */ (function (_super) {
|
|
|
689
699
|
validationContext: PropTypes.any,
|
|
690
700
|
};
|
|
691
701
|
return ValidationWrapperInternal;
|
|
692
|
-
}(
|
|
702
|
+
}(React__default['default'].Component));
|
|
693
703
|
|
|
694
704
|
var ValidationWrapper = /** @class */ (function (_super) {
|
|
695
705
|
__extends(ValidationWrapper, _super);
|
|
@@ -705,11 +715,11 @@ var ValidationWrapper = /** @class */ (function (_super) {
|
|
|
705
715
|
message: validationInfo.message,
|
|
706
716
|
}
|
|
707
717
|
: null;
|
|
708
|
-
return (
|
|
718
|
+
return (React__default['default'].createElement(ValidationWrapperInternal, { errorMessage: renderMessage || tooltip('right top'), validation: validation }, children));
|
|
709
719
|
};
|
|
710
720
|
ValidationWrapper.__KONTUR_REACT_UI__ = 'ValidationWrapper';
|
|
711
721
|
return ValidationWrapper;
|
|
712
|
-
}(
|
|
722
|
+
}(React__default['default'].Component));
|
|
713
723
|
|
|
714
724
|
var ValidationBuilder = /** @class */ (function () {
|
|
715
725
|
function ValidationBuilder(writer, tokens, path, data) {
|
|
@@ -870,7 +880,7 @@ var PathTokensCache = /** @class */ (function () {
|
|
|
870
880
|
get: function () {
|
|
871
881
|
return this.cache.size;
|
|
872
882
|
},
|
|
873
|
-
enumerable:
|
|
883
|
+
enumerable: false,
|
|
874
884
|
configurable: true
|
|
875
885
|
});
|
|
876
886
|
return PathTokensCache;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skbkontur/react-ui-validations",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.2-focus-warning",
|
|
4
4
|
"description": "Validations for @skbkontur/react-ui",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"types": "./index.d.ts",
|
|
@@ -55,4 +55,4 @@
|
|
|
55
55
|
"node"
|
|
56
56
|
]
|
|
57
57
|
}
|
|
58
|
-
}
|
|
58
|
+
}
|
package/CHANGELOG.md
DELETED
|
@@ -1,434 +0,0 @@
|
|
|
1
|
-
# Change Log
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
|
4
|
-
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
|
-
|
|
6
|
-
## [1.4.1](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@1.4.0...react-ui-validations@1.4.1) (2021-04-28)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
### Bug Fixes
|
|
10
|
-
|
|
11
|
-
* **Switcher:** add check for switcher in validation tooltip ([89a826d](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/commit/89a826dd328bc9392664c11826714f64c3f65c78))
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
# [1.4.0](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@1.3.2...react-ui-validations@1.4.0) (2020-12-23)
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
### Features
|
|
21
|
-
|
|
22
|
-
* ssr support ([#2103](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/issues/2103)) ([506a7f6](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/commit/506a7f63337cc4ca2567581495959b1656fedd18))
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
## [1.3.2](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@1.3.1...react-ui-validations@1.3.2) (2020-12-17)
|
|
29
|
-
|
|
30
|
-
**Note:** Version bump only for package react-ui-validations
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
## [1.3.1](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@1.3.0...react-ui-validations@1.3.1) (2020-12-03)
|
|
37
|
-
|
|
38
|
-
**Note:** Version bump only for package react-ui-validations
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
# [1.3.0](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@1.2.0...react-ui-validations@1.3.0) (2020-10-13)
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
### Bug Fixes
|
|
48
|
-
|
|
49
|
-
* **validations:** give up dynamic require, fix codesandbox compatibility ([6e00f39](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/commit/6e00f392c5d86756cbe9a83094dbc274261d1584)), closes [#2151](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/issues/2151) [#2039](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/issues/2039)
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
### Features
|
|
53
|
-
|
|
54
|
-
* **validations:** optimize ReactUiDetection, inc min react-ui to 0.53.7 ([df4deaa](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/commit/df4deaad013db5ad8aac09aa99dd3326b93d17b2)), closes [#2150](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/issues/2150)
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
# [1.2.0](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@1.1.5...react-ui-validations@1.2.0) (2020-08-07)
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
### Features
|
|
65
|
-
|
|
66
|
-
* **ValidationContainer:** added new prop disableSmoothScroll ([ecf75fd](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/commit/ecf75fdabd2c0dc15cc293d74b1fde28a72d4e81))
|
|
67
|
-
* **ValidationContainer:** disable smooth scroll in test env ([8a7825c](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/commit/8a7825c2cf16cc804a0dcd3bd63c35ecc36e74c3))
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
## [1.1.5](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@1.1.4...react-ui-validations@1.1.5) (2020-04-29)
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
### Bug Fixes
|
|
77
|
-
|
|
78
|
-
* **tokeninput:** tooltip position of validation ([f9aa9b4](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/commit/f9aa9b4cc7c7e8eac0f8cc6cb48e38291b7b0346))
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
## [1.1.4](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@1.1.3...react-ui-validations@1.1.4) (2020-04-07)
|
|
85
|
-
|
|
86
|
-
**Note:** Version bump only for package react-ui-validations
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
## [1.1.3](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@1.1.2...react-ui-validations@1.1.3) (2020-03-24)
|
|
93
|
-
|
|
94
|
-
**Note:** Version bump only for package react-ui-validations
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
## [1.1.2](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@1.1.1...react-ui-validations@1.1.2) (2020-03-11)
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
### Bug Fixes
|
|
104
|
-
|
|
105
|
-
* add recursive non nullable typing for LambdaPath ([#1893](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/issues/1893)) ([6ea16cb](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/commit/6ea16cb))
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
## [1.1.1](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@1.1.0...react-ui-validations@1.1.1) (2020-02-06)
|
|
112
|
-
|
|
113
|
-
**Note:** Version bump only for package react-ui-validations
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
# [1.1.0](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@1.0.8...react-ui-validations@1.1.0) (2020-01-20)
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
### Features
|
|
123
|
-
|
|
124
|
-
* **telemetry:** add field for identifying components ([b7fec03](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/commit/b7fec03)), closes [#1838](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/issues/1838)
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
## [1.0.8](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@1.0.7...react-ui-validations@1.0.8) (2019-12-27)
|
|
131
|
-
|
|
132
|
-
**Note:** Version bump only for package react-ui-validations
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
## [1.0.7](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@1.0.6...react-ui-validations@1.0.7) (2019-12-02)
|
|
139
|
-
|
|
140
|
-
**Note:** Version bump only for package react-ui-validations
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
## [1.0.6](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@1.0.5...react-ui-validations@1.0.6) (2019-11-18)
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
### Bug Fixes
|
|
150
|
-
|
|
151
|
-
* **ValidationTooltip:** detection radiogroup, add inline-block wrapper ([b65227d](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/commit/b65227d)), closes [#1616](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/issues/1616)
|
|
152
|
-
* **ValidationWrapperInternal:** pass down focus event ([8cfc707](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/commit/8cfc707)), closes [#1735](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/issues/1735)
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
## [1.0.5](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@1.0.4...react-ui-validations@1.0.5) (2019-10-30)
|
|
159
|
-
|
|
160
|
-
**Note:** Version bump only for package react-ui-validations
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
## [1.0.4](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@1.0.3...react-ui-validations@1.0.4) (2019-10-02)
|
|
167
|
-
|
|
168
|
-
**Note:** Version bump only for package react-ui-validations
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
## [1.0.3](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@1.0.2...react-ui-validations@1.0.3) (2019-09-11)
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
### Bug Fixes
|
|
178
|
-
|
|
179
|
-
* don't copy source code into publishing package ([3a5e49f](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/commit/3a5e49f))
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
## [1.0.2](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@1.0.1...react-ui-validations@1.0.2) (2019-09-03)
|
|
186
|
-
|
|
187
|
-
**Note:** Version bump only for package react-ui-validations
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
## [1.0.1](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@1.0.0...react-ui-validations@1.0.1) (2019-07-02)
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
### Features
|
|
197
|
-
|
|
198
|
-
* Customization ([#1333](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/issues/1333)) ([15e9e8f](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/commit/15e9e8f))
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
### BREAKING CHANGES
|
|
202
|
-
|
|
203
|
-
* Upgrades.enableSizeMedium16px is no longer working: redefine fontSizeMedium
|
|
204
|
-
variable via ThemeProvider or by calling ThemeFactory.overrideDefaultTheme()
|
|
205
|
-
|
|
206
|
-
* refactor(ColorObject): remove require call
|
|
207
|
-
|
|
208
|
-
* style(Upgrades): fix lint error
|
|
209
|
-
|
|
210
|
-
* chore(storybook): use ThemeProvider instead of overrideDefaultTheme
|
|
211
|
-
|
|
212
|
-
* refactor(ThemeFactory): remove ThemesCache
|
|
213
|
-
|
|
214
|
-
* refactor(ThemeEditor): clear timeout on unmount
|
|
215
|
-
|
|
216
|
-
* refactor(variables.less): prepare for Date* controls convertion
|
|
217
|
-
|
|
218
|
-
* feat(DateSelect): customize with css-in-js
|
|
219
|
-
|
|
220
|
-
* refactor(DatePickerOld): rename less file to prevent confusion
|
|
221
|
-
|
|
222
|
-
* feat(DatePicker): customize with css-in-js
|
|
223
|
-
|
|
224
|
-
* refactor(DateInput): properly separate styles between components
|
|
225
|
-
|
|
226
|
-
* feat(DateInput): customize with css-in-js
|
|
227
|
-
|
|
228
|
-
* feat(Calendar): customize with css-in-js
|
|
229
|
-
|
|
230
|
-
* refactor(TokenInput): add -webkit-text-fill-color
|
|
231
|
-
|
|
232
|
-
* refactor(styles): remove rt-ie8, rt-ie9
|
|
233
|
-
|
|
234
|
-
* refactor(Calendar): rename classnames to cx
|
|
235
|
-
|
|
236
|
-
* refactor(variables.less): move mixins into separate file
|
|
237
|
-
|
|
238
|
-
* style(CustomComboBox): specify px for padding-bottom
|
|
239
|
-
|
|
240
|
-
* style(SidePage): fix variable typo
|
|
241
|
-
|
|
242
|
-
* refactor(styles): remove unnecessary imports
|
|
243
|
-
|
|
244
|
-
* refactor(FormatSourceCode): rewrite code in more readable way
|
|
245
|
-
|
|
246
|
-
* test(ComboBoxView): approve screens with new spinner gray color
|
|
247
|
-
|
|
248
|
-
* fix(Button): fix sizeMedium baseline regress
|
|
249
|
-
|
|
250
|
-
* test(Button): approve screenshots with 14px medium font-size
|
|
251
|
-
|
|
252
|
-
* test(ComboBox): approve darker spinner color while loading items
|
|
253
|
-
|
|
254
|
-
* refactor(TokenInput): simplify styles
|
|
255
|
-
|
|
256
|
-
* refactor(TokenInput): fix firefox placeholder opacity
|
|
257
|
-
|
|
258
|
-
* refactor(DateSelect): make active prevail over selected
|
|
259
|
-
|
|
260
|
-
* refactor(DatePicker): fix red color bug
|
|
261
|
-
|
|
262
|
-
* refactor(DatePicker): make weekend prevail over today
|
|
263
|
-
|
|
264
|
-
* refactor(DateFragmentsView): fix .delimiter.filled combination style
|
|
265
|
-
|
|
266
|
-
* style(AnotherInputsPlayground): remove underscores from private methods
|
|
267
|
-
|
|
268
|
-
* test(AnotherInputsPlayground): stable date for screenshots
|
|
269
|
-
|
|
270
|
-
* test(Customization): approve actual screenshots
|
|
271
|
-
|
|
272
|
-
* refactor(customization): separate ThemeProviderPlayground component
|
|
273
|
-
|
|
274
|
-
* docs(ThemeProviderPlayground ): add README
|
|
275
|
-
|
|
276
|
-
* docs(customization): add core README
|
|
277
|
-
|
|
278
|
-
# copied from PR
|
|
279
|
-
|
|
280
|
-
* build(styleguide): add customization section to config
|
|
281
|
-
|
|
282
|
-
* chore(ThemeProviderPlayground): fix import
|
|
283
|
-
|
|
284
|
-
* test(Button): approve 14px font-size for medium size in flat theme
|
|
285
|
-
|
|
286
|
-
* refactor(customization): introduce derived font sizes for button/input
|
|
287
|
-
|
|
288
|
-
* refactor(Button): use fontSize=16px for size=medium in flat theme
|
|
289
|
-
|
|
290
|
-
* test(Button): approve 16px font-size for medium size in flat theme
|
|
291
|
-
|
|
292
|
-
* test(Customization): approve 16px font-size in flat theme
|
|
293
|
-
|
|
294
|
-
* refactor(DateInput): remove isSizeMedium16pxEnabled() in favor of theme
|
|
295
|
-
|
|
296
|
-
* refactor(Upgrades): cleanup deprecated methods
|
|
297
|
-
|
|
298
|
-
* docs(customization): fix styleguide's components and sections
|
|
299
|
-
|
|
300
|
-
* docs(customization): hack-fix ordered lists
|
|
301
|
-
|
|
302
|
-
* docs(customization): remove broken links
|
|
303
|
-
|
|
304
|
-
* docs(customization): fix less formatting
|
|
305
|
-
|
|
306
|
-
* docs(customization): add some line-breaks
|
|
307
|
-
|
|
308
|
-
* docs(customization): emphasize inline <code> the way it's done at github
|
|
309
|
-
|
|
310
|
-
* docs(customization): switch 'jsx static' to 'typescript' for some blocks
|
|
311
|
-
|
|
312
|
-
* docs(customization): use monospace font for inline <code>
|
|
313
|
-
|
|
314
|
-
* chore(Button): fix baseline of flat medium Button
|
|
315
|
-
|
|
316
|
-
* docs(customization): fix typo
|
|
317
|
-
|
|
318
|
-
* style: format with prettier
|
|
319
|
-
|
|
320
|
-
* style: make stylelint ignore *.ts
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
# [1.0.0](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@0.9.1...react-ui-validations@1.0.0) (2019-07-02)
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
### Bug Fixes
|
|
330
|
-
|
|
331
|
-
* **react-ui-validations:** tooltip improvements ([278debf](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/commit/278debf)), closes [#1138](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/issues/1138) [#1102](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/issues/1102)
|
|
332
|
-
* **ValidationWrapper:** lostfocus tooltip behaviour ([be4e355](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/commit/be4e355)), closes [#1428](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/issues/1428)
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
### Code Refactoring
|
|
336
|
-
|
|
337
|
-
* **ValidationWrapper:** simplify ([0b3f630](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/commit/0b3f630))
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
### BREAKING CHANGES
|
|
341
|
-
|
|
342
|
-
* **ValidationWrapper:** ValidationWrapper api changed
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
## [0.9.1](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@0.9.0...react-ui-validations@0.9.1) (2019-06-04)
|
|
349
|
-
|
|
350
|
-
**Note:** Version bump only for package react-ui-validations
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
# [0.9.0](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@0.8.1...react-ui-validations@0.9.0) (2019-05-28)
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
### Features
|
|
360
|
-
|
|
361
|
-
* **react-ui-validations:** declarative validation description ([18416c7](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/commit/18416c7))
|
|
362
|
-
* **react-ui-validations:** docs rework ([ec76425](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/commit/ec76425))
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
## [0.8.1](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@0.8.0...react-ui-validations@0.8.1) (2019-04-16)
|
|
369
|
-
|
|
370
|
-
**Note:** Version bump only for package react-ui-validations
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
# [0.8.0](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@0.7.3...react-ui-validations@0.8.0) (2019-04-08)
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
### Features
|
|
380
|
-
|
|
381
|
-
* **ValidationContainer:** add top, bottom, scroll offset ([b43df32](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/commit/b43df32))
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
## [0.7.3](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@0.7.2...react-ui-validations@0.7.3) (2019-04-01)
|
|
388
|
-
|
|
389
|
-
**Note:** Version bump only for package react-ui-validations
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
## [0.7.2](https://github.com/skbkontur/retail-ui/compare/react-ui-validations@0.7.1...react-ui-validations@0.7.2) (2019-03-26)
|
|
396
|
-
|
|
397
|
-
**Note:** Version bump only for package react-ui-validations
|
|
398
|
-
|
|
399
|
-
## 0.7.1 (2019-03-26)
|
|
400
|
-
|
|
401
|
-
### Bug Fixes
|
|
402
|
-
|
|
403
|
-
- **ComboBoxOld:** bring typings back ([65d26cd](https://github.com/skbkontur/retail-ui/commit/65d26cd))
|
|
404
|
-
- **ValidationWrapper:** scroll to element even if child ref is empty ([58ad2fc](https://github.com/skbkontur/retail-ui/commit/58ad2fc))
|
|
405
|
-
- **ValidationWrapper:** support different refs ([#1243](https://github.com/skbkontur/retail-ui/issues/1243)) ([b63038a](https://github.com/skbkontur/retail-ui/commit/b63038a))
|
|
406
|
-
|
|
407
|
-
v0.2.15
|
|
408
|
-
|
|
409
|
-
- Добавлены тайпинги для Typescript
|
|
410
|
-
- Сборка скриптов через rollup
|
|
411
|
-
|
|
412
|
-
v0.2.13
|
|
413
|
-
|
|
414
|
-
- [Fix] Исправление скроллинга в маленьких модальных окнах
|
|
415
|
-
|
|
416
|
-
v0.2.10
|
|
417
|
-
|
|
418
|
-
- [Fix] Починен HTMLElement polyfill для IE8
|
|
419
|
-
|
|
420
|
-
v0.2.9
|
|
421
|
-
|
|
422
|
-
- [Fix] Удалены лишние onValidationUpdated
|
|
423
|
-
|
|
424
|
-
v0.2.7
|
|
425
|
-
|
|
426
|
-
- [Fix] Корректная работа валидация для `DatePicker` (#12)
|
|
427
|
-
- [Fix] Исправлена проблема производительности для некоторых случаев (thx to @mr146)
|
|
428
|
-
- [Fix] Понятное сообщение если Wrapper вне контекса валидаций (#8)
|
|
429
|
-
- [Fix] Исправление для IE8: HTMLElement polyfill (#13, thx to @Frumcheg)
|
|
430
|
-
|
|
431
|
-
v0.2.5
|
|
432
|
-
|
|
433
|
-
- Используем [prop-types]
|
|
434
|
-
- [Fix] Возможность прокрутки к элементу, у которого нет метода `focus`
|