{"version":3,"file":"index.es-BC9jEJpO.js","sources":["../../../node_modules/react-use-form-state/dist/index.es.js"],"sourcesContent":["import { useCallback, useRef, useReducer } from 'react';\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nfunction _toPropertyKey(key) {\n if (typeof key === \"symbol\") {\n return key;\n } else {\n return String(key);\n }\n}\n\n/**\n * Returns a function that can be called with an object. The return value of the\n * new function is a copy of the object excluding the key passed initially.\n */\nfunction omit(key) {\n return function (object) {\n var toRemove = object[key],\n rest = _objectWithoutProperties(object, [key].map(_toPropertyKey));\n\n return rest;\n };\n}\n/**\n * An empty function. It does nothing.\n */\n\nfunction noop() {}\n/**\n * Like `noop`, but passes through the first argument.\n */\n\nfunction identity(val) {\n return val;\n}\n/**\n * Cast non-string values to a string, with the exception of functions, symbols,\n * and undefined.\n */\n\nfunction toString(value) {\n switch (_typeof(value)) {\n case 'function':\n case 'symbol':\n case 'undefined':\n return '';\n\n default:\n return '' + value;\n // eslint-disable-line prefer-template\n }\n}\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nvar objectToString = function objectToString(value) {\n return Object.prototype.toString.call(value);\n};\n/**\n * Determines if a value is an empty collection (object, array, string, map, set)\n * @note this returns false for anything else.\n */\n\n\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n\n if (Array.isArray(value) || typeof value === 'string') {\n return !value.length;\n }\n\n if (objectToString(value) === '[object Map]' || objectToString(value) === '[object Set]') {\n return !value.size;\n }\n\n if (objectToString(value) === '[object Object]') {\n return !Object.keys(value).length;\n }\n\n return false;\n}\n\nvar defaultInputOptions = {\n onChange: identity,\n onBlur: noop,\n validate: null,\n validateOnBlur: undefined,\n touchOnChange: false\n};\nfunction parseInputArgs(args) {\n var name;\n var ownValue;\n var options;\n\n if (typeof args[0] === 'string' || typeof args[0] === 'number') {\n var _args = _slicedToArray(args, 2);\n\n name = _args[0];\n ownValue = _args[1];\n } else {\n var _args2 = _slicedToArray(args, 1);\n\n var _args2$ = _args2[0];\n name = _args2$.name;\n ownValue = _args2$.value;\n options = _objectWithoutProperties(_args2$, [\"name\", \"value\"]);\n }\n\n return _objectSpread({\n name: name,\n ownValue: ownValue\n }, defaultInputOptions, options);\n}\n\nvar defaultCreateId = function defaultCreateId(name, value) {\n return ['__ufs', name, value].filter(Boolean).join('__');\n};\n\nfunction useInputId(implementation) {\n var getId = useCallback(function (name, ownValue) {\n var createId;\n\n if (!implementation) {\n createId = noop;\n } else if (isFunction(implementation)) {\n createId = implementation;\n } else {\n createId = defaultCreateId;\n }\n\n var value = toString(ownValue);\n return value ? createId(name, value) : createId(name);\n }, [implementation]);\n var getIdProp = useCallback(function (prop, name, value) {\n var id = getId(name, value);\n return id === undefined ? {} : _defineProperty({}, prop, id);\n }, [getId]);\n return {\n getIdProp: getIdProp\n };\n}\n\nfunction useCache() {\n var cache = useRef(new Map());\n\n var has = function has(key) {\n return cache.current.has(key);\n };\n\n var get = function get(key) {\n return cache.current.get(key);\n };\n\n var set = function set(key, value) {\n return cache.current.set(key, value);\n };\n\n var getOrSet = function getOrSet(key, value) {\n return has(key) ? get(key) : set(key, value) && get(key);\n };\n\n return {\n getOrSet: getOrSet,\n set: set,\n has: has,\n get: get\n };\n}\n\nfunction stateReducer(state, newState) {\n return isFunction(newState) ? newState(state) : _objectSpread({}, state, newState);\n}\n\nfunction useState(_ref) {\n var initialState = _ref.initialState;\n var state = useRef();\n var initialValues = useCache();\n\n var _useReducer = useReducer(stateReducer, initialState || {}),\n _useReducer2 = _slicedToArray(_useReducer, 2),\n values = _useReducer2[0],\n setValues = _useReducer2[1];\n\n var _useReducer3 = useReducer(stateReducer, {}),\n _useReducer4 = _slicedToArray(_useReducer3, 2),\n touched = _useReducer4[0],\n setTouched = _useReducer4[1];\n\n var _useReducer5 = useReducer(stateReducer, {}),\n _useReducer6 = _slicedToArray(_useReducer5, 2),\n validity = _useReducer6[0],\n setValidity = _useReducer6[1];\n\n var _useReducer7 = useReducer(stateReducer, {}),\n _useReducer8 = _slicedToArray(_useReducer7, 2),\n errors = _useReducer8[0],\n setError = _useReducer8[1];\n\n state.current = {\n values: values,\n touched: touched,\n validity: validity,\n errors: errors\n };\n\n function setField(name, value, inputValidity, inputTouched, inputError) {\n setValues(_defineProperty({}, name, value));\n setTouched(_defineProperty({}, name, inputTouched));\n setValidity(_defineProperty({}, name, inputValidity));\n setError(_defineProperty({}, name, inputError));\n }\n\n function clearField(name) {\n setField(name);\n }\n\n function resetField(name) {\n setField(name, initialValues.has(name) ? initialValues.get(name) : initialState[name]);\n }\n\n function forEach(cb) {\n Object.keys(state.current.values).forEach(cb);\n }\n\n return {\n get current() {\n return state.current;\n },\n\n setValues: setValues,\n setTouched: setTouched,\n setValidity: setValidity,\n setError: setError,\n setField: setField,\n initialValues: initialValues,\n resetField: resetField,\n clearField: clearField,\n forEach: forEach\n };\n}\n\nvar CHECKBOX = 'checkbox';\nvar COLOR = 'color';\nvar DATE = 'date';\nvar EMAIL = 'email';\nvar MONTH = 'month';\nvar NUMBER = 'number';\nvar PASSWORD = 'password';\nvar RADIO = 'radio';\nvar RANGE = 'range';\nvar RAW = 'raw';\nvar SEARCH = 'search';\nvar SELECT = 'select';\nvar SELECT_MULTIPLE = 'selectMultiple';\nvar TEL = 'tel';\nvar TEXT = 'text';\nvar TEXTAREA = 'textarea';\nvar TIME = 'time';\nvar URL = 'url';\nvar WEEK = 'week';\nvar LABEL = 'label';\nvar INPUT_TYPES = [CHECKBOX, COLOR, DATE, EMAIL, MONTH, NUMBER, PASSWORD, RADIO, RANGE, RAW, SEARCH, SELECT, SELECT_MULTIPLE, TEL, TEXT, TEXTAREA, TIME, URL, WEEK];\nvar ON_CHANGE_HANDLER = 0;\nvar ON_BLUR_HANDLER = 1;\nvar CONSOLE_TAG = '[useFormState]';\n\nvar defaultFormOptions = {\n onBlur: noop,\n onChange: noop,\n onClear: noop,\n onReset: noop,\n onTouched: noop,\n withIds: false\n};\nfunction useFormState(initialState, options) {\n var formOptions = _objectSpread({}, defaultFormOptions, options);\n\n var formState = useState({\n initialState: initialState\n });\n\n var _useInputId = useInputId(formOptions.withIds),\n getIdProp = _useInputId.getIdProp;\n\n var _useCache = useCache(),\n setDirty = _useCache.set,\n isDirty = _useCache.has;\n\n var callbacks = useCache();\n var devWarnings = useCache();\n\n function warn(key, type, message) {\n if (!devWarnings.has(\"\".concat(type, \":\").concat(key))) {\n devWarnings.set(\"\".concat(type, \":\").concat(key), true); // eslint-disable-next-line no-console\n\n console.warn(CONSOLE_TAG, message);\n }\n }\n\n var createPropsGetter = function createPropsGetter(type) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var _parseInputArgs = parseInputArgs(args),\n name = _parseInputArgs.name,\n ownValue = _parseInputArgs.ownValue,\n inputOptions = _objectWithoutProperties(_parseInputArgs, [\"name\", \"ownValue\"]);\n\n var hasOwnValue = !!toString(ownValue);\n var isCheckbox = type === CHECKBOX;\n var isRadio = type === RADIO;\n var isSelectMultiple = type === SELECT_MULTIPLE;\n var isRaw = type === RAW;\n var hasValueInState = formState.current.values[name] !== undefined; // This is used to cache input props that shouldn't change across\n // re-renders. Note that for `raw` values, `toString(ownValue)`\n // will return '[object Object]'. This means we can't have multiple\n // raw inputs with the same name and different values, but this is\n // probably fine.\n\n var key = \"\".concat(type, \".\").concat(name, \".\").concat(toString(ownValue));\n\n function setDefaultValue() {\n /* istanbul ignore else */\n if (process.env.NODE_ENV === 'development') {\n if (isRaw && formState.current.values[name] === undefined) {\n warn(key, 'missingInitialValue', \"The initial value for input \\\"\".concat(name, \"\\\" is missing. Custom inputs \") + 'controlled with raw() are expected to have an initial value ' + 'provided to useFormState(). To prevent React from treating ' + 'this input as uncontrolled, an empty string will be used instead.');\n }\n }\n\n var value = '';\n\n if (isCheckbox) {\n /**\n * If a checkbox has a user-defined value, its value the form state\n * value will be an array. Otherwise it will be considered a toggle.\n */\n value = hasOwnValue ? [] : false;\n }\n\n if (isSelectMultiple) {\n value = [];\n }\n\n formState.setValues(_defineProperty({}, name, value));\n }\n\n function getNextCheckboxValue(e) {\n var _e$target = e.target,\n value = _e$target.value,\n checked = _e$target.checked;\n\n if (!hasOwnValue) {\n return checked;\n }\n\n var checkedValues = new Set(formState.current.values[name]);\n\n if (checked) {\n checkedValues.add(value);\n } else {\n checkedValues.delete(value);\n }\n\n return Array.from(checkedValues);\n }\n\n function getNextSelectMultipleValue(e) {\n return Array.from(e.target.options).reduce(function (values, option) {\n return option.selected ? _toConsumableArray(values).concat([option.value]) : values;\n }, []);\n }\n\n function validate(e) {\n var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : isRaw ? formState.current.values[name] : e.target.value;\n var values = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : formState.current.values;\n var error;\n var isValid = true;\n /* istanbul ignore else */\n\n if (isFunction(inputOptions.validate)) {\n var result = inputOptions.validate(value, values, e);\n\n if (result !== true && result != null) {\n isValid = false;\n error = result !== false ? result : '';\n }\n } else if (!isRaw) {\n isValid = e.target.validity.valid;\n error = e.target.validationMessage;\n } else if (process.env.NODE_ENV === 'development') {\n warn(key, 'missingValidate', \"You used a raw input type for \\\"\".concat(name, \"\\\" without providing a \") + 'custom validate method. As a result, validation of this input ' + 'will be set to \"true\" automatically. If you need to validate ' + 'this input, provide a custom validation option.');\n }\n\n formState.setValidity(_defineProperty({}, name, isValid));\n formState.setError(isEmpty(error) ? omit(name) : _defineProperty({}, name, error));\n }\n\n function touch(e) {\n if (!formState.current.touched[name]) {\n formState.setTouched(_defineProperty({}, name, true));\n formOptions.onTouched(e);\n }\n }\n\n var inputProps = _objectSpread({\n name: name,\n\n get type() {\n if (type !== SELECT && type !== SELECT_MULTIPLE && type !== TEXTAREA) {\n return type;\n }\n },\n\n get multiple() {\n if (type === SELECT_MULTIPLE) {\n return true;\n }\n },\n\n get checked() {\n var values = formState.current.values;\n\n if (isRadio) {\n return values[name] === toString(ownValue);\n }\n\n if (isCheckbox) {\n if (!hasOwnValue) {\n return values[name] || false;\n }\n /**\n * @todo Handle the case where two checkbox inputs share the same\n * name, but one has a value, the other doesn't (throws currently).\n * \n * \n */\n\n\n return hasValueInState ? values[name].includes(toString(ownValue)) : false;\n }\n },\n\n get value() {\n if (!hasValueInState) {\n // auto populating default values if an initial value is not provided\n setDefaultValue();\n } else if (!formState.initialValues.has(name)) {\n // keep track of user-provided initial values on first render\n formState.initialValues.set(name, formState.current.values[name]);\n } // auto populating default values of touched\n\n\n if (formState.current.touched[name] == null) {\n formState.setTouched(_defineProperty({}, name, false));\n }\n /**\n * Since checkbox and radio inputs have their own user-defined values,\n * and since checkbox inputs can be either an array or a boolean,\n * returning the value of input from the current form state is illogical\n */\n\n\n if (isCheckbox || isRadio) {\n return toString(ownValue);\n }\n\n return hasValueInState ? formState.current.values[name] : '';\n },\n\n onChange: callbacks.getOrSet(ON_BLUR_HANDLER + key, function (e) {\n setDirty(name, true);\n var value;\n\n if (isRaw) {\n value = inputOptions.onChange(e);\n\n if (value === undefined) {\n // setting value to its current state if onChange does not return\n // value to prevent React from complaining about the input switching\n // from controlled to uncontrolled\n value = formState.current.values[name];\n /* istanbul ignore else */\n\n if (process.env.NODE_ENV === 'development') {\n warn(key, 'onChangeUndefined', \"You used a raw input type for \\\"\".concat(name, \"\\\" with an onChange() \") + 'option without returning a value. The onChange callback ' + 'of raw inputs, when provided, is used to determine the ' + 'custom value that will be stored in the form state. ' + 'Therefore, a value must be returned from the onChange callback.');\n }\n }\n } else {\n if (isCheckbox) {\n value = getNextCheckboxValue(e);\n } else if (isSelectMultiple) {\n value = getNextSelectMultipleValue(e);\n } else {\n value = e.target.value;\n }\n\n inputOptions.onChange(e);\n } // Mark raw fields as touched on change, since we might not get an\n // `onBlur` event from them.\n\n\n if (inputOptions.touchOnChange) {\n touch(e);\n }\n\n var partialNewState = _defineProperty({}, name, value);\n\n var newValues = _objectSpread({}, formState.current.values, partialNewState);\n\n formOptions.onChange(e, formState.current.values, newValues);\n var validateOnBlur = formOptions.validateOnBlur ? inputOptions.validateOnBlur !== false : inputOptions.validateOnBlur;\n\n if (!validateOnBlur) {\n validate(e, value, newValues);\n }\n\n formState.setValues(partialNewState);\n }),\n onBlur: callbacks.getOrSet(ON_CHANGE_HANDLER + key, function (e) {\n touch(e);\n inputOptions.onBlur(e);\n formOptions.onBlur(e);\n /**\n * Limiting input validation on blur to:\n * A) when it's either touched for the first time\n * B) when it's marked as dirty due to a value change\n */\n\n /* istanbul ignore else */\n\n if (!formState.current.touched[name] || isDirty(name)) {\n validate(e);\n setDirty(name, false);\n }\n })\n }, getIdProp('id', name, ownValue));\n\n return isRaw ? {\n onChange: inputProps.onChange,\n onBlur: inputProps.onBlur,\n value: inputProps.value\n } : inputProps;\n };\n };\n\n var formStateAPI = useRef({\n clearField: formState.clearField,\n resetField: formState.resetField,\n setField: function setField(name, value) {\n formState.setField(name, value, true, true);\n },\n setFieldError: function setFieldError(name, error) {\n formState.setValidity(_defineProperty({}, name, false));\n formState.setError(_defineProperty({}, name, error));\n },\n clear: function clear() {\n formState.forEach(formState.clearField);\n formOptions.onClear();\n },\n reset: function reset() {\n formState.forEach(formState.resetField);\n formOptions.onReset();\n }\n }); // exposing current form state (e.g. values, touched, validity, etc)\n // eslint-disable-next-line guard-for-in, no-restricted-syntax\n\n for (var key in formState.current) {\n formStateAPI.current[key] = formState.current[key];\n }\n\n var inputPropsCreators = _defineProperty({}, LABEL, function (name, ownValue) {\n return getIdProp('htmlFor', name, ownValue);\n });\n\n INPUT_TYPES.forEach(function (type) {\n inputPropsCreators[type] = createPropsGetter(type);\n });\n return [formStateAPI.current, inputPropsCreators];\n}\n\nexport { useFormState };\n"],"names":["_typeof","obj","_defineProperty","key","value","_objectSpread","target","i","source","ownKeys","sym","_objectWithoutPropertiesLoose","excluded","sourceKeys","_objectWithoutProperties","sourceSymbolKeys","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","arr2","iter","_arr","_n","_d","_e","_i","_s","err","_toPropertyKey","omit","object","rest","noop","identity","val","toString","isFunction","objectToString","isEmpty","defaultInputOptions","parseInputArgs","args","name","ownValue","options","_args","_args2","_args2$","defaultCreateId","useInputId","implementation","getId","useCallback","createId","getIdProp","prop","id","useCache","cache","useRef","has","get","set","getOrSet","stateReducer","state","newState","useState","_ref","initialState","initialValues","_useReducer","useReducer","_useReducer2","values","setValues","_useReducer3","_useReducer4","touched","setTouched","_useReducer5","_useReducer6","validity","setValidity","_useReducer7","_useReducer8","errors","setError","setField","inputValidity","inputTouched","inputError","clearField","resetField","forEach","cb","CHECKBOX","COLOR","DATE","EMAIL","MONTH","NUMBER","PASSWORD","RADIO","RANGE","RAW","SEARCH","SELECT","SELECT_MULTIPLE","TEL","TEXT","TEXTAREA","TIME","URL","WEEK","LABEL","INPUT_TYPES","ON_CHANGE_HANDLER","ON_BLUR_HANDLER","defaultFormOptions","useFormState","formOptions","formState","_useInputId","_useCache","setDirty","isDirty","callbacks","createPropsGetter","type","_len","_key","_parseInputArgs","inputOptions","hasOwnValue","isCheckbox","isRadio","isSelectMultiple","isRaw","hasValueInState","setDefaultValue","getNextCheckboxValue","e","_e$target","checked","checkedValues","getNextSelectMultipleValue","option","validate","error","isValid","result","touch","inputProps","partialNewState","newValues","validateOnBlur","formStateAPI","inputPropsCreators"],"mappings":"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","x_google_ignoreList":[0]}