1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 |
|
5 | Object.defineProperty(exports, "__esModule", {
|
6 | value: true
|
7 | });
|
8 | exports["default"] = validateSelectedPropChange;
|
9 |
|
10 | var _warn = _interopRequireDefault(require("./warn"));
|
11 |
|
12 | function validateSelectedPropChange(prevSelected, selected) {
|
13 | var uncontrolledToControlled = !prevSelected && selected;
|
14 | var controlledToUncontrolled = prevSelected && !selected;
|
15 | var from, to, precedent;
|
16 |
|
17 | if (uncontrolledToControlled) {
|
18 | from = 'uncontrolled';
|
19 | to = 'controlled';
|
20 | precedent = 'an';
|
21 | } else {
|
22 | from = 'controlled';
|
23 | to = 'uncontrolled';
|
24 | precedent = 'a';
|
25 | }
|
26 |
|
27 | var message = "You are changing ".concat(precedent, " ").concat(from, " typeahead to be ").concat(to, ". ") + "Input elements should not switch from ".concat(from, " to ").concat(to, " (or vice versa). ") + 'Decide between using a controlled or uncontrolled element for the ' + 'lifetime of the component.';
|
28 | (0, _warn["default"])(!(uncontrolledToControlled || controlledToUncontrolled), message);
|
29 | } |
\ | No newline at end of file |