@skbkontur/react-ui-validations 1.16.3 → 2.0.0-beta.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/index.d.ts CHANGED
@@ -53,7 +53,7 @@ declare module '@skbkontur/react-ui-validations/src/ValidationContainer' {
53
53
  submit(validationSettings?: ValidationSettings): Promise<void>;
54
54
  validate(withoutFocus?: boolean): Promise<boolean>;
55
55
  validate(validationSettings?: ValidationSettings): Promise<boolean>;
56
- render(): JSX.Element;
56
+ render(): React.JSX.Element;
57
57
  }
58
58
  export {};
59
59
  }
@@ -71,7 +71,7 @@ declare module '@skbkontur/react-ui-validations/src/ValidationTooltip' {
71
71
  export class ValidationTooltip extends React.Component<ValidationTooltipProps> {
72
72
  static __KONTUR_REACT_UI__: string;
73
73
  static displayName: string;
74
- render(): JSX.Element;
74
+ render(): React.JSX.Element;
75
75
  }
76
76
  }
77
77
 
@@ -111,7 +111,7 @@ declare module '@skbkontur/react-ui-validations/src/ValidationWrapperInternal' {
111
111
  componentWillUnmount(): void;
112
112
  componentDidUpdate(): void;
113
113
  focus(): Promise<void>;
114
- render(): JSX.Element;
114
+ render(): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
115
115
  getRootNode: () => Nullable<Element>;
116
116
  getControlPosition(): Nullable<Point>;
117
117
  processBlur(): Promise<void>;
@@ -141,7 +141,7 @@ declare module '@skbkontur/react-ui-validations/src/ValidationWrapper' {
141
141
  export class ValidationWrapper extends React.Component<ValidationWrapperProps> {
142
142
  static __KONTUR_REACT_UI__: string;
143
143
  static displayName: string;
144
- render(): JSX.Element;
144
+ render(): React.JSX.Element;
145
145
  }
146
146
  }
147
147
 
@@ -180,7 +180,7 @@ declare module '@skbkontur/react-ui-validations/src/ValidationContextWrapper' {
180
180
  onValidationRemoved(): void;
181
181
  getChildWrappersSortedByPosition(): ValidationWrapperInternal[];
182
182
  validate(withoutFocusOrValidationSettings: ValidateArgumentType): Promise<boolean>;
183
- render(): JSX.Element;
183
+ render(): React.JSX.Element;
184
184
  }
185
185
  }
186
186
 
@@ -214,18 +214,16 @@ declare module '@skbkontur/react-ui-validations/typings/Types' {
214
214
 
215
215
  declare module '@skbkontur/react-ui-validations/src/utils/featureFlagsContext/ValidationsFeatureFlagsContext' {
216
216
  import React from 'react';
217
- export type FeatureFlags = 'validationsRemoveExtraSpans' | 'fixedValidationTextColors' | 'darkTheme';
217
+ export type FeatureFlags = '';
218
218
  export type ValidationsFeatureFlags = Partial<Record<FeatureFlags, boolean>>;
219
219
  export const validationsFeatureFlagsDefault: ValidationsFeatureFlags;
220
- export const ValidationsFeatureFlagsContext: React.Context<Partial<Record<FeatureFlags, boolean>>>;
220
+ export const ValidationsFeatureFlagsContext: React.Context<Partial<Record<"", boolean>>>;
221
221
  }
222
222
 
223
223
  declare module '@skbkontur/react-ui-validations/src/utils/featureFlagsContext/FeatureFlagsHelpers' {
224
224
  import { ValidationsFeatureFlags } from '@skbkontur/react-ui-validations/src/utils/featureFlagsContext/ValidationsFeatureFlagsContext';
225
225
  export const getFullValidationsFlagsContext: (flags: ValidationsFeatureFlags) => {
226
- validationsRemoveExtraSpans?: boolean | undefined;
227
- fixedValidationTextColors?: boolean | undefined;
228
- darkTheme?: boolean | undefined;
226
+ ""?: boolean | undefined;
229
227
  };
230
228
  }
231
229
 
package/index.js CHANGED
@@ -1,25 +1,84 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var React = require('react');
6
4
  var warning = require('warning');
7
5
  var reactDom = require('react-dom');
8
6
 
9
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
7
+ var DEFAULT_TEXT_COLOR = '#d43517';
8
+ function getValidationTextColor(theme, level) {
9
+ if (level === void 0) { level = 'error'; }
10
+ return ((level === 'warning' ? theme.validationsTextColorWarning : theme.validationsTextColorError) || DEFAULT_TEXT_COLOR);
11
+ }
10
12
 
11
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
- var warning__default = /*#__PURE__*/_interopDefaultLegacy(warning);
13
+ /**
14
+ * Проверяет, не является ли переданный аргумент null или undefined и исключает типы null и undefined из типа аргумента
15
+ *
16
+ * @param value Значение, которое нужно проверить и исключить из него типы
17
+ * @returns Возвращает true, если переданный аргумент не является null или undefined иначе false
18
+ */
19
+ var isNonNullable = function (value) {
20
+ return value !== null && value !== undefined;
21
+ };
13
22
 
14
- var validationsFeatureFlagsDefault = {
15
- validationsRemoveExtraSpans: false,
16
- fixedValidationTextColors: false,
23
+ var defaultOrNamed = function (module, component) {
24
+ return module && module.__esModule && module.default ? module.default : module[component];
17
25
  };
18
- var ValidationsFeatureFlagsContext = React__default["default"].createContext(validationsFeatureFlagsDefault);
19
- ValidationsFeatureFlagsContext.displayName = 'ValidationsFeatureFlagsContext';
20
- ValidationsFeatureFlagsContext.__KONTUR_REACT_UI__ = 'ValidationsFeatureFlagsContext';
26
+ var importContext = function (module, component) { return module[component] || React.createContext({}); };
27
+ var Tooltip = defaultOrNamed(require('@skbkontur/react-ui/components/Tooltip'), 'Tooltip');
28
+ var ThemeContext = importContext(require('@skbkontur/react-ui/lib/theming/ThemeContext'), 'ThemeContext');
29
+ var ReactUiDetection = /** @class */ (function () {
30
+ function ReactUiDetection() {
31
+ }
32
+ ReactUiDetection.isDatePicker = function (childrenArray) {
33
+ var _a;
34
+ return isNonNullable(childrenArray) && ((_a = childrenArray.type) === null || _a === void 0 ? void 0 : _a.__KONTUR_REACT_UI__) === 'DatePicker';
35
+ };
36
+ ReactUiDetection.isRadioGroup = function (childrenArray) {
37
+ var _a;
38
+ return isNonNullable(childrenArray) && ((_a = childrenArray.type) === null || _a === void 0 ? void 0 : _a.__KONTUR_REACT_UI__) === 'RadioGroup';
39
+ };
40
+ ReactUiDetection.isTokenInput = function (childrenArray) {
41
+ var _a;
42
+ return isNonNullable(childrenArray) && ((_a = childrenArray.type) === null || _a === void 0 ? void 0 : _a.__KONTUR_REACT_UI__) === 'TokenInput';
43
+ };
44
+ ReactUiDetection.isSwitcher = function (childrenArray) {
45
+ var _a;
46
+ return isNonNullable(childrenArray) && ((_a = childrenArray.type) === null || _a === void 0 ? void 0 : _a.__KONTUR_REACT_UI__) === 'Switcher';
47
+ };
48
+ ReactUiDetection.isComboBox = function (childrenArray) {
49
+ var _a;
50
+ return isNonNullable(childrenArray) && ((_a = childrenArray.type) === null || _a === void 0 ? void 0 : _a.__KONTUR_REACT_UI__) === 'ComboBox';
51
+ };
52
+ return ReactUiDetection;
53
+ }());
21
54
 
22
- /*! *****************************************************************************
55
+ var ValidationText = function (_a) {
56
+ var pos = _a.pos, children = _a.children, validation = _a.validation, dataTid = _a["data-tid"];
57
+ var theme = React.useContext(ThemeContext);
58
+ var color = getValidationTextColor(theme, validation === null || validation === void 0 ? void 0 : validation.level);
59
+ if (pos === 'right') {
60
+ var childrenAndValidationText_1 = (React.createElement(React.Fragment, null,
61
+ children,
62
+ React.createElement("span", { "data-tid": dataTid, "data-validation-message": "text", style: { marginLeft: '10px', color: color } }, (validation && validation.message) || '')));
63
+ return React.createElement("div", { style: { display: 'inline-block' } }, childrenAndValidationText_1);
64
+ }
65
+ var validationText = (React.createElement("span", { "data-tid": dataTid, "data-validation-message": "text", style: {
66
+ color: color,
67
+ overflow: 'visible',
68
+ whiteSpace: 'nowrap',
69
+ position: 'absolute',
70
+ top: '2px',
71
+ left: 0,
72
+ } }, (validation && validation.message) || ''));
73
+ var childrenAndValidationText = (React.createElement(React.Fragment, null,
74
+ children,
75
+ React.createElement("span", { style: { position: 'absolute', bottom: 0, left: 0, height: 0 } }, validationText)));
76
+ return React.createElement("div", { style: { position: 'relative', display: 'inline-block' } }, childrenAndValidationText);
77
+ };
78
+ ValidationText.__KONTUR_REACT_UI__ = 'ValidationText';
79
+ ValidationText.displayName = 'ValidationText';
80
+
81
+ /******************************************************************************
23
82
  Copyright (c) Microsoft Corporation.
24
83
 
25
84
  Permission to use, copy, modify, and/or distribute this software for any
@@ -33,7 +92,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
33
92
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
34
93
  PERFORMANCE OF THIS SOFTWARE.
35
94
  ***************************************************************************** */
36
- /* global Reflect, Promise */
95
+ /* global Reflect, Promise, SuppressedError, Symbol */
37
96
 
38
97
  var extendStatics = function(d, b) {
39
98
  extendStatics = Object.setPrototypeOf ||
@@ -89,7 +148,7 @@ function __generator(thisArg, body) {
89
148
  function verb(n) { return function (v) { return step([n, v]); }; }
90
149
  function step(op) {
91
150
  if (f) throw new TypeError("Generator is already executing.");
92
- while (_) try {
151
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
93
152
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
94
153
  if (y = 0, t) op = [op[0] & 2, t.value];
95
154
  switch (op[0]) {
@@ -119,126 +178,34 @@ function __spreadArray(to, from, pack) {
119
178
  }
120
179
  }
121
180
  return to.concat(ar || Array.prototype.slice.call(from));
122
- }
123
-
124
- var getFullValidationsFlagsContext = function (flags) {
125
- return __assign(__assign({}, validationsFeatureFlagsDefault), flags);
126
- };
127
-
128
- var DEFAULT_TEXT_COLOR = '#d43517';
129
- function getValidationTextColor(flags, theme, level) {
130
- if (level === void 0) { level = 'error'; }
131
- if (flags.fixedValidationTextColors) {
132
- if (!theme.validationsTextColorWarning && !theme.validationsTextColorError) {
133
- switch (level) {
134
- case 'warning':
135
- return flags.darkTheme ? '#fdd481' : '#ef8b17';
136
- case 'error':
137
- return flags.darkTheme ? '#ff887b' : '#cb3d35';
138
- }
139
- }
140
- return ((level === 'warning' ? theme.validationsTextColorWarning : theme.validationsTextColorError) || DEFAULT_TEXT_COLOR);
141
- }
142
- return DEFAULT_TEXT_COLOR;
143
- }
144
-
145
- /**
146
- * Проверяет, не является ли переданный аргумент null или undefined и исключает типы null и undefined из типа аргумента
147
- *
148
- * @param value Значение, которое нужно проверить и исключить из него типы
149
- * @returns Возвращает true, если переданный аргумент не является null или undefined иначе false
150
- */
151
- var isNonNullable = function (value) {
152
- return value !== null && value !== undefined;
181
+ }
182
+
183
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
184
+ var e = new Error(message);
185
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
153
186
  };
154
187
 
155
- var defaultOrNamed = function (module, component) {
156
- return module && module.__esModule && module.default ? module.default : module[component];
157
- };
158
- var importContext = function (module, component) { return module[component] || React__default["default"].createContext({}); };
159
- var Tooltip = defaultOrNamed(require('@skbkontur/react-ui/components/Tooltip'), 'Tooltip');
160
- var ThemeContext = importContext(require('@skbkontur/react-ui/lib/theming/ThemeContext'), 'ThemeContext');
161
- var ReactUiDetection = /** @class */ (function () {
162
- function ReactUiDetection() {
163
- }
164
- ReactUiDetection.isDatePicker = function (childrenArray) {
165
- var _a;
166
- return isNonNullable(childrenArray) && ((_a = childrenArray.type) === null || _a === void 0 ? void 0 : _a.__KONTUR_REACT_UI__) === 'DatePicker';
167
- };
168
- ReactUiDetection.isRadioGroup = function (childrenArray) {
169
- var _a;
170
- return isNonNullable(childrenArray) && ((_a = childrenArray.type) === null || _a === void 0 ? void 0 : _a.__KONTUR_REACT_UI__) === 'RadioGroup';
171
- };
172
- ReactUiDetection.isTokenInput = function (childrenArray) {
173
- var _a;
174
- return isNonNullable(childrenArray) && ((_a = childrenArray.type) === null || _a === void 0 ? void 0 : _a.__KONTUR_REACT_UI__) === 'TokenInput';
175
- };
176
- ReactUiDetection.isSwitcher = function (childrenArray) {
177
- var _a;
178
- return isNonNullable(childrenArray) && ((_a = childrenArray.type) === null || _a === void 0 ? void 0 : _a.__KONTUR_REACT_UI__) === 'Switcher';
179
- };
180
- ReactUiDetection.isComboBox = function (childrenArray) {
181
- var _a;
182
- return isNonNullable(childrenArray) && ((_a = childrenArray.type) === null || _a === void 0 ? void 0 : _a.__KONTUR_REACT_UI__) === 'ComboBox';
183
- };
184
- return ReactUiDetection;
185
- }());
186
-
187
- var ValidationText = function (_a) {
188
- var pos = _a.pos, children = _a.children, validation = _a.validation, dataTid = _a["data-tid"];
189
- var theme = React.useContext(ThemeContext);
190
- var featureFlags = getFullValidationsFlagsContext(React.useContext(ValidationsFeatureFlagsContext));
191
- var color = getValidationTextColor(featureFlags, theme, validation === null || validation === void 0 ? void 0 : validation.level);
192
- if (pos === 'right') {
193
- var childrenAndValidationText = (React__default["default"].createElement(React__default["default"].Fragment, null,
194
- children,
195
- React__default["default"].createElement("span", { "data-tid": dataTid, "data-validation-message": "text", style: { marginLeft: '10px', color: color } }, (validation && validation.message) || '')));
196
- return featureFlags.validationsRemoveExtraSpans ? (childrenAndValidationText) : (React__default["default"].createElement("span", { style: { display: 'inline-block' } }, childrenAndValidationText));
197
- }
198
- var validationText = (React__default["default"].createElement("span", { "data-tid": dataTid, "data-validation-message": "text", style: {
199
- color: color,
200
- overflow: 'visible',
201
- whiteSpace: 'nowrap',
202
- position: 'absolute',
203
- top: '2px',
204
- left: 0,
205
- } }, (validation && validation.message) || ''));
206
- return featureFlags.validationsRemoveExtraSpans ? (React__default["default"].createElement(React__default["default"].Fragment, null,
207
- children,
208
- React__default["default"].createElement("span", { style: { position: 'absolute', display: 'block' } }, validationText))) : (React__default["default"].createElement("span", { style: { position: 'relative', display: 'inline-block' } },
209
- children,
210
- React__default["default"].createElement("span", { style: { position: 'absolute', bottom: 0, left: 0, height: 0 } }, validationText)));
211
- };
212
- ValidationText.__KONTUR_REACT_UI__ = 'ValidationText';
213
- ValidationText.displayName = 'ValidationText';
214
-
215
188
  var ValidationTooltip = /** @class */ (function (_super) {
216
189
  __extends(ValidationTooltip, _super);
217
190
  function ValidationTooltip() {
218
191
  return _super !== null && _super.apply(this, arguments) || this;
219
192
  }
220
193
  ValidationTooltip.prototype.render = function () {
221
- var _this = this;
222
194
  var _a = this.props, children = _a.children, pos = _a.pos, error = _a.error, render = _a.render, rest = __rest(_a, ["children", "pos", "error", "render"]);
223
- var onlyChild = React__default["default"].Children.only(children);
195
+ var onlyChild = React.Children.only(children);
224
196
  var child = onlyChild && onlyChild.props ? onlyChild.props.children : null;
225
- return (React__default["default"].createElement(ValidationsFeatureFlagsContext.Consumer, null, function (flags) {
226
- _this.featureFlags = getFullValidationsFlagsContext(flags);
227
- return !_this.featureFlags.validationsRemoveExtraSpans &&
228
- (ReactUiDetection.isRadioGroup(child) ||
229
- ReactUiDetection.isTokenInput(child) ||
230
- ReactUiDetection.isSwitcher(child)) ? (React__default["default"].createElement(Tooltip, __assign({ useWrapper: false, pos: pos, render: error && render, trigger: 'hover&focus' }, rest), child)) : (React__default["default"].createElement(Tooltip, __assign({ pos: pos, render: error && render, trigger: 'hover&focus' }, rest), children));
231
- }));
197
+ return ReactUiDetection.isRadioGroup(child) ||
198
+ ReactUiDetection.isTokenInput(child) ||
199
+ ReactUiDetection.isSwitcher(child) ? (React.createElement(Tooltip, __assign({ useWrapper: false, pos: pos, render: error && render, trigger: 'hover&focus' }, rest), child)) : (React.createElement(Tooltip, __assign({ pos: pos, render: error && render, trigger: 'hover&focus' }, rest), children));
232
200
  };
233
201
  ValidationTooltip.__KONTUR_REACT_UI__ = 'ValidationTooltip';
234
202
  ValidationTooltip.displayName = 'ValidationTooltip';
235
203
  return ValidationTooltip;
236
- }(React__default["default"].Component));
204
+ }(React.Component));
237
205
 
238
- /* eslint-disable react/display-name */
239
206
  function tooltip(pos) {
240
207
  return function (control, hasError, validation) {
241
- return (React__default["default"].createElement(ValidationTooltip, { pos: pos, error: hasError, render: function () {
208
+ return (React.createElement(ValidationTooltip, { pos: pos, error: hasError, render: function () {
242
209
  if (!validation || !validation.message) {
243
210
  return null;
244
211
  }
@@ -249,11 +216,11 @@ function tooltip(pos) {
249
216
  function text(pos) {
250
217
  if (pos === void 0) { pos = 'right'; }
251
218
  return function (control, _hasError, validation) {
252
- return (React__default["default"].createElement(ValidationText, { pos: pos, validation: validation }, control));
219
+ return (React.createElement(ValidationText, { pos: pos, validation: validation }, control));
253
220
  };
254
221
  }
255
222
 
256
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
223
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-unnecessary-type-constraint
257
224
  function createPropsGetter(defaultProps) {
258
225
  return function () {
259
226
  return this.props;
@@ -300,7 +267,7 @@ exports.FocusMode = void 0;
300
267
  FocusMode[FocusMode["None"] = 2] = "None";
301
268
  })(exports.FocusMode || (exports.FocusMode = {}));
302
269
 
303
- var ValidationContext = React__default["default"].createContext({
270
+ var ValidationContext = React.createContext({
304
271
  register: function () { return undefined; },
305
272
  unregister: function () { return undefined; },
306
273
  instanceProcessBlur: function () { return undefined; },
@@ -317,15 +284,9 @@ var ValidationContextWrapper = /** @class */ (function (_super) {
317
284
  function ValidationContextWrapper() {
318
285
  var _this = _super !== null && _super.apply(this, arguments) || this;
319
286
  _this.childWrappers = [];
320
- _this.children = function (flags) {
321
- if (flags.validationsRemoveExtraSpans) {
322
- return _this.props.children;
323
- }
324
- return React__default["default"].createElement("span", null, _this.props.children);
325
- };
326
287
  _this.renderChildren = function (children) {
327
- if (React__default["default"].isValidElement(children)) {
328
- return React__default["default"].cloneElement(children, {
288
+ if (React.isValidElement(children)) {
289
+ return React.cloneElement(children, {
329
290
  'data-tid': _this.props['data-tid'],
330
291
  });
331
292
  }
@@ -446,20 +407,16 @@ var ValidationContextWrapper = /** @class */ (function (_super) {
446
407
  return exports.FocusMode.None;
447
408
  };
448
409
  ValidationContextWrapper.prototype.render = function () {
449
- var _this = this;
450
- return (React__default["default"].createElement(ValidationsFeatureFlagsContext.Consumer, null, function (flags) {
451
- _this.featureFlags = getFullValidationsFlagsContext(flags);
452
- return (React__default["default"].createElement(ValidationContext.Provider, { value: _this }, _this.renderChildren(_this.children(_this.featureFlags))));
453
- }));
410
+ return (React.createElement(ValidationContext.Provider, { value: this }, this.renderChildren(React.createElement("div", { style: { display: 'inline' } }, this.props.children))));
454
411
  };
455
412
  return ValidationContextWrapper;
456
- }(React__default["default"].Component));
413
+ }(React.Component));
457
414
 
458
415
  var ValidationContainer = /** @class */ (function (_super) {
459
416
  __extends(ValidationContainer, _super);
460
417
  function ValidationContainer() {
461
418
  var _this = _super !== null && _super.apply(this, arguments) || this;
462
- _this.getProps = createPropsGetter();
419
+ _this.getProps = createPropsGetter(ValidationContainer.defaultProps);
463
420
  _this.childContext = null;
464
421
  _this.refChildContext = function (el) { return (_this.childContext = el); };
465
422
  return _this;
@@ -489,7 +446,7 @@ var ValidationContainer = /** @class */ (function (_super) {
489
446
  return this.childContext.validate(withoutFocusOrValidationSettings);
490
447
  };
491
448
  ValidationContainer.prototype.render = function () {
492
- return (React__default["default"].createElement(ValidationContextWrapper, { "data-tid": this.props['data-tid'], ref: this.refChildContext, scrollOffset: this.props.scrollOffset, disableSmoothScroll: this.getProps().disableSmoothScroll, onValidationUpdated: this.props.onValidationUpdated }, this.props.children));
449
+ return (React.createElement(ValidationContextWrapper, { "data-tid": this.props['data-tid'], ref: this.refChildContext, scrollOffset: this.props.scrollOffset, disableSmoothScroll: this.getProps().disableSmoothScroll, onValidationUpdated: this.props.onValidationUpdated }, this.props.children));
493
450
  };
494
451
  ValidationContainer.__KONTUR_REACT_UI__ = 'ValidationContainer';
495
452
  ValidationContainer.displayName = 'ValidationContainer';
@@ -505,9 +462,8 @@ var ValidationContainer = /** @class */ (function (_super) {
505
462
  },
506
463
  };
507
464
  return ValidationContainer;
508
- }(React__default["default"].Component));
465
+ }(React.Component));
509
466
 
510
- /* eslint-disable react/no-find-dom-node */
511
467
  var isInstanceWithRootNode = function (instance) {
512
468
  return Boolean(instance) && Object.prototype.hasOwnProperty.call(instance, 'getRootNode');
513
469
  };
@@ -558,7 +514,7 @@ var getRootNode = function (instance) {
558
514
  // but findDOMNode doesn`t accept everything that instance can be at this point,
559
515
  // so we have to handle exceptions
560
516
  // see https://github.com/facebook/react/blob/cae63505/packages/react-dom/src/__tests__/findDOMNode-test.js#L66-L86
561
- warning__default["default"](false, '[getRootNode]: can`t fallback to findDOMNode.' +
517
+ warning(false, '[getRootNode]: can`t fallback to findDOMNode.' +
562
518
  '\n' +
563
519
  'See https://github.com/skbkontur/retail-ui/blob/master/packages/react-ui/README.md#strictmode' +
564
520
  '\n\n' +
@@ -782,7 +738,7 @@ var ValidationWrapperInternal = /** @class */ (function (_super) {
782
738
  return _this;
783
739
  }
784
740
  ValidationWrapperInternal.prototype.componentDidMount = function () {
785
- warning__default["default"](this.context, 'ValidationWrapper should appears as child of ValidationContainer.\n' +
741
+ warning(this.context, 'ValidationWrapper should appears as child of ValidationContainer.\n' +
786
742
  'https://tech.skbkontur.ru/react-ui-validations/#/getting-started');
787
743
  if (this.context) {
788
744
  this.context.register(this);
@@ -825,7 +781,7 @@ var ValidationWrapperInternal = /** @class */ (function (_super) {
825
781
  var _this = this;
826
782
  var _a = this.props, children = _a.children, dataTid = _a["data-tid"];
827
783
  var validation = this.state.validation;
828
- var clonedChild = children ? (React__default["default"].cloneElement(children, {
784
+ var clonedChild = children ? (React.cloneElement(children, {
829
785
  ref: this.customRef,
830
786
  error: !this.isChanging && getLevel(validation) === 'error',
831
787
  warning: !this.isChanging && getLevel(validation) === 'warning',
@@ -862,9 +818,9 @@ var ValidationWrapperInternal = /** @class */ (function (_super) {
862
818
  (_a = children.props).onValueChange.apply(_a, args);
863
819
  }
864
820
  },
865
- })) : (React__default["default"].createElement("span", { ref: this.setRootNode }));
821
+ })) : (React.createElement("span", { ref: this.setRootNode }));
866
822
  if (ReactUiDetection.isComboBox(clonedChild)) {
867
- clonedChild = React__default["default"].cloneElement(clonedChild, {
823
+ clonedChild = React.cloneElement(clonedChild, {
868
824
  onInputValueChange: function () {
869
825
  var _a;
870
826
  var args = [];
@@ -879,12 +835,9 @@ var ValidationWrapperInternal = /** @class */ (function (_super) {
879
835
  },
880
836
  });
881
837
  }
882
- return (React__default["default"].createElement(ValidationsFeatureFlagsContext.Consumer, null, function (flags) {
883
- _this.featureFlags = getFullValidationsFlagsContext(flags);
884
- return React__default["default"].cloneElement(_this.props.errorMessage(_this.featureFlags.validationsRemoveExtraSpans ? clonedChild : React__default["default"].createElement("span", null, clonedChild), !!validation, validation), {
885
- 'data-tid': dataTid,
886
- });
887
- }));
838
+ return React.cloneElement(this.props.errorMessage(React.createElement("div", { style: { display: 'inline' } }, clonedChild), !!validation, validation), {
839
+ 'data-tid': dataTid,
840
+ });
888
841
  };
889
842
  ValidationWrapperInternal.prototype.getControlPosition = function () {
890
843
  var htmlElement = this.getRootNode();
@@ -964,7 +917,7 @@ var ValidationWrapperInternal = /** @class */ (function (_super) {
964
917
  };
965
918
  ValidationWrapperInternal.contextType = ValidationContext;
966
919
  return ValidationWrapperInternal;
967
- }(React__default["default"].Component));
920
+ }(React.Component));
968
921
 
969
922
  var ValidationWrapper = /** @class */ (function (_super) {
970
923
  __extends(ValidationWrapper, _super);
@@ -981,12 +934,21 @@ var ValidationWrapper = /** @class */ (function (_super) {
981
934
  independent: validationInfo.independent || false,
982
935
  }
983
936
  : null;
984
- return (React__default["default"].createElement(ValidationWrapperInternal, { "data-tid": datTid, errorMessage: renderMessage || tooltip('right top'), validation: validation }, children));
937
+ return (React.createElement(ValidationWrapperInternal, { "data-tid": datTid, errorMessage: renderMessage || tooltip('right top'), validation: validation }, children));
985
938
  };
986
939
  ValidationWrapper.__KONTUR_REACT_UI__ = 'ValidationWrapper';
987
940
  ValidationWrapper.displayName = 'ValidationWrapper';
988
941
  return ValidationWrapper;
989
- }(React__default["default"].Component));
942
+ }(React.Component));
943
+
944
+ var validationsFeatureFlagsDefault = {};
945
+ var ValidationsFeatureFlagsContext = React.createContext(validationsFeatureFlagsDefault);
946
+ ValidationsFeatureFlagsContext.displayName = 'ValidationsFeatureFlagsContext';
947
+ ValidationsFeatureFlagsContext.__KONTUR_REACT_UI__ = 'ValidationsFeatureFlagsContext';
948
+
949
+ var getFullValidationsFlagsContext = function (flags) {
950
+ return __assign(__assign({}, validationsFeatureFlagsDefault), flags);
951
+ };
990
952
 
991
953
  var ValidationBuilder = /** @class */ (function () {
992
954
  // eslint-disable-next-line no-useless-constructor