@skbkontur/react-ui-validations 1.6.0 → 1.7.0

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/CHANGELOG.md CHANGED
@@ -3,6 +3,25 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.7.0](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@1.6.0...react-ui-validations@1.7.0) (2022-01-27)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **react-ui:** [StrictMode] give up findDomNode ([#2518](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/issues/2518)) ([8028cdd](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/commit/8028cdd3c2289fd48816bdaf92da6a28892f40a7))
12
+ * **react-ui:** [StrictMode] give up legacy context ([#2694](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/issues/2694)) ([d0253cc](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/commit/d0253ccc089764a317ccaa79aa00cc96fbb7aa0a))
13
+ * **react-ui:** [StrictMode] give up unsafe methods ([#2514](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/issues/2514)) ([6cc2201](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/commit/6cc2201f0e8f711441e6c63229b703c03d4b6953))
14
+ * **react-ui:** call original refs while replacing them ([#2736](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/issues/2736)) ([01ff2ab](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/commit/01ff2ab3243082c9347d20e844368ac775e54449))
15
+
16
+
17
+ ### Features
18
+
19
+ * support React.StrictMode ([04a4bc9](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/commit/04a4bc9f2dd35fa98ea4d9526ddd775dd1017b71))
20
+
21
+
22
+
23
+
24
+
6
25
  # [1.6.0](https://github.com/skbkontur/retail-ui/tree/master/packages/react-ui-validations/compare/react-ui-validations@1.5.7...react-ui-validations@1.6.0) (2021-12-27)
7
26
 
8
27
 
package/README.md CHANGED
@@ -39,3 +39,7 @@ export default class DataEditor extends React.Component {
39
39
  ```shell
40
40
  yarn start:docs
41
41
  ```
42
+
43
+ ## StrictMode
44
+
45
+ Библиотека поддерживает работу в React.StrictMode начиная с версии `1.7.0`. [Подробнее](https://github.com/skbkontur/retail-ui/blob/master/packages/react-ui/README.md#strictmode).
package/index.d.ts CHANGED
@@ -1,16 +1,15 @@
1
1
  // Generated by dts-bundle v0.7.3
2
2
  // Dependencies for this module:
3
3
  // ../../react
4
- // ../../prop-types
5
4
 
6
5
  declare module '@skbkontur/react-ui-validations' {
7
6
  import { text, tooltip } from '@skbkontur/react-ui-validations/src/ErrorRenderer';
8
7
  import { ValidationContainer, ValidationContainerProps } from '@skbkontur/react-ui-validations/src/ValidationContainer';
9
- import { ValidationContext, ValidationContextProps } from '@skbkontur/react-ui-validations/src/ValidationContext';
10
8
  import { TooltipPosition, ValidationTooltip, ValidationTooltipProps } from '@skbkontur/react-ui-validations/src/ValidationTooltip';
11
9
  import { RenderErrorMessage, Validation, ValidationBehaviour } from '@skbkontur/react-ui-validations/src/ValidationWrapperInternal';
12
10
  import { ValidationWrapper, ValidationInfo, ValidationWrapperProps } from '@skbkontur/react-ui-validations/src/ValidationWrapper';
13
- export { ValidationContainer, ValidationContainerProps, ValidationContext, ValidationContextProps, ValidationWrapper as ValidationWrapperV1, ValidationWrapperProps as ValidationWrapperV1Props, RenderErrorMessage, ValidationBehaviour, Validation, ValidationWrapper, ValidationWrapperProps, ValidationInfo, ValidationTooltip, ValidationTooltipProps, TooltipPosition, tooltip, text, };
11
+ import { ValidationContext, ValidationContextType, ValidationContextWrapper, ValidationContextWrapperProps } from '@skbkontur/react-ui-validations/src/ValidationContextWrapper';
12
+ export { ValidationContainer, ValidationContainerProps, ValidationContext, ValidationContextType, ValidationContextWrapper, ValidationContextWrapperProps, ValidationWrapper as ValidationWrapperV1, ValidationWrapperProps as ValidationWrapperV1Props, RenderErrorMessage, ValidationBehaviour, Validation, ValidationWrapper, ValidationWrapperProps, ValidationInfo, ValidationTooltip, ValidationTooltipProps, TooltipPosition, tooltip, text, };
14
13
  export * from '@skbkontur/react-ui-validations/src/Validations';
15
14
  }
16
15
 
@@ -48,50 +47,6 @@ declare module '@skbkontur/react-ui-validations/src/ValidationContainer' {
48
47
  }
49
48
  }
50
49
 
51
- declare module '@skbkontur/react-ui-validations/src/ValidationContext' {
52
- import * as PropTypes from 'prop-types';
53
- import React from 'react';
54
- import { ValidationWrapperInternal } from '@skbkontur/react-ui-validations/src/ValidationWrapperInternal';
55
- import { ScrollOffset } from '@skbkontur/react-ui-validations/src/ValidationContainer';
56
- export interface ValidationContextSettings {
57
- scrollOffset: ScrollOffset;
58
- disableSmoothScroll: boolean;
59
- }
60
- export interface IValidationContext {
61
- register(wrapper: ValidationWrapperInternal): void;
62
- unregister(wrapper: ValidationWrapperInternal): void;
63
- instanceProcessBlur(wrapper: ValidationWrapperInternal): void;
64
- onValidationUpdated(wrapper: ValidationWrapperInternal, isValid: boolean): void;
65
- getSettings(): ValidationContextSettings;
66
- isAnyWrapperInChangingMode(): boolean;
67
- }
68
- export interface ValidationContextProps {
69
- children?: React.ReactNode;
70
- onValidationUpdated?: (isValid?: boolean) => void;
71
- scrollOffset?: number | ScrollOffset;
72
- disableSmoothScroll: boolean;
73
- }
74
- export class ValidationContext extends React.Component<ValidationContextProps> implements IValidationContext {
75
- static childContextTypes: {
76
- validationContext: PropTypes.Requireable<any>;
77
- };
78
- childWrappers: ValidationWrapperInternal[];
79
- getChildContext(): {
80
- validationContext: IValidationContext;
81
- };
82
- getSettings(): ValidationContextSettings;
83
- register(wrapper: ValidationWrapperInternal): void;
84
- unregister(wrapper: ValidationWrapperInternal): void;
85
- instanceProcessBlur(instance: ValidationWrapperInternal): void;
86
- onValidationUpdated(wrapper: ValidationWrapperInternal, isValid?: boolean): void;
87
- isAnyWrapperInChangingMode(): boolean;
88
- onValidationRemoved(): void;
89
- getChildWrappersSortedByPosition(): ValidationWrapperInternal[];
90
- validate(withoutFocus: boolean): Promise<boolean>;
91
- render(): JSX.Element;
92
- }
93
- }
94
-
95
50
  declare module '@skbkontur/react-ui-validations/src/ValidationTooltip' {
96
51
  import React from 'react';
97
52
  export type TooltipPosition = 'top left' | 'top center' | 'top right' | 'bottom left' | 'bottom center' | 'bottom right' | 'left top' | 'left middle' | 'left bottom' | 'right top' | 'right middle' | 'right bottom';
@@ -107,10 +62,9 @@ declare module '@skbkontur/react-ui-validations/src/ValidationTooltip' {
107
62
  }
108
63
 
109
64
  declare module '@skbkontur/react-ui-validations/src/ValidationWrapperInternal' {
110
- import * as PropTypes from 'prop-types';
111
65
  import React from 'react';
112
66
  import { Nullable } from '@skbkontur/react-ui-validations/typings/Types';
113
- import { IValidationContext } from '@skbkontur/react-ui-validations/src/ValidationContext';
67
+ import { ValidationContextType } from '@skbkontur/react-ui-validations/src/ValidationContextWrapper';
114
68
  export type ValidationBehaviour = 'immediate' | 'lostfocus' | 'submit';
115
69
  export type ValidationLevel = 'error' | 'warning';
116
70
  export interface Validation {
@@ -133,20 +87,16 @@ declare module '@skbkontur/react-ui-validations/src/ValidationWrapperInternal' {
133
87
  y: number;
134
88
  }
135
89
  export class ValidationWrapperInternal extends React.Component<ValidationWrapperInternalProps, ValidationWrapperInternalState> {
136
- static contextTypes: {
137
- validationContext: PropTypes.Requireable<any>;
138
- };
139
90
  state: ValidationWrapperInternalState;
140
- context: {
141
- validationContext: IValidationContext;
142
- };
143
91
  isChanging: boolean;
144
- UNSAFE_componentWillMount(): void;
92
+ static contextType: React.Context<ValidationContextType>;
93
+ context: ValidationContextType;
145
94
  componentDidMount(): void;
146
95
  componentWillUnmount(): void;
147
- UNSAFE_componentWillReceiveProps(nextProps: ValidationWrapperInternalProps): void;
96
+ componentDidUpdate(): void;
148
97
  focus(): Promise<void>;
149
98
  render(): React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)>;
99
+ getRootNode: () => Nullable<HTMLElement>;
150
100
  getControlPosition(): Nullable<Point>;
151
101
  processBlur(): Promise<void>;
152
102
  processSubmit(): Promise<void>;
@@ -177,6 +127,44 @@ declare module '@skbkontur/react-ui-validations/src/ValidationWrapper' {
177
127
  }
178
128
  }
179
129
 
130
+ declare module '@skbkontur/react-ui-validations/src/ValidationContextWrapper' {
131
+ import React from 'react';
132
+ import { ValidationWrapperInternal } from '@skbkontur/react-ui-validations/src/ValidationWrapperInternal';
133
+ import { ScrollOffset } from '@skbkontur/react-ui-validations/src/ValidationContainer';
134
+ export interface ValidationContextSettings {
135
+ scrollOffset: ScrollOffset;
136
+ disableSmoothScroll: boolean;
137
+ }
138
+ export interface ValidationContextWrapperProps {
139
+ children?: React.ReactNode;
140
+ onValidationUpdated?: (isValid?: boolean) => void;
141
+ scrollOffset?: number | ScrollOffset;
142
+ disableSmoothScroll: boolean;
143
+ }
144
+ export interface ValidationContextType {
145
+ register: (wrapper: ValidationWrapperInternal) => void;
146
+ unregister: (wrapper: ValidationWrapperInternal) => void;
147
+ instanceProcessBlur: (wrapper: ValidationWrapperInternal) => void;
148
+ onValidationUpdated: (wrapper: ValidationWrapperInternal, isValid: boolean) => void;
149
+ getSettings: () => ValidationContextSettings;
150
+ isAnyWrapperInChangingMode: () => boolean;
151
+ }
152
+ export const ValidationContext: React.Context<ValidationContextType>;
153
+ export class ValidationContextWrapper extends React.Component<ValidationContextWrapperProps> {
154
+ childWrappers: ValidationWrapperInternal[];
155
+ getSettings(): ValidationContextSettings;
156
+ register(wrapper: ValidationWrapperInternal): void;
157
+ unregister(wrapper: ValidationWrapperInternal): void;
158
+ instanceProcessBlur(instance: ValidationWrapperInternal): void;
159
+ onValidationUpdated(wrapper: ValidationWrapperInternal, isValid?: boolean): void;
160
+ isAnyWrapperInChangingMode(): boolean;
161
+ onValidationRemoved(): void;
162
+ getChildWrappersSortedByPosition(): ValidationWrapperInternal[];
163
+ validate(withoutFocus: boolean): Promise<boolean>;
164
+ render(): JSX.Element;
165
+ }
166
+ }
167
+
180
168
  declare module '@skbkontur/react-ui-validations/src/Validations' {
181
169
  import { ValidationBuilder } from '@skbkontur/react-ui-validations/src/Validations/ValidationBuilder';
182
170
  import { RootValidationRule, ValidationRule, ItemValidationRule } from '@skbkontur/react-ui-validations/src/Validations/Types';
package/index.js CHANGED
@@ -3,8 +3,6 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var PropTypes = require('prop-types');
7
- var ReactDom = require('react-dom');
8
6
  var warning = require('warning');
9
7
 
10
8
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -192,19 +190,26 @@ var isReactUITestEnv = Boolean(REACT_UI_TEST) || // for cases when NODE_ENV is n
192
190
  var isTestEnv = NODE_ENV === 'test' || isReactUITestEnv;
193
191
  var isBrowser = typeof window !== 'undefined';
194
192
 
195
- var ValidationContext = /** @class */ (function (_super) {
196
- __extends(ValidationContext, _super);
197
- function ValidationContext() {
193
+ var ValidationContext = React__default['default'].createContext({
194
+ register: function () { return undefined; },
195
+ unregister: function () { return undefined; },
196
+ instanceProcessBlur: function () { return undefined; },
197
+ onValidationUpdated: function () { return undefined; },
198
+ getSettings: function () { return ({
199
+ scrollOffset: {},
200
+ disableSmoothScroll: false,
201
+ }); },
202
+ isAnyWrapperInChangingMode: function () { return false; },
203
+ });
204
+ ValidationContext.displayName = 'ValidationContext';
205
+ var ValidationContextWrapper = /** @class */ (function (_super) {
206
+ __extends(ValidationContextWrapper, _super);
207
+ function ValidationContextWrapper() {
198
208
  var _this = _super !== null && _super.apply(this, arguments) || this;
199
209
  _this.childWrappers = [];
200
210
  return _this;
201
211
  }
202
- ValidationContext.prototype.getChildContext = function () {
203
- return {
204
- validationContext: this,
205
- };
206
- };
207
- ValidationContext.prototype.getSettings = function () {
212
+ ValidationContextWrapper.prototype.getSettings = function () {
208
213
  var scrollOffset = {};
209
214
  if (typeof this.props.scrollOffset === 'number') {
210
215
  scrollOffset = { top: this.props.scrollOffset };
@@ -221,20 +226,20 @@ var ValidationContext = /** @class */ (function (_super) {
221
226
  disableSmoothScroll: this.props.disableSmoothScroll,
222
227
  };
223
228
  };
224
- ValidationContext.prototype.register = function (wrapper) {
229
+ ValidationContextWrapper.prototype.register = function (wrapper) {
225
230
  this.childWrappers.push(wrapper);
226
231
  };
227
- ValidationContext.prototype.unregister = function (wrapper) {
232
+ ValidationContextWrapper.prototype.unregister = function (wrapper) {
228
233
  this.childWrappers.splice(this.childWrappers.indexOf(wrapper), 1);
229
234
  this.onValidationRemoved();
230
235
  };
231
- ValidationContext.prototype.instanceProcessBlur = function (instance) {
236
+ ValidationContextWrapper.prototype.instanceProcessBlur = function (instance) {
232
237
  for (var _i = 0, _a = this.childWrappers.filter(function (x) { return x !== instance && !x.isIndependent(); }); _i < _a.length; _i++) {
233
238
  var wrapper = _a[_i];
234
239
  wrapper.processBlur();
235
240
  }
236
241
  };
237
- ValidationContext.prototype.onValidationUpdated = function (wrapper, isValid) {
242
+ ValidationContextWrapper.prototype.onValidationUpdated = function (wrapper, isValid) {
238
243
  var onValidationUpdated = this.props.onValidationUpdated;
239
244
  if (onValidationUpdated) {
240
245
  var isValidResult = !this.childWrappers.find(function (x) {
@@ -246,17 +251,17 @@ var ValidationContext = /** @class */ (function (_super) {
246
251
  onValidationUpdated(isValidResult);
247
252
  }
248
253
  };
249
- ValidationContext.prototype.isAnyWrapperInChangingMode = function () {
254
+ ValidationContextWrapper.prototype.isAnyWrapperInChangingMode = function () {
250
255
  return this.childWrappers.some(function (x) { return x.isChanging; });
251
256
  };
252
- ValidationContext.prototype.onValidationRemoved = function () {
257
+ ValidationContextWrapper.prototype.onValidationRemoved = function () {
253
258
  var onValidationUpdated = this.props.onValidationUpdated;
254
259
  if (onValidationUpdated) {
255
260
  var isValidResult = !this.childWrappers.find(function (x) { return x.hasError(); });
256
261
  onValidationUpdated(isValidResult);
257
262
  }
258
263
  };
259
- ValidationContext.prototype.getChildWrappersSortedByPosition = function () {
264
+ ValidationContextWrapper.prototype.getChildWrappersSortedByPosition = function () {
260
265
  var wrappersWithPosition = __spreadArrays(this.childWrappers).map(function (x) { return ({
261
266
  target: x,
262
267
  position: x.getControlPosition(),
@@ -280,7 +285,7 @@ var ValidationContext = /** @class */ (function (_super) {
280
285
  });
281
286
  return wrappersWithPosition.map(function (x) { return x.target; });
282
287
  };
283
- ValidationContext.prototype.validate = function (withoutFocus) {
288
+ ValidationContextWrapper.prototype.validate = function (withoutFocus) {
284
289
  return __awaiter(this, void 0, void 0, function () {
285
290
  var firstInvalid;
286
291
  return __generator(this, function (_a) {
@@ -302,13 +307,11 @@ var ValidationContext = /** @class */ (function (_super) {
302
307
  });
303
308
  });
304
309
  };
305
- ValidationContext.prototype.render = function () {
306
- return React__default['default'].createElement("span", null, this.props.children);
310
+ ValidationContextWrapper.prototype.render = function () {
311
+ return (React__default['default'].createElement(ValidationContext.Provider, { value: this },
312
+ React__default['default'].createElement("span", null, this.props.children)));
307
313
  };
308
- ValidationContext.childContextTypes = {
309
- validationContext: PropTypes.any,
310
- };
311
- return ValidationContext;
314
+ return ValidationContextWrapper;
312
315
  }(React__default['default'].Component));
313
316
 
314
317
  var ValidationContainer = /** @class */ (function (_super) {
@@ -344,7 +347,7 @@ var ValidationContainer = /** @class */ (function (_super) {
344
347
  return this.childContext.validate(withoutFocus);
345
348
  };
346
349
  ValidationContainer.prototype.render = function () {
347
- return (React__default['default'].createElement(ValidationContext, { ref: this.refChildContext, scrollOffset: this.props.scrollOffset, disableSmoothScroll: this.props.disableSmoothScroll, onValidationUpdated: this.props.onValidationUpdated }, this.props.children));
350
+ return (React__default['default'].createElement(ValidationContextWrapper, { ref: this.refChildContext, scrollOffset: this.props.scrollOffset, disableSmoothScroll: this.props.disableSmoothScroll, onValidationUpdated: this.props.onValidationUpdated }, this.props.children));
348
351
  };
349
352
  ValidationContainer.__KONTUR_REACT_UI__ = 'ValidationContainer';
350
353
  ValidationContainer.defaultProps = {
@@ -550,25 +553,28 @@ var ValidationWrapperInternal = /** @class */ (function (_super) {
550
553
  validation: null,
551
554
  };
552
555
  _this.isChanging = false;
556
+ _this.context = _this.context;
557
+ _this.setRootNode = function (element) {
558
+ _this.rootNode = element;
559
+ };
560
+ _this.getRootNode = function () {
561
+ return _this.rootNode;
562
+ };
553
563
  return _this;
554
564
  }
555
- ValidationWrapperInternal.prototype.UNSAFE_componentWillMount = function () {
556
- this.applyValidation(this.props.validation);
557
- };
558
565
  ValidationWrapperInternal.prototype.componentDidMount = function () {
559
- warning__default['default'](this.context.validationContext, 'ValidationWrapper should appears as child of ValidationContext.\n' +
566
+ warning__default['default'](this.context, 'ValidationWrapper should appears as child of ValidationContainer.\n' +
560
567
  'https://tech.skbkontur.ru/react-ui-validations/#/getting-started');
561
- if (this.context.validationContext) {
562
- this.context.validationContext.register(this);
568
+ if (this.context) {
569
+ this.context.register(this);
563
570
  }
571
+ this.applyValidation(this.props.validation);
564
572
  };
565
573
  ValidationWrapperInternal.prototype.componentWillUnmount = function () {
566
- if (this.context.validationContext) {
567
- this.context.validationContext.unregister(this);
568
- }
574
+ this.context.unregister(this);
569
575
  };
570
- ValidationWrapperInternal.prototype.UNSAFE_componentWillReceiveProps = function (nextProps) {
571
- this.applyValidation(nextProps.validation);
576
+ ValidationWrapperInternal.prototype.componentDidUpdate = function () {
577
+ this.applyValidation(this.props.validation);
572
578
  };
573
579
  ValidationWrapperInternal.prototype.focus = function () {
574
580
  return __awaiter(this, void 0, void 0, function () {
@@ -576,9 +582,9 @@ var ValidationWrapperInternal = /** @class */ (function (_super) {
576
582
  return __generator(this, function (_b) {
577
583
  switch (_b.label) {
578
584
  case 0:
579
- htmlElement = ReactDom.findDOMNode(this);
585
+ htmlElement = this.getRootNode();
580
586
  if (!(htmlElement instanceof HTMLElement)) return [3 /*break*/, 3];
581
- _a = this.context.validationContext.getSettings(), disableSmoothScroll = _a.disableSmoothScroll, scrollOffset = _a.scrollOffset;
587
+ _a = this.context.getSettings(), disableSmoothScroll = _a.disableSmoothScroll, scrollOffset = _a.scrollOffset;
582
588
  if (!!disableSmoothScroll) return [3 /*break*/, 2];
583
589
  return [4 /*yield*/, smoothScrollIntoView(htmlElement, scrollOffset)];
584
590
  case 1:
@@ -665,10 +671,10 @@ var ValidationWrapperInternal = /** @class */ (function (_super) {
665
671
  },
666
672
  });
667
673
  }
668
- return this.props.errorMessage(React__default['default'].createElement("span", null, clonedChild), !!validation, validation);
674
+ return this.props.errorMessage(React__default['default'].createElement("span", { ref: this.setRootNode }, clonedChild), !!validation, validation);
669
675
  };
670
676
  ValidationWrapperInternal.prototype.getControlPosition = function () {
671
- var htmlElement = ReactDom.findDOMNode(this);
677
+ var htmlElement = this.getRootNode();
672
678
  if (htmlElement instanceof HTMLElement) {
673
679
  var rect = htmlElement.getBoundingClientRect();
674
680
  return { x: rect.top, y: rect.left };
@@ -700,7 +706,7 @@ var ValidationWrapperInternal = /** @class */ (function (_super) {
700
706
  setTimeout(function () {
701
707
  _this.processBlur();
702
708
  if (!_this.isIndependent()) {
703
- _this.context.validationContext.instanceProcessBlur(_this);
709
+ _this.context.instanceProcessBlur(_this);
704
710
  }
705
711
  _this.setState({});
706
712
  });
@@ -718,7 +724,7 @@ var ValidationWrapperInternal = /** @class */ (function (_super) {
718
724
  return new Promise(function (resolve) {
719
725
  _this.setState({ validation: validation }, resolve);
720
726
  if (Boolean(current) !== Boolean(validation)) {
721
- _this.context.validationContext.onValidationUpdated(_this, !validation);
727
+ _this.context.onValidationUpdated(_this, !validation);
722
728
  }
723
729
  });
724
730
  };
@@ -735,12 +741,10 @@ var ValidationWrapperInternal = /** @class */ (function (_super) {
735
741
  if (isEqual(visible, actual)) {
736
742
  return visible;
737
743
  }
738
- var changing = this.context.validationContext.isAnyWrapperInChangingMode();
744
+ var changing = this.context.isAnyWrapperInChangingMode();
739
745
  return getVisibleValidation(visible, actual, changing);
740
746
  };
741
- ValidationWrapperInternal.contextTypes = {
742
- validationContext: PropTypes.any,
743
- };
747
+ ValidationWrapperInternal.contextType = ValidationContext;
744
748
  return ValidationWrapperInternal;
745
749
  }(React__default['default'].Component));
746
750
 
@@ -954,6 +958,7 @@ function createValidator(rule) {
954
958
  exports.ValidationBuilder = ValidationBuilder;
955
959
  exports.ValidationContainer = ValidationContainer;
956
960
  exports.ValidationContext = ValidationContext;
961
+ exports.ValidationContextWrapper = ValidationContextWrapper;
957
962
  exports.ValidationReader = ValidationReader;
958
963
  exports.ValidationTooltip = ValidationTooltip;
959
964
  exports.ValidationWrapper = ValidationWrapper;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skbkontur/react-ui-validations",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "description": "Validations for @skbkontur/react-ui",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",