UNPKG

1.08 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports["default"] = validateSelectedPropChange;
9
10var _warn = _interopRequireDefault(require("./warn"));
11
12function 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