{"ast":null,"code":"var _s2 = $RefreshSig$(),\n    _s3 = $RefreshSig$();\n\nfunction _slicedToArray(arr, i) {\n  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _nonIterableRest() {\n  throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n  if (!o) return;\n  if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n  var n = Object.prototype.toString.call(o).slice(8, -1);\n  if (n === \"Object\" && o.constructor) n = o.constructor.name;\n  if (n === \"Map\" || n === \"Set\") return Array.from(n);\n  if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n  if (len == null || len > arr.length) len = arr.length;\n\n  for (var i = 0, arr2 = new Array(len); i < len; i++) {\n    arr2[i] = arr[i];\n  }\n\n  return arr2;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n  if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\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 _arrayWithHoles(arr) {\n  if (Array.isArray(arr)) return arr;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n  var keys = Object.keys(object);\n\n  if (Object.getOwnPropertySymbols) {\n    var symbols = Object.getOwnPropertySymbols(object);\n    if (enumerableOnly) symbols = symbols.filter(function (sym) {\n      return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n    });\n    keys.push.apply(keys, symbols);\n  }\n\n  return keys;\n}\n\nfunction _objectSpread(target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i] != null ? arguments[i] : {};\n\n    if (i % 2) {\n      ownKeys(Object(source), true).forEach(function (key) {\n        _defineProperty(target, key, source[key]);\n      });\n    } else if (Object.getOwnPropertyDescriptors) {\n      Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n    } else {\n      ownKeys(Object(source)).forEach(function (key) {\n        Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n      });\n    }\n  }\n\n  return target;\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 _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 _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\nimport React, { useReducer, useContext } from \"react\";\nimport set from \"lodash.set\";\nimport get from \"lodash.get\";\nvar FormContext = React.createContext({});\nexport function useFormContext() {\n  _s2();\n\n  return useContext(FormContext);\n}\n\n_s2(useFormContext, \"gDsCjeeItUuvgOWf1v4qoK9RF6k=\");\n\nexport function Form(_ref) {\n  var form = _ref.form,\n      children = _ref.children,\n      props = _objectWithoutProperties(_ref, [\"form\", \"children\"]);\n\n  return /*#__PURE__*/React.createElement(FormContext.Provider, {\n    value: form\n  }, /*#__PURE__*/React.createElement(\"form\", props, children));\n}\n_c = Form;\n\nfunction reducer(state, action) {\n  switch (action.type) {\n    case \"SET_VALUE\":\n      {\n        var name = action.name,\n            value = action.value;\n        return _objectSpread({}, state, {\n          data: _objectSpread({}, set(state.data, name, value))\n        });\n      }\n\n    case \"SET_TOUCHED\":\n      {\n        var _name = action.name,\n            touched = action.touched;\n        return _objectSpread({}, state, {\n          touched: _objectSpread({}, set(state.touched, _name, touched))\n        });\n      }\n\n    case \"SET_ERROR\":\n      {\n        var _name2 = action.name,\n            error = action.error;\n        return _objectSpread({}, state, {\n          errors: _objectSpread({}, set(state.errors, _name2, error))\n        });\n      }\n\n    default:\n      return state;\n  }\n}\n\nfunction useForm() {\n  _s3();\n\n  var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n      _ref2$initialData = _ref2.initialData,\n      initialData = _ref2$initialData === void 0 ? {} : _ref2$initialData,\n      initialTouched = _ref2.initialTouched;\n\n  var _useReducer = useReducer(reducer, {\n    data: initialData,\n    touched: initialTouched\n  }),\n      _useReducer2 = _slicedToArray(_useReducer, 2),\n      state = _useReducer2[0],\n      dispatch = _useReducer2[1];\n\n  var data = state.data,\n      touched = state.touched,\n      errors = state.errors;\n  /* Values */\n\n  var setValue = function setValue(name, value) {\n    dispatch({\n      type: \"SET_VALUE\",\n      name: name,\n      value: value\n    });\n  };\n\n  var getValue = function getValue(name) {\n    return get(data, name);\n  };\n  /* Touched */\n\n\n  var setTouched = function setTouched(name) {\n    var touched = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n    dispatch({\n      type: \"SET_TOUCHED\",\n      name: name,\n      touched: touched\n    });\n  };\n\n  var getTouched = function getTouched(name) {\n    return get(touched, name, false);\n  };\n  /* Errors */\n\n\n  var setError = function setError(name, error) {\n    dispatch({\n      type: \"SET_TOUCHED\",\n      name: name,\n      error: error\n    });\n  };\n\n  var getError = function getError(name) {\n    return get(errors, name);\n  };\n\n  return {\n    data: data,\n    setValue: setValue,\n    getValue: getValue,\n    setTouched: setTouched,\n    getTouched: getTouched,\n    setError: setError,\n    getError: getError\n  };\n}\n\n_s3(useForm, \"UIZ5u2Qkl739p2DQsLy6i3TskmE=\");\n\nexport default useForm;\n\nvar _c;\n\n$RefreshReg$(_c, \"Form\");","map":{"version":3,"sources":["/Users/silverdust/Projects/ConvertKit/convertkit-design/docs/node_modules/@convertkit/design/use-form/index.js"],"names":["_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","Symbol","iterator","_arr","_n","_d","_e","undefined","_i","_s","next","done","push","value","err","isArray","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","configurable","writable","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","React","useReducer","useContext","set","get","FormContext","createContext","useFormContext","Form","_ref","form","children","props","createElement","Provider","reducer","state","action","type","data","_name","touched","_name2","error","errors","useForm","_ref2","_ref2$initialData","initialData","initialTouched","_useReducer","_useReducer2","dispatch","setValue","getValue","setTouched","getTouched","setError","getError"],"mappings":";;;AAAA,SAASA,cAAT,CAAwBC,GAAxB,EAA6BC,CAA7B,EAAgC;AAAE,SAAOC,eAAe,CAACF,GAAD,CAAf,IAAwBG,qBAAqB,CAACH,GAAD,EAAMC,CAAN,CAA7C,IAAyDG,2BAA2B,CAACJ,GAAD,EAAMC,CAAN,CAApF,IAAgGI,gBAAgB,EAAvH;AAA4H;;AAE9J,SAASA,gBAAT,GAA4B;AAAE,QAAM,IAAIC,SAAJ,CAAc,2IAAd,CAAN;AAAmK;;AAEjM,SAASF,2BAAT,CAAqCG,CAArC,EAAwCC,MAAxC,EAAgD;AAAE,MAAI,CAACD,CAAL,EAAQ;AAAQ,MAAI,OAAOA,CAAP,KAAa,QAAjB,EAA2B,OAAOE,iBAAiB,CAACF,CAAD,EAAIC,MAAJ,CAAxB;AAAqC,MAAIE,CAAC,GAAGC,MAAM,CAACC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BP,CAA/B,EAAkCQ,KAAlC,CAAwC,CAAxC,EAA2C,CAAC,CAA5C,CAAR;AAAwD,MAAIL,CAAC,KAAK,QAAN,IAAkBH,CAAC,CAACS,WAAxB,EAAqCN,CAAC,GAAGH,CAAC,CAACS,WAAF,CAAcC,IAAlB;AAAwB,MAAIP,CAAC,KAAK,KAAN,IAAeA,CAAC,KAAK,KAAzB,EAAgC,OAAOQ,KAAK,CAACC,IAAN,CAAWT,CAAX,CAAP;AAAsB,MAAIA,CAAC,KAAK,WAAN,IAAqB,2CAA2CU,IAA3C,CAAgDV,CAAhD,CAAzB,EAA6E,OAAOD,iBAAiB,CAACF,CAAD,EAAIC,MAAJ,CAAxB;AAAsC;;AAEha,SAASC,iBAAT,CAA2BT,GAA3B,EAAgCqB,GAAhC,EAAqC;AAAE,MAAIA,GAAG,IAAI,IAAP,IAAeA,GAAG,GAAGrB,GAAG,CAACsB,MAA7B,EAAqCD,GAAG,GAAGrB,GAAG,CAACsB,MAAV;;AAAkB,OAAK,IAAIrB,CAAC,GAAG,CAAR,EAAWsB,IAAI,GAAG,IAAIL,KAAJ,CAAUG,GAAV,CAAvB,EAAuCpB,CAAC,GAAGoB,GAA3C,EAAgDpB,CAAC,EAAjD,EAAqD;AAAEsB,IAAAA,IAAI,CAACtB,CAAD,CAAJ,GAAUD,GAAG,CAACC,CAAD,CAAb;AAAmB;;AAAC,SAAOsB,IAAP;AAAc;;AAEvL,SAASpB,qBAAT,CAA+BH,GAA/B,EAAoCC,CAApC,EAAuC;AAAE,MAAI,OAAOuB,MAAP,KAAkB,WAAlB,IAAiC,EAAEA,MAAM,CAACC,QAAP,IAAmBd,MAAM,CAACX,GAAD,CAA3B,CAArC,EAAwE;AAAQ,MAAI0B,IAAI,GAAG,EAAX;AAAe,MAAIC,EAAE,GAAG,IAAT;AAAe,MAAIC,EAAE,GAAG,KAAT;AAAgB,MAAIC,EAAE,GAAGC,SAAT;;AAAoB,MAAI;AAAE,SAAK,IAAIC,EAAE,GAAG/B,GAAG,CAACwB,MAAM,CAACC,QAAR,CAAH,EAAT,EAAiCO,EAAtC,EAA0C,EAAEL,EAAE,GAAG,CAACK,EAAE,GAAGD,EAAE,CAACE,IAAH,EAAN,EAAiBC,IAAxB,CAA1C,EAAyEP,EAAE,GAAG,IAA9E,EAAoF;AAAED,MAAAA,IAAI,CAACS,IAAL,CAAUH,EAAE,CAACI,KAAb;;AAAqB,UAAInC,CAAC,IAAIyB,IAAI,CAACJ,MAAL,KAAgBrB,CAAzB,EAA4B;AAAQ;AAAE,GAAvJ,CAAwJ,OAAOoC,GAAP,EAAY;AAAET,IAAAA,EAAE,GAAG,IAAL;AAAWC,IAAAA,EAAE,GAAGQ,GAAL;AAAW,GAA5L,SAAqM;AAAE,QAAI;AAAE,UAAI,CAACV,EAAD,IAAOI,EAAE,CAAC,QAAD,CAAF,IAAgB,IAA3B,EAAiCA,EAAE,CAAC,QAAD,CAAF;AAAiB,KAAxD,SAAiE;AAAE,UAAIH,EAAJ,EAAQ,MAAMC,EAAN;AAAW;AAAE;;AAAC,SAAOH,IAAP;AAAc;;AAEze,SAASxB,eAAT,CAAyBF,GAAzB,EAA8B;AAAE,MAAIkB,KAAK,CAACoB,OAAN,CAActC,GAAd,CAAJ,EAAwB,OAAOA,GAAP;AAAa;;AAErE,SAASuC,OAAT,CAAiBC,MAAjB,EAAyBC,cAAzB,EAAyC;AAAE,MAAIC,IAAI,GAAG/B,MAAM,CAAC+B,IAAP,CAAYF,MAAZ,CAAX;;AAAgC,MAAI7B,MAAM,CAACgC,qBAAX,EAAkC;AAAE,QAAIC,OAAO,GAAGjC,MAAM,CAACgC,qBAAP,CAA6BH,MAA7B,CAAd;AAAoD,QAAIC,cAAJ,EAAoBG,OAAO,GAAGA,OAAO,CAACC,MAAR,CAAe,UAAUC,GAAV,EAAe;AAAE,aAAOnC,MAAM,CAACoC,wBAAP,CAAgCP,MAAhC,EAAwCM,GAAxC,EAA6CE,UAApD;AAAiE,KAAjG,CAAV;AAA8GN,IAAAA,IAAI,CAACP,IAAL,CAAUc,KAAV,CAAgBP,IAAhB,EAAsBE,OAAtB;AAAiC;;AAAC,SAAOF,IAAP;AAAc;;AAErV,SAASQ,aAAT,CAAuBC,MAAvB,EAA+B;AAAE,OAAK,IAAIlD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmD,SAAS,CAAC9B,MAA9B,EAAsCrB,CAAC,EAAvC,EAA2C;AAAE,QAAIoD,MAAM,GAAGD,SAAS,CAACnD,CAAD,CAAT,IAAgB,IAAhB,GAAuBmD,SAAS,CAACnD,CAAD,CAAhC,GAAsC,EAAnD;;AAAuD,QAAIA,CAAC,GAAG,CAAR,EAAW;AAAEsC,MAAAA,OAAO,CAAC5B,MAAM,CAAC0C,MAAD,CAAP,EAAiB,IAAjB,CAAP,CAA8BC,OAA9B,CAAsC,UAAUC,GAAV,EAAe;AAAEC,QAAAA,eAAe,CAACL,MAAD,EAASI,GAAT,EAAcF,MAAM,CAACE,GAAD,CAApB,CAAf;AAA4C,OAAnG;AAAuG,KAApH,MAA0H,IAAI5C,MAAM,CAAC8C,yBAAX,EAAsC;AAAE9C,MAAAA,MAAM,CAAC+C,gBAAP,CAAwBP,MAAxB,EAAgCxC,MAAM,CAAC8C,yBAAP,CAAiCJ,MAAjC,CAAhC;AAA4E,KAApH,MAA0H;AAAEd,MAAAA,OAAO,CAAC5B,MAAM,CAAC0C,MAAD,CAAP,CAAP,CAAwBC,OAAxB,CAAgC,UAAUC,GAAV,EAAe;AAAE5C,QAAAA,MAAM,CAACgD,cAAP,CAAsBR,MAAtB,EAA8BI,GAA9B,EAAmC5C,MAAM,CAACoC,wBAAP,CAAgCM,MAAhC,EAAwCE,GAAxC,CAAnC;AAAmF,OAApI;AAAwI;AAAE;;AAAC,SAAOJ,MAAP;AAAgB;;AAEthB,SAASK,eAAT,CAAyBI,GAAzB,EAA8BL,GAA9B,EAAmCnB,KAAnC,EAA0C;AAAE,MAAImB,GAAG,IAAIK,GAAX,EAAgB;AAAEjD,IAAAA,MAAM,CAACgD,cAAP,CAAsBC,GAAtB,EAA2BL,GAA3B,EAAgC;AAAEnB,MAAAA,KAAK,EAAEA,KAAT;AAAgBY,MAAAA,UAAU,EAAE,IAA5B;AAAkCa,MAAAA,YAAY,EAAE,IAAhD;AAAsDC,MAAAA,QAAQ,EAAE;AAAhE,KAAhC;AAA0G,GAA5H,MAAkI;AAAEF,IAAAA,GAAG,CAACL,GAAD,CAAH,GAAWnB,KAAX;AAAmB;;AAAC,SAAOwB,GAAP;AAAa;;AAEjN,SAASG,wBAAT,CAAkCV,MAAlC,EAA0CW,QAA1C,EAAoD;AAAE,MAAIX,MAAM,IAAI,IAAd,EAAoB,OAAO,EAAP;;AAAW,MAAIF,MAAM,GAAGc,6BAA6B,CAACZ,MAAD,EAASW,QAAT,CAA1C;;AAA8D,MAAIT,GAAJ,EAAStD,CAAT;;AAAY,MAAIU,MAAM,CAACgC,qBAAX,EAAkC;AAAE,QAAIuB,gBAAgB,GAAGvD,MAAM,CAACgC,qBAAP,CAA6BU,MAA7B,CAAvB;;AAA6D,SAAKpD,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGiE,gBAAgB,CAAC5C,MAAjC,EAAyCrB,CAAC,EAA1C,EAA8C;AAAEsD,MAAAA,GAAG,GAAGW,gBAAgB,CAACjE,CAAD,CAAtB;AAA2B,UAAI+D,QAAQ,CAACG,OAAT,CAAiBZ,GAAjB,KAAyB,CAA7B,EAAgC;AAAU,UAAI,CAAC5C,MAAM,CAACC,SAAP,CAAiBwD,oBAAjB,CAAsCtD,IAAtC,CAA2CuC,MAA3C,EAAmDE,GAAnD,CAAL,EAA8D;AAAUJ,MAAAA,MAAM,CAACI,GAAD,CAAN,GAAcF,MAAM,CAACE,GAAD,CAApB;AAA4B;AAAE;;AAAC,SAAOJ,MAAP;AAAgB;;AAE5e,SAASc,6BAAT,CAAuCZ,MAAvC,EAA+CW,QAA/C,EAAyD;AAAE,MAAIX,MAAM,IAAI,IAAd,EAAoB,OAAO,EAAP;AAAW,MAAIF,MAAM,GAAG,EAAb;AAAiB,MAAIkB,UAAU,GAAG1D,MAAM,CAAC+B,IAAP,CAAYW,MAAZ,CAAjB;AAAsC,MAAIE,GAAJ,EAAStD,CAAT;;AAAY,OAAKA,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGoE,UAAU,CAAC/C,MAA3B,EAAmCrB,CAAC,EAApC,EAAwC;AAAEsD,IAAAA,GAAG,GAAGc,UAAU,CAACpE,CAAD,CAAhB;AAAqB,QAAI+D,QAAQ,CAACG,OAAT,CAAiBZ,GAAjB,KAAyB,CAA7B,EAAgC;AAAUJ,IAAAA,MAAM,CAACI,GAAD,CAAN,GAAcF,MAAM,CAACE,GAAD,CAApB;AAA4B;;AAAC,SAAOJ,MAAP;AAAgB;;AAEnT,OAAOmB,KAAP,IAAgBC,UAAhB,EAA4BC,UAA5B,QAA8C,OAA9C;AACA,OAAOC,GAAP,MAAgB,YAAhB;AACA,OAAOC,GAAP,MAAgB,YAAhB;AACA,IAAIC,WAAW,GAAGL,KAAK,CAACM,aAAN,CAAoB,EAApB,CAAlB;AACA,OAAO,SAASC,cAAT,GAA0B;AAAA;;AAC/B,SAAOL,UAAU,CAACG,WAAD,CAAjB;AACD;;IAFeE,c;;AAGhB,OAAO,SAASC,IAAT,CAAcC,IAAd,EAAoB;AACzB,MAAIC,IAAI,GAAGD,IAAI,CAACC,IAAhB;AAAA,MACIC,QAAQ,GAAGF,IAAI,CAACE,QADpB;AAAA,MAEIC,KAAK,GAAGnB,wBAAwB,CAACgB,IAAD,EAAO,CAAC,MAAD,EAAS,UAAT,CAAP,CAFpC;;AAIA,SAAO,aAAaT,KAAK,CAACa,aAAN,CAAoBR,WAAW,CAACS,QAAhC,EAA0C;AAC5DhD,IAAAA,KAAK,EAAE4C;AADqD,GAA1C,EAEjB,aAAaV,KAAK,CAACa,aAAN,CAAoB,MAApB,EAA4BD,KAA5B,EAAmCD,QAAnC,CAFI,CAApB;AAGD;KAReH,I;;AAUhB,SAASO,OAAT,CAAiBC,KAAjB,EAAwBC,MAAxB,EAAgC;AAC9B,UAAQA,MAAM,CAACC,IAAf;AACE,SAAK,WAAL;AACE;AACE,YAAIvE,IAAI,GAAGsE,MAAM,CAACtE,IAAlB;AAAA,YACImB,KAAK,GAAGmD,MAAM,CAACnD,KADnB;AAEA,eAAOc,aAAa,CAAC,EAAD,EAAKoC,KAAL,EAAY;AAC9BG,UAAAA,IAAI,EAAEvC,aAAa,CAAC,EAAD,EAAKuB,GAAG,CAACa,KAAK,CAACG,IAAP,EAAaxE,IAAb,EAAmBmB,KAAnB,CAAR;AADW,SAAZ,CAApB;AAGD;;AAEH,SAAK,aAAL;AACE;AACE,YAAIsD,KAAK,GAAGH,MAAM,CAACtE,IAAnB;AAAA,YACI0E,OAAO,GAAGJ,MAAM,CAACI,OADrB;AAEA,eAAOzC,aAAa,CAAC,EAAD,EAAKoC,KAAL,EAAY;AAC9BK,UAAAA,OAAO,EAAEzC,aAAa,CAAC,EAAD,EAAKuB,GAAG,CAACa,KAAK,CAACK,OAAP,EAAgBD,KAAhB,EAAuBC,OAAvB,CAAR;AADQ,SAAZ,CAApB;AAGD;;AAEH,SAAK,WAAL;AACE;AACE,YAAIC,MAAM,GAAGL,MAAM,CAACtE,IAApB;AAAA,YACI4E,KAAK,GAAGN,MAAM,CAACM,KADnB;AAEA,eAAO3C,aAAa,CAAC,EAAD,EAAKoC,KAAL,EAAY;AAC9BQ,UAAAA,MAAM,EAAE5C,aAAa,CAAC,EAAD,EAAKuB,GAAG,CAACa,KAAK,CAACQ,MAAP,EAAeF,MAAf,EAAuBC,KAAvB,CAAR;AADS,SAAZ,CAApB;AAGD;;AAEH;AACE,aAAOP,KAAP;AA7BJ;AA+BD;;AAED,SAASS,OAAT,GAAmB;AAAA;;AACjB,MAAIC,KAAK,GAAG5C,SAAS,CAAC9B,MAAV,GAAmB,CAAnB,IAAwB8B,SAAS,CAAC,CAAD,CAAT,KAAiBtB,SAAzC,GAAqDsB,SAAS,CAAC,CAAD,CAA9D,GAAoE,EAAhF;AAAA,MACI6C,iBAAiB,GAAGD,KAAK,CAACE,WAD9B;AAAA,MAEIA,WAAW,GAAGD,iBAAiB,KAAK,KAAK,CAA3B,GAA+B,EAA/B,GAAoCA,iBAFtD;AAAA,MAGIE,cAAc,GAAGH,KAAK,CAACG,cAH3B;;AAKA,MAAIC,WAAW,GAAG7B,UAAU,CAACc,OAAD,EAAU;AACpCI,IAAAA,IAAI,EAAES,WAD8B;AAEpCP,IAAAA,OAAO,EAAEQ;AAF2B,GAAV,CAA5B;AAAA,MAIIE,YAAY,GAAGtG,cAAc,CAACqG,WAAD,EAAc,CAAd,CAJjC;AAAA,MAKId,KAAK,GAAGe,YAAY,CAAC,CAAD,CALxB;AAAA,MAMIC,QAAQ,GAAGD,YAAY,CAAC,CAAD,CAN3B;;AAQA,MAAIZ,IAAI,GAAGH,KAAK,CAACG,IAAjB;AAAA,MACIE,OAAO,GAAGL,KAAK,CAACK,OADpB;AAAA,MAEIG,MAAM,GAAGR,KAAK,CAACQ,MAFnB;AAGA;;AAEA,MAAIS,QAAQ,GAAG,SAASA,QAAT,CAAkBtF,IAAlB,EAAwBmB,KAAxB,EAA+B;AAC5CkE,IAAAA,QAAQ,CAAC;AACPd,MAAAA,IAAI,EAAE,WADC;AAEPvE,MAAAA,IAAI,EAAEA,IAFC;AAGPmB,MAAAA,KAAK,EAAEA;AAHA,KAAD,CAAR;AAKD,GAND;;AAQA,MAAIoE,QAAQ,GAAG,SAASA,QAAT,CAAkBvF,IAAlB,EAAwB;AACrC,WAAOyD,GAAG,CAACe,IAAD,EAAOxE,IAAP,CAAV;AACD,GAFD;AAGA;;;AAGA,MAAIwF,UAAU,GAAG,SAASA,UAAT,CAAoBxF,IAApB,EAA0B;AACzC,QAAI0E,OAAO,GAAGvC,SAAS,CAAC9B,MAAV,GAAmB,CAAnB,IAAwB8B,SAAS,CAAC,CAAD,CAAT,KAAiBtB,SAAzC,GAAqDsB,SAAS,CAAC,CAAD,CAA9D,GAAoE,IAAlF;AACAkD,IAAAA,QAAQ,CAAC;AACPd,MAAAA,IAAI,EAAE,aADC;AAEPvE,MAAAA,IAAI,EAAEA,IAFC;AAGP0E,MAAAA,OAAO,EAAEA;AAHF,KAAD,CAAR;AAKD,GAPD;;AASA,MAAIe,UAAU,GAAG,SAASA,UAAT,CAAoBzF,IAApB,EAA0B;AACzC,WAAOyD,GAAG,CAACiB,OAAD,EAAU1E,IAAV,EAAgB,KAAhB,CAAV;AACD,GAFD;AAGA;;;AAGA,MAAI0F,QAAQ,GAAG,SAASA,QAAT,CAAkB1F,IAAlB,EAAwB4E,KAAxB,EAA+B;AAC5CS,IAAAA,QAAQ,CAAC;AACPd,MAAAA,IAAI,EAAE,aADC;AAEPvE,MAAAA,IAAI,EAAEA,IAFC;AAGP4E,MAAAA,KAAK,EAAEA;AAHA,KAAD,CAAR;AAKD,GAND;;AAQA,MAAIe,QAAQ,GAAG,SAASA,QAAT,CAAkB3F,IAAlB,EAAwB;AACrC,WAAOyD,GAAG,CAACoB,MAAD,EAAS7E,IAAT,CAAV;AACD,GAFD;;AAIA,SAAO;AACLwE,IAAAA,IAAI,EAAEA,IADD;AAELc,IAAAA,QAAQ,EAAEA,QAFL;AAGLC,IAAAA,QAAQ,EAAEA,QAHL;AAILC,IAAAA,UAAU,EAAEA,UAJP;AAKLC,IAAAA,UAAU,EAAEA,UALP;AAMLC,IAAAA,QAAQ,EAAEA,QANL;AAOLC,IAAAA,QAAQ,EAAEA;AAPL,GAAP;AASD;;IArEQb,O;;AAuET,eAAeA,OAAf","sourcesContent":["function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(n); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { useReducer, useContext } from \"react\";\nimport set from \"lodash.set\";\nimport get from \"lodash.get\";\nvar FormContext = React.createContext({});\nexport function useFormContext() {\n  return useContext(FormContext);\n}\nexport function Form(_ref) {\n  var form = _ref.form,\n      children = _ref.children,\n      props = _objectWithoutProperties(_ref, [\"form\", \"children\"]);\n\n  return /*#__PURE__*/React.createElement(FormContext.Provider, {\n    value: form\n  }, /*#__PURE__*/React.createElement(\"form\", props, children));\n}\n\nfunction reducer(state, action) {\n  switch (action.type) {\n    case \"SET_VALUE\":\n      {\n        var name = action.name,\n            value = action.value;\n        return _objectSpread({}, state, {\n          data: _objectSpread({}, set(state.data, name, value))\n        });\n      }\n\n    case \"SET_TOUCHED\":\n      {\n        var _name = action.name,\n            touched = action.touched;\n        return _objectSpread({}, state, {\n          touched: _objectSpread({}, set(state.touched, _name, touched))\n        });\n      }\n\n    case \"SET_ERROR\":\n      {\n        var _name2 = action.name,\n            error = action.error;\n        return _objectSpread({}, state, {\n          errors: _objectSpread({}, set(state.errors, _name2, error))\n        });\n      }\n\n    default:\n      return state;\n  }\n}\n\nfunction useForm() {\n  var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n      _ref2$initialData = _ref2.initialData,\n      initialData = _ref2$initialData === void 0 ? {} : _ref2$initialData,\n      initialTouched = _ref2.initialTouched;\n\n  var _useReducer = useReducer(reducer, {\n    data: initialData,\n    touched: initialTouched\n  }),\n      _useReducer2 = _slicedToArray(_useReducer, 2),\n      state = _useReducer2[0],\n      dispatch = _useReducer2[1];\n\n  var data = state.data,\n      touched = state.touched,\n      errors = state.errors;\n  /* Values */\n\n  var setValue = function setValue(name, value) {\n    dispatch({\n      type: \"SET_VALUE\",\n      name: name,\n      value: value\n    });\n  };\n\n  var getValue = function getValue(name) {\n    return get(data, name);\n  };\n  /* Touched */\n\n\n  var setTouched = function setTouched(name) {\n    var touched = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n    dispatch({\n      type: \"SET_TOUCHED\",\n      name: name,\n      touched: touched\n    });\n  };\n\n  var getTouched = function getTouched(name) {\n    return get(touched, name, false);\n  };\n  /* Errors */\n\n\n  var setError = function setError(name, error) {\n    dispatch({\n      type: \"SET_TOUCHED\",\n      name: name,\n      error: error\n    });\n  };\n\n  var getError = function getError(name) {\n    return get(errors, name);\n  };\n\n  return {\n    data: data,\n    setValue: setValue,\n    getValue: getValue,\n    setTouched: setTouched,\n    getTouched: getTouched,\n    setError: setError,\n    getError: getError\n  };\n}\n\nexport default useForm;"]},"metadata":{},"sourceType":"module"}