UNPKG

react-bfm

Version:

A basic field / form manager for React using hooks

957 lines (877 loc) 52.2 kB
(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("react")); else if(typeof define === 'function' && define.amd) define(["react"], factory); else if(typeof exports === 'object') exports["ReactBFM"] = factory(require("react")); else root["ReactBFM"] = factory(root["React"]); })(self, (__WEBPACK_EXTERNAL_MODULE_react__) => { return /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "./build/constants/field-defaults.js" /*!*******************************************!*\ !*** ./build/constants/field-defaults.js ***! \*******************************************/ (__unused_webpack_module, exports) { "use strict"; exports.__esModule = true; exports.FIELD_DEFAULT_VALUE_ON_FOCUS = exports.FIELD_DEFAULT_VALUE = exports.FIELD_DEFAULT_VALID = exports.FIELD_DEFAULT_TOUCHED = exports.FIELD_DEFAULT_FOCUS = exports.FIELD_DEFAULT_ERROR = exports.FIELD_DEFAULT_DIRTY = exports.FIELD_DEFAULT_DEFAULT_VALUE_ERROR = exports.FIELD_DEFAULT_DEFAULT_VALUE = void 0; // default values for keys var FIELD_DEFAULT_DEFAULT_VALUE = exports.FIELD_DEFAULT_DEFAULT_VALUE = undefined; /** * @deprecated Will be removed in v3.0.0. This is an internal implementation detail. */ var FIELD_DEFAULT_DEFAULT_VALUE_ERROR = exports.FIELD_DEFAULT_DEFAULT_VALUE_ERROR = undefined; var FIELD_DEFAULT_DIRTY = exports.FIELD_DEFAULT_DIRTY = false; var FIELD_DEFAULT_ERROR = exports.FIELD_DEFAULT_ERROR = null; var FIELD_DEFAULT_FOCUS = exports.FIELD_DEFAULT_FOCUS = false; var FIELD_DEFAULT_TOUCHED = exports.FIELD_DEFAULT_TOUCHED = false; var FIELD_DEFAULT_VALID = exports.FIELD_DEFAULT_VALID = true; var FIELD_DEFAULT_VALUE = exports.FIELD_DEFAULT_VALUE = undefined; var FIELD_DEFAULT_VALUE_ON_FOCUS = exports.FIELD_DEFAULT_VALUE_ON_FOCUS = null; /***/ }, /***/ "./build/constants/field-keys.js" /*!***************************************!*\ !*** ./build/constants/field-keys.js ***! \***************************************/ (__unused_webpack_module, exports) { "use strict"; exports.__esModule = true; exports.FIELD_KEY_VALUE_ON_FOCUS = exports.FIELD_KEY_VALUE = exports.FIELD_KEY_VALID = exports.FIELD_KEY_TOUCHED = exports.FIELD_KEY_INITIAL_VALUE_ERROR = exports.FIELD_KEY_INITIAL_VALUE = exports.FIELD_KEY_FOCUS = exports.FIELD_KEY_ERROR = exports.FIELD_KEY_DIRTY = void 0; // keys var FIELD_KEY_INITIAL_VALUE = exports.FIELD_KEY_INITIAL_VALUE = 'initialValue'; /** * @deprecated Will be removed in v3.0.0. This is an internal implementation detail. */ var FIELD_KEY_INITIAL_VALUE_ERROR = exports.FIELD_KEY_INITIAL_VALUE_ERROR = 'initialValueError'; var FIELD_KEY_DIRTY = exports.FIELD_KEY_DIRTY = 'dirty'; var FIELD_KEY_ERROR = exports.FIELD_KEY_ERROR = 'error'; var FIELD_KEY_FOCUS = exports.FIELD_KEY_FOCUS = 'focus'; var FIELD_KEY_TOUCHED = exports.FIELD_KEY_TOUCHED = 'touched'; var FIELD_KEY_VALID = exports.FIELD_KEY_VALID = 'valid'; var FIELD_KEY_VALUE = exports.FIELD_KEY_VALUE = 'value'; var FIELD_KEY_VALUE_ON_FOCUS = exports.FIELD_KEY_VALUE_ON_FOCUS = 'valueOnFocus'; /***/ }, /***/ "./build/constants/state-defaults.js" /*!*******************************************!*\ !*** ./build/constants/state-defaults.js ***! \*******************************************/ (__unused_webpack_module, exports, __webpack_require__) { "use strict"; exports.__esModule = true; exports.NAMESPACE_STATE_DEFAULT = exports.FIELD_STATE_DEFAULT = void 0; var _fieldKeys = __webpack_require__(/*! ./field-keys */ "./build/constants/field-keys.js"); var _fieldDefaults = __webpack_require__(/*! ./field-defaults */ "./build/constants/field-defaults.js"); var _FIELD_STATE_DEFAULT; var FIELD_STATE_DEFAULT = exports.FIELD_STATE_DEFAULT = (_FIELD_STATE_DEFAULT = {}, _FIELD_STATE_DEFAULT[_fieldKeys.FIELD_KEY_ERROR] = _fieldDefaults.FIELD_DEFAULT_ERROR, _FIELD_STATE_DEFAULT[_fieldKeys.FIELD_KEY_VALID] = _fieldDefaults.FIELD_DEFAULT_VALID, _FIELD_STATE_DEFAULT[_fieldKeys.FIELD_KEY_VALUE] = _fieldDefaults.FIELD_DEFAULT_VALUE, _FIELD_STATE_DEFAULT[_fieldKeys.FIELD_KEY_DIRTY] = _fieldDefaults.FIELD_DEFAULT_DIRTY, _FIELD_STATE_DEFAULT[_fieldKeys.FIELD_KEY_FOCUS] = _fieldDefaults.FIELD_DEFAULT_FOCUS, _FIELD_STATE_DEFAULT[_fieldKeys.FIELD_KEY_TOUCHED] = _fieldDefaults.FIELD_DEFAULT_TOUCHED, _FIELD_STATE_DEFAULT[_fieldKeys.FIELD_KEY_VALUE_ON_FOCUS] = _fieldDefaults.FIELD_DEFAULT_VALUE_ON_FOCUS, _FIELD_STATE_DEFAULT[_fieldKeys.FIELD_KEY_INITIAL_VALUE] = _fieldDefaults.FIELD_DEFAULT_DEFAULT_VALUE, _FIELD_STATE_DEFAULT[_fieldKeys.FIELD_KEY_INITIAL_VALUE_ERROR] = _fieldDefaults.FIELD_DEFAULT_DEFAULT_VALUE_ERROR, _FIELD_STATE_DEFAULT); Object.freeze(FIELD_STATE_DEFAULT); var NAMESPACE_STATE_DEFAULT = exports.NAMESPACE_STATE_DEFAULT = {}; Object.freeze(NAMESPACE_STATE_DEFAULT); /***/ }, /***/ "./build/context.js" /*!**************************!*\ !*** ./build/context.js ***! \**************************/ (__unused_webpack_module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]); exports.__esModule = true; exports.BFMHooksContext = void 0; var _extends4 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "./node_modules/@babel/runtime/helpers/extends.js")); var _react = __webpack_require__(/*! react */ "react"); var _helpers = __webpack_require__(/*! ./helpers */ "./build/helpers.js"); var _state = __webpack_require__(/*! ./state */ "./build/state.js"); var _fieldKeys = __webpack_require__(/*! ./constants/field-keys */ "./build/constants/field-keys.js"); var focusField = function focusField(namespace, fieldName) { (0, _state.updateFieldStateWithCallback)(namespace, fieldName, function (currentState) { var _ref; return _ref = {}, _ref[_fieldKeys.FIELD_KEY_FOCUS] = true, _ref[_fieldKeys.FIELD_KEY_VALUE_ON_FOCUS] = currentState[_fieldKeys.FIELD_KEY_VALUE], _ref; }); }; var changeField = function changeField(namespace, fieldName, value, error, dirtyCheck) { if (dirtyCheck === void 0) { dirtyCheck = _helpers.defaultDirtyCheck; } (0, _state.updateFieldStateWithCallback)(namespace, fieldName, function (currentState) { var _extends2; return (0, _extends4["default"])((_extends2 = {}, _extends2[_fieldKeys.FIELD_KEY_DIRTY] = dirtyCheck(value, currentState[_fieldKeys.FIELD_KEY_VALUE_ON_FOCUS]), _extends2), (0, _helpers.mapFieldValueAndError)(value, error)); }); }; var blurField = function blurField(namespace, fieldName) { (0, _state.updateFieldStateWithCallback)(namespace, fieldName, function () { var _ref2; return _ref2 = {}, _ref2[_fieldKeys.FIELD_KEY_FOCUS] = false, _ref2[_fieldKeys.FIELD_KEY_TOUCHED] = true, _ref2[_fieldKeys.FIELD_KEY_VALUE_ON_FOCUS] = null, _ref2; }); }; var initField = function initField(namespace, fieldName, value, error) { if (true) { if (!(0, _helpers.validateNamespace)(namespace)) { throw new Error('Expected string with a minimal length of 1 for `namespace`'); } if (!(0, _helpers.validateFieldName)(fieldName)) { throw new Error('Expected string with a minimal length of 1 for `fieldName`'); } } (0, _state.initFieldState)(namespace, fieldName, value, error); }; /** * sets initial value only when the field is not touched and not focused * this way you can still change the input value after first rendering */ var initialValueField = function initialValueField(namespace, fieldName, initialValue, error) { return (0, _state.updateFieldStateWithCallback)(namespace, fieldName, function (currentState) { var _extends3; // only update value and error when field is not touched and not focused var updateState = !currentState[_fieldKeys.FIELD_KEY_TOUCHED] && !currentState[_fieldKeys.FIELD_KEY_FOCUS] && currentState[_fieldKeys.FIELD_KEY_VALUE] !== initialValue ? (0, _helpers.mapFieldValueAndError)(initialValue, error) : {}; // update error if value is still default if (currentState[_fieldKeys.FIELD_KEY_VALUE] === initialValue && currentState[_fieldKeys.FIELD_KEY_ERROR] !== error) { updateState.error = error; updateState.valid = !error; } return (0, _extends4["default"])({}, updateState, (_extends3 = {}, _extends3[_fieldKeys.FIELD_KEY_INITIAL_VALUE] = initialValue, _extends3[_fieldKeys.FIELD_KEY_INITIAL_VALUE_ERROR] = error, _extends3)); }); }; /** * @deprecated Will be removed in v3.0.0. This is an internal implementation detail and should not be used directly. */ var BFMHooksContext = exports.BFMHooksContext = (0, _react.createContext)({ blurField: blurField, changeField: changeField, initialValueField: initialValueField, focusField: focusField, getFieldState: _state.getFieldState, getNamespaceState: _state.getNamespaceState, initField: initField, removeField: _state.removeField, createGetSnapshotFieldState: _state.createGetSnapshotFieldState, createGetSnapshotNamespaceState: _state.createGetSnapshotNamespaceState, createSubscribeToField: _state.createSubscribeToField, createSubscribeToNamespace: _state.createSubscribeToNamespace }); /***/ }, /***/ "./build/field/actions.js" /*!********************************!*\ !*** ./build/field/actions.js ***! \********************************/ (__unused_webpack_module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]); exports.__esModule = true; exports.resetField = exports.clearField = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "./node_modules/@babel/runtime/helpers/extends.js")); var _helpers = __webpack_require__(/*! ../helpers */ "./build/helpers.js"); var _state = __webpack_require__(/*! ../state */ "./build/state.js"); var _stateDefaults = __webpack_require__(/*! ../constants/state-defaults */ "./build/constants/state-defaults.js"); var _fieldDefaults = __webpack_require__(/*! ../constants/field-defaults */ "./build/constants/field-defaults.js"); var _fieldKeys = __webpack_require__(/*! ../constants/field-keys */ "./build/constants/field-keys.js"); /** * Reset field, but ignoring initial value */ var clearField = exports.clearField = function clearField(namespace, fieldName) { (0, _state.updateFieldStateWithCallback)(namespace, fieldName, function () { return (0, _extends2["default"])({}, _stateDefaults.FIELD_STATE_DEFAULT, (0, _helpers.mapFieldValueAndError)(_fieldDefaults.FIELD_DEFAULT_VALUE, _fieldDefaults.FIELD_DEFAULT_ERROR)); }); }; /** * Reset field to default state and setting last provided initial value */ var resetField = exports.resetField = function resetField(namespace, fieldName) { (0, _state.updateFieldStateWithCallback)(namespace, fieldName, function (currentState) { var _currentState$FIELD_K; return (0, _extends2["default"])({}, _stateDefaults.FIELD_STATE_DEFAULT, (0, _helpers.mapFieldValueAndError)((_currentState$FIELD_K = currentState[_fieldKeys.FIELD_KEY_INITIAL_VALUE]) != null ? _currentState$FIELD_K : _fieldDefaults.FIELD_DEFAULT_VALUE, currentState[_fieldKeys.FIELD_KEY_INITIAL_VALUE_ERROR])); }); }; /***/ }, /***/ "./build/field/getters.js" /*!********************************!*\ !*** ./build/field/getters.js ***! \********************************/ (__unused_webpack_module, exports, __webpack_require__) { "use strict"; exports.__esModule = true; exports.isFieldValid = exports.isFieldTouched = exports.isFieldDirty = exports.hasFieldFocus = exports.getFieldValueOnFocus = exports.getFieldValue = exports.getFieldInitialValue = exports.getFieldError = void 0; var _state = __webpack_require__(/*! ../state */ "./build/state.js"); var _fieldKeys = __webpack_require__(/*! ../constants/field-keys */ "./build/constants/field-keys.js"); var getFieldError = exports.getFieldError = function getFieldError(namespace, fieldName) { var fieldState = (0, _state.getFieldState)(namespace, fieldName); return fieldState == null ? void 0 : fieldState[_fieldKeys.FIELD_KEY_ERROR]; }; var getFieldValue = exports.getFieldValue = function getFieldValue(namespace, fieldName) { var fieldState = (0, _state.getFieldState)(namespace, fieldName); return fieldState == null ? void 0 : fieldState[_fieldKeys.FIELD_KEY_VALUE]; }; var getFieldInitialValue = exports.getFieldInitialValue = function getFieldInitialValue(namespace, fieldName) { var fieldState = (0, _state.getFieldState)(namespace, fieldName); return fieldState == null ? void 0 : fieldState[_fieldKeys.FIELD_KEY_INITIAL_VALUE]; }; var getFieldValueOnFocus = exports.getFieldValueOnFocus = function getFieldValueOnFocus(namespace, fieldName) { var fieldState = (0, _state.getFieldState)(namespace, fieldName); return fieldState == null ? void 0 : fieldState[_fieldKeys.FIELD_KEY_VALUE_ON_FOCUS]; }; var hasFieldFocus = exports.hasFieldFocus = function hasFieldFocus(namespace, fieldName) { var fieldState = (0, _state.getFieldState)(namespace, fieldName); return (fieldState == null ? void 0 : fieldState[_fieldKeys.FIELD_KEY_FOCUS]) || false; }; var isFieldDirty = exports.isFieldDirty = function isFieldDirty(namespace, fieldName) { var fieldState = (0, _state.getFieldState)(namespace, fieldName); return (fieldState == null ? void 0 : fieldState[_fieldKeys.FIELD_KEY_DIRTY]) || false; }; var isFieldTouched = exports.isFieldTouched = function isFieldTouched(namespace, fieldName) { var fieldState = (0, _state.getFieldState)(namespace, fieldName); return (fieldState == null ? void 0 : fieldState[_fieldKeys.FIELD_KEY_TOUCHED]) || false; }; var isFieldValid = exports.isFieldValid = function isFieldValid(namespace, fieldName) { var fieldState = (0, _state.getFieldState)(namespace, fieldName); return (fieldState == null ? void 0 : fieldState[_fieldKeys.FIELD_KEY_VALID]) || false; }; /***/ }, /***/ "./build/field/hooks.js" /*!******************************!*\ !*** ./build/field/hooks.js ***! \******************************/ (__unused_webpack_module, exports, __webpack_require__) { "use strict"; exports.__esModule = true; exports.useFieldValueOnFocus = exports.useFieldValue = exports.useFieldState = exports.useFieldIsValid = exports.useFieldIsTouched = exports.useFieldIsDirty = exports.useFieldHasFocus = exports.useFieldError = void 0; var _react = __webpack_require__(/*! react */ "react"); var _context = __webpack_require__(/*! ../context */ "./build/context.js"); var _helpers = __webpack_require__(/*! ../helpers */ "./build/helpers.js"); var _fieldKeys = __webpack_require__(/*! ../constants/field-keys */ "./build/constants/field-keys.js"); var getServerSnapshot = function getServerSnapshot() { return undefined; }; var useFieldState = exports.useFieldState = function useFieldState(namespace, fieldName) { if (true) { if (!(0, _helpers.validateNamespace)(namespace)) { throw new Error('Expected string with a minimal length of 1 for `namespace`'); } if (!(0, _helpers.validateFieldName)(fieldName)) { throw new Error('Expected string with a minimal length of 1 for `fieldName`'); } } var _useContext = (0, _react.useContext)(_context.BFMHooksContext), createSubscribeToField = _useContext.createSubscribeToField, createGetSnapshotFieldState = _useContext.createGetSnapshotFieldState; var subscribe = (0, _react.useMemo)(function () { return createSubscribeToField(namespace, fieldName); }, [createSubscribeToField, fieldName, namespace]); var getSnapshot = (0, _react.useMemo)(function () { return createGetSnapshotFieldState(namespace, fieldName); }, [createGetSnapshotFieldState, fieldName, namespace]); return (0, _react.useSyncExternalStore)(subscribe, getSnapshot, getServerSnapshot); }; var useFieldError = exports.useFieldError = function useFieldError(namespace, fieldName) { var fieldState = useFieldState(namespace, fieldName); return fieldState == null ? void 0 : fieldState[_fieldKeys.FIELD_KEY_ERROR]; }; var useFieldHasFocus = exports.useFieldHasFocus = function useFieldHasFocus(namespace, fieldName) { var fieldState = useFieldState(namespace, fieldName); return fieldState == null ? void 0 : fieldState[_fieldKeys.FIELD_KEY_FOCUS]; }; var useFieldIsDirty = exports.useFieldIsDirty = function useFieldIsDirty(namespace, fieldName) { var fieldState = useFieldState(namespace, fieldName); return fieldState == null ? void 0 : fieldState[_fieldKeys.FIELD_KEY_DIRTY]; }; var useFieldIsTouched = exports.useFieldIsTouched = function useFieldIsTouched(namespace, fieldName) { var fieldState = useFieldState(namespace, fieldName); return fieldState == null ? void 0 : fieldState[_fieldKeys.FIELD_KEY_TOUCHED]; }; var useFieldIsValid = exports.useFieldIsValid = function useFieldIsValid(namespace, fieldName) { var fieldState = useFieldState(namespace, fieldName); return fieldState == null ? void 0 : fieldState[_fieldKeys.FIELD_KEY_VALID]; }; var useFieldValue = exports.useFieldValue = function useFieldValue(namespace, fieldName) { var fieldState = useFieldState(namespace, fieldName); return fieldState == null ? void 0 : fieldState[_fieldKeys.FIELD_KEY_VALUE]; }; var useFieldValueOnFocus = exports.useFieldValueOnFocus = function useFieldValueOnFocus(namespace, fieldName) { var fieldState = useFieldState(namespace, fieldName); return fieldState == null ? void 0 : fieldState[_fieldKeys.FIELD_KEY_VALUE_ON_FOCUS]; }; /***/ }, /***/ "./build/helpers.js" /*!**************************!*\ !*** ./build/helpers.js ***! \**************************/ (__unused_webpack_module, exports, __webpack_require__) { "use strict"; exports.__esModule = true; exports.validateNamespace = exports.validateFieldName = exports.mapFieldValueAndError = exports.defaultValueToInput = exports.defaultEventToValue = exports.defaultDirtyCheck = exports.checkedEventToValue = void 0; var _fieldKeys = __webpack_require__(/*! ./constants/field-keys */ "./build/constants/field-keys.js"); var _fieldDefaults = __webpack_require__(/*! ./constants/field-defaults */ "./build/constants/field-defaults.js"); var checkedEventToValue = exports.checkedEventToValue = function checkedEventToValue(event) { var _event$target; return event == null || (_event$target = event.target) == null ? void 0 : _event$target.checked; }; var defaultEventToValue = exports.defaultEventToValue = function defaultEventToValue(event) { var _event$target2; return event == null || (_event$target2 = event.target) == null ? void 0 : _event$target2.value; }; var defaultDirtyCheck = exports.defaultDirtyCheck = function defaultDirtyCheck(newValue, valueOnFocus) { return newValue !== valueOnFocus; }; var defaultValueToInput = exports.defaultValueToInput = function defaultValueToInput(value) { return value !== undefined ? value : ''; }; /** * @deprecated Will be removed in v3.0.0. This is an internal implementation detail. */ var mapFieldValueAndError = exports.mapFieldValueAndError = function mapFieldValueAndError(value, error) { var _ref; return _ref = {}, _ref[_fieldKeys.FIELD_KEY_ERROR] = error || _fieldDefaults.FIELD_DEFAULT_ERROR, _ref[_fieldKeys.FIELD_KEY_VALID] = !error, _ref[_fieldKeys.FIELD_KEY_VALUE] = value, _ref; }; var validateFieldName = exports.validateFieldName = function validateFieldName(fieldName) { return (fieldName == null ? void 0 : fieldName.length) > 0; }; var validateNamespace = exports.validateNamespace = function validateNamespace(namespace) { return (namespace == null ? void 0 : namespace.length) > 0; }; /***/ }, /***/ "./build/namespace/actions.js" /*!************************************!*\ !*** ./build/namespace/actions.js ***! \************************************/ (__unused_webpack_module, exports, __webpack_require__) { "use strict"; exports.__esModule = true; exports.resetNamespace = exports.clearNamespace = void 0; var _actions = __webpack_require__(/*! ../field/actions */ "./build/field/actions.js"); var _state = __webpack_require__(/*! ../state */ "./build/state.js"); /** * Reset namespace, but ignoring the initial values of the fields */ var clearNamespace = exports.clearNamespace = function clearNamespace(namespace) { var fieldNames = Object.keys((0, _state.getNamespaceState)(namespace) || {}); fieldNames.forEach(function (fieldName) { (0, _actions.clearField)(namespace, fieldName); }); }; /** * Reset namespace to default state and setting last provided initial value per field */ var resetNamespace = exports.resetNamespace = function resetNamespace(namespace) { var fieldNames = Object.keys((0, _state.getNamespaceState)(namespace) || {}); fieldNames.forEach(function (fieldName) { (0, _actions.resetField)(namespace, fieldName); }); }; /***/ }, /***/ "./build/namespace/getters.js" /*!************************************!*\ !*** ./build/namespace/getters.js ***! \************************************/ (__unused_webpack_module, exports, __webpack_require__) { "use strict"; exports.__esModule = true; exports.isNamespaceValid = exports.isNamespaceTouched = exports.isNamespaceDirty = exports.hasNamespaceFocus = exports.getNamespaceValuesOnFocus = exports.getNamespaceValues = exports.getNamespaceKeyValues = exports.getNamespaceKeyIsSome = exports.getNamespaceKeyIsEvery = exports.getNamespaceInitialValues = exports.getNamespaceErrors = void 0; var _state = __webpack_require__(/*! ../state */ "./build/state.js"); var _fieldKeys = __webpack_require__(/*! ../constants/field-keys */ "./build/constants/field-keys.js"); var getNamespaceKeyValues = exports.getNamespaceKeyValues = function getNamespaceKeyValues(namespace, key) { var namespaceState = (0, _state.getNamespaceState)(namespace); return namespaceState && Object.entries(namespaceState).reduce(function (values, _ref) { var fieldName = _ref[0], fieldState = _ref[1]; values[fieldName] = fieldState[key]; return values; }, {}); }; var getNamespaceKeyIsEvery = exports.getNamespaceKeyIsEvery = function getNamespaceKeyIsEvery(namespace, key) { var namespaceState = (0, _state.getNamespaceState)(namespace); return namespaceState && Object.values(namespaceState).every(function (fieldState) { return fieldState[key] || false; }); }; var getNamespaceKeyIsSome = exports.getNamespaceKeyIsSome = function getNamespaceKeyIsSome(namespace, key) { var namespaceState = (0, _state.getNamespaceState)(namespace); return namespaceState && Object.values(namespaceState).some(function (fieldState) { return fieldState[key] || false; }); }; var getNamespaceInitialValues = exports.getNamespaceInitialValues = function getNamespaceInitialValues(namespace) { return getNamespaceKeyValues(namespace, _fieldKeys.FIELD_KEY_INITIAL_VALUE); }; var getNamespaceErrors = exports.getNamespaceErrors = function getNamespaceErrors(namespace) { return getNamespaceKeyValues(namespace, _fieldKeys.FIELD_KEY_ERROR); }; var getNamespaceValues = exports.getNamespaceValues = function getNamespaceValues(namespace) { return getNamespaceKeyValues(namespace, _fieldKeys.FIELD_KEY_VALUE); }; var getNamespaceValuesOnFocus = exports.getNamespaceValuesOnFocus = function getNamespaceValuesOnFocus(namespace) { return getNamespaceKeyValues(namespace, _fieldKeys.FIELD_KEY_VALUE_ON_FOCUS); }; var hasNamespaceFocus = exports.hasNamespaceFocus = function hasNamespaceFocus(namespace) { return getNamespaceKeyIsSome(namespace, _fieldKeys.FIELD_KEY_FOCUS); }; var isNamespaceDirty = exports.isNamespaceDirty = function isNamespaceDirty(namespace) { return getNamespaceKeyIsSome(namespace, _fieldKeys.FIELD_KEY_DIRTY); }; var isNamespaceTouched = exports.isNamespaceTouched = function isNamespaceTouched(namespace) { return getNamespaceKeyIsSome(namespace, _fieldKeys.FIELD_KEY_TOUCHED); }; var isNamespaceValid = exports.isNamespaceValid = function isNamespaceValid(namespace) { return getNamespaceKeyIsEvery(namespace, _fieldKeys.FIELD_KEY_VALID); }; /***/ }, /***/ "./build/namespace/hooks.js" /*!**********************************!*\ !*** ./build/namespace/hooks.js ***! \**********************************/ (__unused_webpack_module, exports, __webpack_require__) { "use strict"; exports.__esModule = true; exports.useNamespaceValuesOnFocus = exports.useNamespaceValues = exports.useNamespaceState = exports.useNamespaceKeyValues = exports.useNamespaceKeyIsSome = exports.useNamespaceKeyIsEvery = exports.useNamespaceIsValid = exports.useNamespaceIsTouched = exports.useNamespaceIsDirty = exports.useNamespaceHasFocus = exports.useNamespaceErrors = void 0; var _react = __webpack_require__(/*! react */ "react"); var _context = __webpack_require__(/*! ../context */ "./build/context.js"); var _helpers = __webpack_require__(/*! ../helpers */ "./build/helpers.js"); var _fieldKeys = __webpack_require__(/*! ../constants/field-keys */ "./build/constants/field-keys.js"); var _stateDefaults = __webpack_require__(/*! ../constants/state-defaults */ "./build/constants/state-defaults.js"); var getServerSnapshot = function getServerSnapshot() { return undefined; }; var useNamespaceState = exports.useNamespaceState = function useNamespaceState(namespace) { if (true) { if (!(0, _helpers.validateNamespace)(namespace)) { throw new Error('Expected string with a minimal length of 1 for `namespace`'); } } var _useContext = (0, _react.useContext)(_context.BFMHooksContext), createSubscribeToNamespace = _useContext.createSubscribeToNamespace, createGetSnapshotNamespaceState = _useContext.createGetSnapshotNamespaceState; var subscribe = (0, _react.useMemo)(function () { return createSubscribeToNamespace(namespace); }, [createSubscribeToNamespace, namespace]); var getSnapshot = (0, _react.useMemo)(function () { return createGetSnapshotNamespaceState(namespace); }, [createGetSnapshotNamespaceState, namespace]); return (0, _react.useSyncExternalStore)(subscribe, getSnapshot, getServerSnapshot); }; var useNamespaceKeyValues = exports.useNamespaceKeyValues = function useNamespaceKeyValues(namespace, key) { var namespaceState = useNamespaceState(namespace); return namespaceState && Object.entries(namespaceState).reduce(function (values, _ref) { var fieldName = _ref[0], fieldState = _ref[1]; values[fieldName] = fieldState[key]; return values; }, {}); }; var useNamespaceKeyIsEvery = exports.useNamespaceKeyIsEvery = function useNamespaceKeyIsEvery(namespace, key) { var namespaceState = useNamespaceState(namespace); return namespaceState && Object.values(namespaceState || _stateDefaults.NAMESPACE_STATE_DEFAULT).every(function (fieldState) { return fieldState[key] || false; }); }; var useNamespaceKeyIsSome = exports.useNamespaceKeyIsSome = function useNamespaceKeyIsSome(namespace, key) { var namespaceState = useNamespaceState(namespace); return namespaceState && Object.values(namespaceState || _stateDefaults.NAMESPACE_STATE_DEFAULT).some(function (fieldState) { return fieldState[key] || false; }); }; /** * Error values reflect the stored field error; falsy errors are normalized when mapped into field state. */ var useNamespaceErrors = exports.useNamespaceErrors = function useNamespaceErrors(namespace) { return useNamespaceKeyValues(namespace, _fieldKeys.FIELD_KEY_ERROR); }; var useNamespaceHasFocus = exports.useNamespaceHasFocus = function useNamespaceHasFocus(namespace) { return useNamespaceKeyIsSome(namespace, _fieldKeys.FIELD_KEY_FOCUS); }; var useNamespaceIsDirty = exports.useNamespaceIsDirty = function useNamespaceIsDirty(namespace) { return useNamespaceKeyIsSome(namespace, _fieldKeys.FIELD_KEY_DIRTY); }; var useNamespaceIsTouched = exports.useNamespaceIsTouched = function useNamespaceIsTouched(namespace) { return useNamespaceKeyIsSome(namespace, _fieldKeys.FIELD_KEY_TOUCHED); }; var useNamespaceIsValid = exports.useNamespaceIsValid = function useNamespaceIsValid(namespace) { return useNamespaceKeyIsEvery(namespace, _fieldKeys.FIELD_KEY_VALID); }; var useNamespaceValues = exports.useNamespaceValues = function useNamespaceValues(namespace) { return useNamespaceKeyValues(namespace, _fieldKeys.FIELD_KEY_VALUE); }; var useNamespaceValuesOnFocus = exports.useNamespaceValuesOnFocus = function useNamespaceValuesOnFocus(namespace) { return useNamespaceKeyValues(namespace, _fieldKeys.FIELD_KEY_VALUE_ON_FOCUS); }; /***/ }, /***/ "./build/state.js" /*!************************!*\ !*** ./build/state.js ***! \************************/ (__unused_webpack_module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]); exports.__esModule = true; exports.updateFieldStateWithCallback = exports.removeField = exports.initFieldState = exports.getNamespaceState = exports.getFieldState = exports.createSubscribeToNamespace = exports.createSubscribeToField = exports.createGetSnapshotNamespaceState = exports.createGetSnapshotFieldState = void 0; var _extends4 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "./node_modules/@babel/runtime/helpers/extends.js")); var _stateDefaults = __webpack_require__(/*! ./constants/state-defaults */ "./build/constants/state-defaults.js"); var _helpers = __webpack_require__(/*! ./helpers */ "./build/helpers.js"); var stateCreator = function stateCreator() { var state = {}; var subscribers = {}; var idCounter = 0; var getFieldState = function getFieldState(namespace, fieldName) { var _state$namespace; return (_state$namespace = state[namespace]) == null ? void 0 : _state$namespace[fieldName]; }; var getNamespaceState = function getNamespaceState(namespace) { return state[namespace]; }; var createGetSnapshotFieldState = function createGetSnapshotFieldState(namespace, fieldName) { return function () { return getFieldState(namespace, fieldName); }; }; var createGetSnapshotNamespaceState = function createGetSnapshotNamespaceState(namespace) { return function () { return getNamespaceState(namespace); }; }; var subscribe = function subscribe(listener, namespace, fieldName) { if (!subscribers[namespace]) { subscribers[namespace] = new Map(); } var id = ++idCounter; subscribers[namespace].set(id, { listener: listener, fieldName: fieldName }); return function () { if (subscribers[namespace] && subscribers[namespace].has(id)) { subscribers[namespace]["delete"](id); if (subscribers[namespace].size === 0) { delete subscribers[namespace]; } } }; }; var createSubscribeToField = function createSubscribeToField(namespace, fieldName) { return function (listener) { return subscribe(listener, namespace, fieldName); }; }; var createSubscribeToNamespace = function createSubscribeToNamespace(namespace) { return function (listener) { return subscribe(listener, namespace); }; }; var triggerSubscribers = function triggerSubscribers(namespace, _fieldName) { var namespaceSubscribers = subscribers[namespace]; if (namespaceSubscribers) { namespaceSubscribers.forEach(function (_ref) { var listener = _ref.listener, fieldName = _ref.fieldName; if (!fieldName) { listener(); } if (fieldName === _fieldName) { listener(); } }); } }; var initFieldState = function initFieldState(namespace, fieldName, value, error) { var _extends2; state[namespace] = (0, _extends4["default"])({}, state[namespace], (_extends2 = {}, _extends2[fieldName] = (0, _extends4["default"])({}, _stateDefaults.FIELD_STATE_DEFAULT, (0, _helpers.mapFieldValueAndError)(value, error)), _extends2)); triggerSubscribers(namespace, fieldName); }; var updateFieldStateWithCallback = function updateFieldStateWithCallback(namespace, fieldName, callback) { var currentFieldState = getFieldState(namespace, fieldName); if (currentFieldState) { var update = callback(currentFieldState); if (update && typeof update === 'object') { var _extends3; state[namespace] = (0, _extends4["default"])({}, state[namespace], (_extends3 = {}, _extends3[fieldName] = (0, _extends4["default"])({}, currentFieldState, update), _extends3)); triggerSubscribers(namespace, fieldName); } } }; var removeField = function removeField(namespace, fieldName) { var _state$namespace2; if ((_state$namespace2 = state[namespace]) != null && _state$namespace2[fieldName]) { delete state[namespace][fieldName]; // immutable state state[namespace] = (0, _extends4["default"])({}, state[namespace]); if (Object.keys(state[namespace]).length === 0) { delete state[namespace]; } triggerSubscribers(namespace, fieldName); } }; return { getFieldState: getFieldState, getNamespaceState: getNamespaceState, initFieldState: initFieldState, removeField: removeField, createGetSnapshotFieldState: createGetSnapshotFieldState, createGetSnapshotNamespaceState: createGetSnapshotNamespaceState, createSubscribeToField: createSubscribeToField, createSubscribeToNamespace: createSubscribeToNamespace, updateFieldStateWithCallback: updateFieldStateWithCallback }; }; var _stateCreator = stateCreator(), getFieldState = exports.getFieldState = _stateCreator.getFieldState, getNamespaceState = exports.getNamespaceState = _stateCreator.getNamespaceState, initFieldState = exports.initFieldState = _stateCreator.initFieldState, removeField = exports.removeField = _stateCreator.removeField, createGetSnapshotFieldState = exports.createGetSnapshotFieldState = _stateCreator.createGetSnapshotFieldState, createGetSnapshotNamespaceState = exports.createGetSnapshotNamespaceState = _stateCreator.createGetSnapshotNamespaceState, createSubscribeToField = exports.createSubscribeToField = _stateCreator.createSubscribeToField, createSubscribeToNamespace = exports.createSubscribeToNamespace = _stateCreator.createSubscribeToNamespace, updateFieldStateWithCallback = exports.updateFieldStateWithCallback = _stateCreator.updateFieldStateWithCallback; /***/ }, /***/ "./build/use-connect-field.js" /*!************************************!*\ !*** ./build/use-connect-field.js ***! \************************************/ (__unused_webpack_module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = (__webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]); exports.__esModule = true; exports.useConnectField = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "./node_modules/@babel/runtime/helpers/extends.js")); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js")); var _react = __webpack_require__(/*! react */ "react"); var _context = __webpack_require__(/*! ./context */ "./build/context.js"); var _helpers = __webpack_require__(/*! ./helpers */ "./build/helpers.js"); var _hooks = __webpack_require__(/*! ./field/hooks */ "./build/field/hooks.js"); var _excluded = ["validator", "dirtyCheck", "transformValueToInput", "transformEventToValue", "onChange", "onFocus", "onBlur"], _excluded2 = ["namespace", "fieldName", "initialValue"]; var useConnectField = exports.useConnectField = function useConnectField(props) { var _useContext = (0, _react.useContext)(_context.BFMHooksContext), blurField = _useContext.blurField, changeField = _useContext.changeField, initialValueField = _useContext.initialValueField, focusField = _useContext.focusField, initField = _useContext.initField, removeField = _useContext.removeField; var validator = props.validator, dirtyCheck = props.dirtyCheck, _props$transformValue = props.transformValueToInput, transformValueToInput = _props$transformValue === void 0 ? _helpers.defaultValueToInput : _props$transformValue, transformEventToValue = props.transformEventToValue, onChange = props.onChange, onFocus = props.onFocus, onBlur = props.onBlur, staticProps = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded); // For storing static props see bellow. var propsRef = (0, _react.useRef)(staticProps); // Hook specific props. var namespace = staticProps.namespace, fieldName = staticProps.fieldName, initialValue = staticProps.initialValue, otherProps = (0, _objectWithoutPropertiesLoose2["default"])(staticProps, _excluded2); // Throw an error if namespace and/or fieldName changes after first rendering, because it's not supported // Dynamically changing these values can result in strange side effects. It's better to render a new component. var namesRef = (0, _react.useRef)({ namespace: namespace, fieldName: fieldName }); (0, _react.useEffect)(function () { if (namesRef.current.namespace !== namespace || namesRef.current.fieldName !== fieldName) { throw new Error('Changing the namespace and/or fieldName of an already rendered component is not supported.'); } }, [namespace, fieldName]); // Store static props for use in the validator callback. // This way you can (re-)use for example: required, minlength, maxlength, etc. in the validator // eslint-disable-next-line react-hooks/refs -- Intentional: avoid recreating getError on every render propsRef.current = staticProps; var getError = (0, _react.useCallback)(function (_value) { return validator && validator(_value, propsRef.current); }, [validator]); var value = (0, _hooks.useFieldValue)(namespace, fieldName); (0, _react.useEffect)(function () { // init field on mount initField(namespace, fieldName, initialValue, getError(initialValue)); // remove field on unmount return function () { removeField(namespace, fieldName); }; }, []); // eslint-disable-line react-hooks/exhaustive-deps // update initialValue on change, see `initialValueField` function for more info (0, _react.useEffect)(function () { initialValueField(namesRef.current.namespace, namesRef.current.fieldName, initialValue, getError(initialValue)); }, [initialValueField, getError, initialValue]); var handleFocus = (0, _react.useCallback)(function (event) { focusField(namesRef.current.namespace, namesRef.current.fieldName); if (onFocus) { onFocus(event); } }, [onFocus, focusField]); var handleChange = (0, _react.useCallback)(function (arg1, arg2, arg3, arg4, arg5) { var value = transformEventToValue ? transformEventToValue(arg1, arg2, arg3, arg4, arg5) : (0, _helpers.defaultEventToValue)(arg1); var error = getError(value); changeField(namesRef.current.namespace, namesRef.current.fieldName, value, error, dirtyCheck); if (onChange) { onChange(arg1, arg2, arg3, arg4, arg5); } }, [transformEventToValue, getError, changeField, dirtyCheck, onChange]); var handleBlur = (0, _react.useCallback)(function (event) { blurField(namesRef.current.namespace, namesRef.current.fieldName); if (onBlur) { onBlur(event); } }, [onBlur, blurField]); return (0, _extends2["default"])({}, otherProps, { value: transformValueToInput(value), onFocus: handleFocus, onChange: handleChange, onBlur: handleBlur }); }; /***/ }, /***/ "react" /*!**************************************************************************************!*\ !*** external {"root":"React","commonjs":"react","commonjs2":"react","amd":"react"} ***! \**************************************************************************************/ (module) { "use strict"; module.exports = __WEBPACK_EXTERNAL_MODULE_react__; /***/ }, /***/ "./node_modules/@babel/runtime/helpers/extends.js" /*!********************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/extends.js ***! \********************************************************/ (module) { function _extends() { return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, module.exports.__esModule = true, module.exports["default"] = module.exports, _extends.apply(null, arguments); } module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }, /***/ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js" /*!**********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/interopRequireDefault.js ***! \**********************************************************************/ (module) { function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }, /***/ "./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js" /*!*****************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js ***! \*****************************************************************************/ (module) { function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; } module.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ } /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Check if module exists (development only) /******/ if (__webpack_modules__[moduleId] === undefined) { /******/ var e = new Error("Cannot find module '" + moduleId + "'"); /******/ e.code = 'MODULE_NOT_FOUND'; /******/ throw e; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry needs to be wrapped in an IIFE because it needs to be in strict mode. (() => { "use strict"; var exports = __webpack_exports__; /*!************************!*\ !*** ./build/index.js ***! \************************/ exports.__esModule = true; exports.validateNamespace = exports.validateFieldName = exports.useNamespaceValuesOnFocus = exports.useNamespaceValues = exports.useNamespaceState = exports.useNamespaceKeyValues = exports.useNamespaceKeyIsSome = exports.useNamespaceKeyIsEvery = exports.useNamespaceIsValid = exports.useNamespaceIsTouched = exports.useNamespaceIsDirty = exports.useNamespaceHasFocus = exports.useNamespaceErrors = exports.useFieldValueOnFocus = exports.useFieldValue = exports.useFieldState = exports.useFieldIsValid = exports.useFieldIsTouched = exports.useFieldIsDirty = exports.useFieldHasFocus = exports.useFieldError = exports.useConnectField = exports.updateFieldStateWithCallback = exports.resetNamespace = exports.resetField = exports.removeField = exports.mapFieldValueAndError = exports.isNamespaceValid = exports.isNamespaceTouched = exports.isNamespaceDirty = exports.isFieldValid = exports.isFieldTouched = exports.isFieldDirty = exports.initFieldState = exports.hasNamespaceFocus = exports.hasFieldFocus = exports.getNamespaceValuesOnFocus = exports.getNamespaceValues = exports.getNamespaceState = exports.getNamespaceKeyValues = exports.getNamespaceKeyIsSome = exports.getNamespaceKeyIsEvery = exports.getNamespaceInitialValues = exports.getNamespaceErrors = exports.getFieldValueOnFocus = exports.getFieldValue = exports.getFieldState = exports.getFieldInitialValue = exports.getFieldError = exports.defaultValueToInput = exports.defaultEventToValue = exports.defaultDirtyCheck = exports.createSubscribeToNamespace = exports.createSubscribeToField = exports.createGetSnapshotNamespaceState = exports.createGetSnapshotFieldState = exports.clearNamespace = exports.clearField = exports.checkedEventToValue = exports.NAMESPACE_STATE_DEFAULT = exports.FIELD_STATE_DEFAULT = exports.FIELD_KEY_VALUE_ON_FOCUS = exports.FIELD_KEY_VALUE = exports.FIELD_KEY_VALID = exports.FIELD_KEY_TOUCHED = exports.FIELD_KEY_INITIAL_VALUE_ERROR = exports.FIELD_KEY_INITIAL_VALUE = exports.FIELD_KEY_FOCUS = exports.FIELD_KEY_ERROR = exports.FIELD_KEY_DIRTY = exports.FIELD_DEFAULT_VALUE_ON_FOCUS = exports.FIELD_DEFAULT_VALUE = exports.FIELD_DEFAULT_VALID = exports.FIELD_DEFAULT_TOUCHED = exports.FIELD_DEFAULT_FOCUS = exports.FIELD_DEFAULT_ERROR = exports.FIELD_DEFAULT_DIRTY = exports.FIELD_DEFAULT_DEFAULT_VALUE_ERROR = exports.FIELD_DEFAULT_DEFAULT_VALUE = exports.BFMHooksContext = void 0; var _context = __webpack_require__(/*! ./context */ "./build/context.js"); exports.BFMHooksContext = _context.BFMHooksContext; var _fieldKeys = __webpack_require__(/*! ./constants/field-keys */ "./build/constants/field-keys.js"); exports.FIELD_KEY_INITIAL_VALUE = _fieldKeys.FIELD_KEY_INITIAL_VALUE; exports.FIELD_KEY_INITIAL_VALUE_ERROR = _fieldKeys.FIELD_KEY_INITIAL_VALUE_ERROR; exports.FIELD_KEY_DIRTY = _fieldKeys.FIELD_KEY_DIRTY; exports.FIELD_KEY_ERROR = _fieldKeys.FIELD_KEY_ERROR; exports.FIELD_KEY_FOCUS = _fieldKeys.FIELD_KEY_FOCUS; exports.FIELD_KEY_TOUCHED = _fieldKeys.FIELD_KEY_TOUCHED; exports.FIELD_KEY_VALID = _fieldKeys.FIELD_KEY_VALID; exports.FIELD_KEY_VALUE = _fieldKeys.FIELD_KEY_VALUE; exports.FIELD_KEY_VALUE_ON_FOCUS = _fieldKeys.FIELD_KEY_VALUE_ON_FOCUS; var _fieldDefaults = __webpack_require__(/*! ./constants/field-defaults */ "./build/constants/field-defaults.js"); exports.FIELD_DEFAULT_DEFAULT_VALUE = _fieldDefaults.FIELD_DEFAULT_DEFAULT_VALUE; exports.FIELD_DEFAULT_DEFAULT_VALUE_ERROR = _fieldDefaults.FIELD_DEFAULT_DEFAULT_VALUE_ERROR; exports.FIELD_DEFAULT_DIRTY = _fieldDefaults.FIELD_DEFAULT_DIRTY; exports.FIELD_DEFAULT_ERROR = _fieldDefaults.FIELD_DEFAULT_ERROR; exports.FIELD_DEFAULT_FOCUS = _fieldDefaults.FIELD_DEFAULT_FOCUS; exports.FIELD_DEFAULT_TOUCHED = _fieldDefaults.FIELD_DEFAULT_TOUCHED; exports.FIELD_DEFAULT_VALID = _fieldDefaults.FIELD_DEFAULT_VALID; exports.FIELD_DEFAULT_VALUE = _fieldDefaults.FIELD_DEFAULT_VALUE; exports.FIELD_DEFAULT_VALUE_ON_FOCUS = _fieldDefaults.FIELD_DEFAULT_VALUE_ON_FOCUS; var _stateDefaults = __webpack_require__(/*! ./constants/state-defaults */ "./build/constants/state-defaults.js"); exports.FIELD_STATE_DEFAULT = _stateDefaults.FIELD_STATE_DEFAULT; exports.NAMESPACE_STATE_DEFAULT = _stateDefaults.NAMESPACE_STATE_DEFAULT; var _actions = __webpack_require__(/*! ./field/actions */ "./build/field/actions.js"); exports.clearField = _actions.clearField; exports.resetField = _actions.resetField; var _getters = __webpack_require__(/*! ./field/getters */ "./build/field/getters.js"); exports.getFieldInitialValue = _getters.getFieldInitialValue; exports.getFieldError = _getters.getFieldError; exports.getFieldValue = _getters.getFieldValue; exports.getFieldValueOnFocus = _getters.getFieldValueOnFocus; exports.hasFieldFocus = _getters.hasFieldFocus; exports.isFieldDirty = _getters.isFieldDirty; exports.isFieldTouched = _getters.isFieldTouched; exports.isFieldValid = _getters.isFieldValid; var _hooks = __webpack_require__(/*! ./field/hooks */ "./build/field/hooks.js"); exports.useFieldError = _hooks.useFieldError; exports.useFieldHasFocus = _hooks.useFieldHasFocus; exports.useFieldIsDirty = _hooks.useFieldIsDirty; exports.useFieldIsTouched = _hooks.useFieldIsTouched; exports.useFieldIsValid = _hooks.useFieldIsValid; exports.useFieldState = _hooks.useFieldState; exports.useFieldValue = _hooks.useFieldValue; exports.useFieldValueOnFocus = _hooks.useFieldValueOnFocus; var _helpers = __webpack_require__(/*! ./helpers */ "./build/helpers.js"); exports.checkedEventToValue = _helpers.checkedEventToValue; exports.defaultDirtyCheck = _helpers.defaultDirtyCheck; exports.defaultEventToValue = _helpers.defaultEventToValue; exports.defaultValueToInput = _helpers.defaultValueToInput; exports.mapFieldValueAndError = _helpers.mapFieldValueAndError; exports.validateFieldName = _helpers.validateFieldName; exports.validateNamespace = _helpers.validateNamespace; var _actions2 = __webpack_require__(/*! ./namespace/actions */ "./build/namespace/actions.js"); exports.clearNamespace = _actions2.clearNamespace; exports.resetNamespace = _actions2.resetNamespace; var _hooks2 = __webpack_require__(/*! ./namespace/hooks */ "./build/namespace/hooks.js"); exports.useNamespaceErrors = _hooks2.useNamespaceErrors; exports.useNamespace