tdesign-react
Version:
TDesign Component for React
50 lines (44 loc) • 1.99 kB
JavaScript
/**
* tdesign v1.16.6
* (c) 2026 tdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var slicedToArray = require('../_chunks/dep-3281986a.js');
var React = require('react');
var _util_noop = require('../_util/noop.js');
var upperFirst = require('../_chunks/dep-825f3fca.js');
require('../_chunks/dep-54373955.js');
require('../_chunks/dep-ef5bfcf1.js');
require('../_chunks/dep-0cf6dbad.js');
require('../_chunks/dep-cb9114ad.js');
require('../_chunks/dep-d7d7df54.js');
require('../_chunks/dep-615c149d.js');
require('../_chunks/dep-90a93885.js');
require('../_chunks/dep-a8d5081a.js');
require('../_chunks/dep-4748ebeb.js');
require('../_chunks/dep-0173c82c.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