UNPKG

@wix/design-system

Version:

@wix/design-system

48 lines (47 loc) 1.84 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.useLinkedMode = void 0; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = require("react"); var useLinkedMode = _ref => { var _ref$initial = _ref.initial, initial = _ref$initial === void 0 ? true : _ref$initial, onChangeCallbacks = _ref.onChangeCallbacks, onInvalidCallbacks = _ref.onInvalidCallbacks, onBlurCallbacks = _ref.onBlurCallbacks; var _useState = (0, _react.useState)(initial), _useState2 = (0, _slicedToArray2.default)(_useState, 2), isLinkingEnabled = _useState2[0], setLinking = _useState2[1]; var _useState3 = (0, _react.useState)(false), _useState4 = (0, _slicedToArray2.default)(_useState3, 2), isDirty = _useState4[0], setIsDirty = _useState4[1]; var linkedOnChange = function linkedOnChange() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } onChangeCallbacks.forEach(onChange => onChange == null ? void 0 : onChange(...args)); setIsDirty(true); }; var linkedOnInvalid = function linkedOnInvalid() { for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } onInvalidCallbacks.forEach(onInvalid => onInvalid == null ? void 0 : onInvalid(...args)); setIsDirty(true); }; var linkedOnBlur = () => { isDirty && onBlurCallbacks.forEach(onBlur => onBlur()); setIsDirty(false); }; return [{ linkedOnChange, linkedOnInvalid, linkedOnBlur, isLinkingEnabled }, setLinking]; }; exports.useLinkedMode = useLinkedMode; //# sourceMappingURL=useLinkedMode.js.map