tdesign-react
Version:
TDesign Component for React
49 lines (43 loc) • 1.95 kB
JavaScript
/**
* tdesign v1.16.2
* (c) 2025 tdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var slicedToArray = require('../_chunks/dep-5cb0d66d.js');
var React = require('react');
var _util_noop = require('../_util/noop.js');
var upperFirst = require('../_chunks/dep-908ffaed.js');
require('../_chunks/dep-737b8bd8.js');
require('../_chunks/dep-a76ede3e.js');
require('../_chunks/dep-2ad01263.js');
require('../_chunks/dep-7659797a.js');
require('../_chunks/dep-4ce0670e.js');
require('../_chunks/dep-b325182b.js');
require('../_chunks/dep-bdafd287.js');
require('../_chunks/dep-eb2203ae.js');
require('../_chunks/dep-3448f35f.js');
var useControlled = function useControlled() {
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var valueKey = arguments.length > 1 ? arguments[1] : undefined;
var onChange = arguments.length > 2 ? arguments[2] : undefined;
var defaultOptions = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
var controlled = Reflect.has(props, valueKey);
var value = props[valueKey];
var defaultValue = defaultOptions["default".concat(upperFirst.upperFirst(valueKey))] || props["default".concat(upperFirst.upperFirst(valueKey))];
var _useState = React.useState(defaultValue),
_useState2 = slicedToArray._slicedToArray(_useState, 2),
internalValue = _useState2[0],
setInternalValue = _useState2[1];
if (controlled) return [value, onChange || _util_noop["default"]];
return [internalValue, function (newValue) {
setInternalValue(newValue);
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
onChange === null || onChange === void 0 || onChange.apply(void 0, [newValue].concat(args));
}];
};
exports["default"] = useControlled;
//# sourceMappingURL=useControlled.js.map