@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 CHANGED
@@ -1,41 +1,41 @@
1
- # react-ui-validations
2
-
3
- [![npm](https://img.shields.io/npm/v/react-ui-validations.svg?maxAge=300&style=flat-square)](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
+ [![npm](https://img.shields.io/npm/v/react-ui-validations.svg?maxAge=300&style=flat-square)](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: "children" | "onValidationUpdated" | "scrollOffset" | "disableSmoothScroll", componentName: string): Error | undefined;
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, string | any | (new (props: any) => React.Component<any, any, any>)> | null) | (new (props: any) => React.Component<any, any, 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
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
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 = _interopDefault(require('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. All rights reserved.
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
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
19
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
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
- See the Apache Version 2.0 License for specific language governing permissions
24
- and limitations under the License.
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 (b.hasOwnProperty(p)) d[p] = b[p]; };
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) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
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 = React.Children.only(this.props.children);
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 (React.createElement(Tooltip, { useWrapper: false, pos: this.props.pos, render: this.props.error && this.props.render, trigger: 'hover&focus' }, child));
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 (React.createElement(Tooltip, { pos: this.props.pos, render: this.props.error && this.props.render, trigger: 'hover&focus' }, this.props.children));
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
- }(React.Component));
146
+ }(React__default['default'].Component));
140
147
 
141
148
  function tooltip(pos) {
142
149
  return function (control, hasError, validation) {
143
- return (React.createElement(ValidationTooltip, { pos: pos, error: hasError, render: function () {
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 (React.createElement("span", { style: { display: 'inline-block' } },
162
+ return (React__default['default'].createElement("span", { style: { display: 'inline-block' } },
156
163
  control,
157
- React.createElement("span", { "data-validation-message": "text", style: { marginLeft: '10px', color: '#d43517' } }, (validation && validation.message) || '')));
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 (React.createElement("span", { style: { position: 'relative', display: 'inline-block' } },
168
+ return (React__default['default'].createElement("span", { style: { position: 'relative', display: 'inline-block' } },
162
169
  control,
163
- React.createElement("span", { style: { position: 'absolute', bottom: 0, left: 0, height: 0 } },
164
- React.createElement("span", { "data-validation-message": "text", style: {
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 React.createElement("span", null, this.props.children);
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
- }(React.Component));
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 (React.createElement(ValidationContext, { ref: this.refChildContext, scrollOffset: this.props.scrollOffset, disableSmoothScroll: this.props.disableSmoothScroll, onValidationUpdated: this.props.onValidationUpdated }, this.props.children));
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
- }(React.Component));
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
- warning(this.context.validationContext, 'ValidationWrapper should appears as child of ValidationContext.\n' +
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 ? (React.cloneElement(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
- })) : (React.createElement("span", null));
623
- return this.props.errorMessage(React.createElement("span", null, clonedChild), !!validation, validation);
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
- }(React.Component));
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 (React.createElement(ValidationWrapperInternal, { errorMessage: renderMessage || tooltip('right top'), validation: validation }, children));
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
- }(React.Component));
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: true,
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.1",
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`