{"version":3,"file":"Api.bs-CghFv3as.js","sources":["../../../node_modules/rescript/lib/es6/js_exn.js","../../../node_modules/@glennsl/bs-json/src/Json.bs.js","../../../app/frontend/shared/utils/DomUtils.bs.js","../../../app/frontend/packages/pf-icon/src/iconFirst.js","../../../app/frontend/packages/pf-icon/src/PfIcon.bs.js","../../../node_modules/rescript/lib/es6/js_promise.js","../../../node_modules/bs-fetch/src/Fetch.bs.js","../../../app/frontend/shared/components/FaIcon.bs.js","../../../app/frontend/shared/Api.bs.js"],"sourcesContent":["\n\n\nfunction raiseError(str) {\n throw new Error(str);\n}\n\nfunction raiseEvalError(str) {\n throw new EvalError(str);\n}\n\nfunction raiseRangeError(str) {\n throw new RangeError(str);\n}\n\nfunction raiseReferenceError(str) {\n throw new ReferenceError(str);\n}\n\nfunction raiseSyntaxError(str) {\n throw new SyntaxError(str);\n}\n\nfunction raiseTypeError(str) {\n throw new TypeError(str);\n}\n\nfunction raiseUriError(str) {\n throw new URIError(str);\n}\n\nvar $$Error$1 = \"JsError\";\n\nexport {\n $$Error$1 as $$Error,\n raiseError ,\n raiseEvalError ,\n raiseRangeError ,\n raiseReferenceError ,\n raiseSyntaxError ,\n raiseTypeError ,\n raiseUriError ,\n}\n/* No side effect */\n","\n\nimport * as Js_exn from \"../../../rescript/lib/es6/js_exn.js\";\nimport * as Caml_option from \"../../../rescript/lib/es6/caml_option.js\";\nimport * as Caml_exceptions from \"../../../rescript/lib/es6/caml_exceptions.js\";\nimport * as Caml_js_exceptions from \"../../../rescript/lib/es6/caml_js_exceptions.js\";\n\nvar ParseError = /* @__PURE__ */Caml_exceptions.create(\"Json.ParseError\");\n\nfunction parse(s) {\n try {\n return Caml_option.some(JSON.parse(s));\n }\n catch (exn){\n return ;\n }\n}\n\nfunction parseOrRaise(s) {\n try {\n return JSON.parse(s);\n }\n catch (raw_e){\n var e = Caml_js_exceptions.internalToOCamlException(raw_e);\n if (e.RE_EXN_ID === Js_exn.$$Error) {\n var m = e._1.message;\n var message = m !== undefined ? m : \"Unknown error\";\n throw {\n RE_EXN_ID: ParseError,\n _1: message,\n Error: new Error()\n };\n }\n throw e;\n }\n}\n\nvar Decode;\n\nvar Encode;\n\nfunction stringify(prim) {\n return JSON.stringify(prim);\n}\n\nexport {\n Decode ,\n Encode ,\n ParseError ,\n parse ,\n parseOrRaise ,\n stringify ,\n}\n/* No side effect */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Json from \"../../../../node_modules/@glennsl/bs-json/src/Json.bs.js\";\nimport * as Curry from \"../../../../node_modules/rescript/lib/es6/curry.js\";\nimport * as Belt_Option from \"../../../../node_modules/rescript/lib/es6/belt_Option.js\";\nimport * as Caml_option from \"../../../../node_modules/rescript/lib/es6/caml_option.js\";\nimport * as Caml_exceptions from \"../../../../node_modules/rescript/lib/es6/caml_exceptions.js\";\n\nvar DataElementMissing = /* @__PURE__ */Caml_exceptions.create(\"DomUtils.DataElementMissing\");\n\nvar RootElementMissing = /* @__PURE__ */Caml_exceptions.create(\"DomUtils.RootElementMissing\");\n\nvar RootAttributeMissing = /* @__PURE__ */Caml_exceptions.create(\"DomUtils.RootAttributeMissing\");\n\nfunction parseJSONTag(idOpt, param) {\n var id = idOpt !== undefined ? idOpt : \"react-root-data\";\n var rootElement = document.getElementById(id);\n var tmp;\n if (rootElement == null) {\n throw {\n RE_EXN_ID: DataElementMissing,\n _1: id,\n Error: new Error()\n };\n }\n tmp = rootElement.innerHTML;\n return Json.parseOrRaise(tmp);\n}\n\nfunction parseJSONAttribute(idOpt, attributeOpt, param) {\n var id = idOpt !== undefined ? idOpt : \"react-root\";\n var attribute = attributeOpt !== undefined ? attributeOpt : \"data-json-props\";\n var rootElement = document.getElementById(id);\n var tmp;\n if (rootElement == null) {\n throw {\n RE_EXN_ID: RootElementMissing,\n _1: id,\n Error: new Error()\n };\n }\n var props = rootElement.getAttribute(attribute);\n if (props == null) {\n throw {\n RE_EXN_ID: RootAttributeMissing,\n _1: attribute,\n Error: new Error()\n };\n }\n tmp = props;\n return Json.parseOrRaise(tmp);\n}\n\nfunction redirect(path) {\n window.location = path;\n}\n\nfunction reload(param) {\n window.location.reload();\n}\n\nfunction isDevelopment(param) {\n var props = document.documentElement.getAttribute(\"data-env\");\n if (props == null) {\n return false;\n } else {\n return props === \"development\";\n }\n}\n\nfunction goBack(param) {\n window.history.back();\n}\n\nfunction getUrlParam(key) {\n return Caml_option.nullable_to_opt(new URLSearchParams(window.location.search).get(key));\n}\n\nfunction hasUrlParam(key) {\n return Belt_Option.isSome(getUrlParam(key));\n}\n\nvar $$FormData = {};\n\nvar $$EventTarget = {};\n\nvar $$Event = {};\n\nfunction clearFileInput(inputId, callBack, param) {\n var e = document.getElementById(inputId);\n if (!(e == null)) {\n e.value = \"\";\n }\n Belt_Option.mapWithDefault(callBack, undefined, (function (cb) {\n Curry._1(cb, undefined);\n }));\n}\n\nvar $$Element = {\n clearFileInput: clearFileInput\n};\n\nexport {\n DataElementMissing ,\n RootElementMissing ,\n RootAttributeMissing ,\n parseJSONTag ,\n parseJSONAttribute ,\n redirect ,\n reload ,\n isDevelopment ,\n goBack ,\n getUrlParam ,\n hasUrlParam ,\n $$FormData ,\n $$EventTarget ,\n $$Event ,\n $$Element ,\n}\n/* No side effect */\n","import \"./iconFirst.css\";\n\nimport iconData from \"./data/paths.json\";\n\nconst xmlns = \"http://www.w3.org/2000/svg\";\n\nconst findIconName = (className) => {\n const iconName = className.match(/i-([a-zA-z0-9\\-]+)/);\n return iconName ? iconName[1] : \"default\";\n};\n\nconst getIconData = (className) => {\n const data = iconData[findIconName(className)];\n return typeof data === \"undefined\" ? iconData[\"default\"] : data;\n};\n\nconst viewboxClass = (width) => {\n switch (width) {\n case 320:\n return \" if-w-10\";\n case 384:\n return \" if-w-12\";\n case 448:\n return \" if-w-14\";\n case 576:\n return \" if-w-18\";\n case 640:\n return \" if-w-20\";\n default:\n return \" if-w-16\";\n }\n};\n\nconst createSvg = (className) => {\n const icon = getIconData(className);\n const el = document.createElementNS(xmlns, \"svg\");\n el.setAttribute(\n \"class\",\n className\n .replace(\"if\", \"if-svg-icon__baseline\")\n .concat(\n viewboxClass(icon.size),\n `${icon.rtlFlip ? \" rtlFlip\" : \"\"} if-h-16`\n )\n );\n el.setAttribute(\"role\", \"img\");\n el.setAttribute(\"xmlns\", xmlns);\n el.setAttribute(\"viewBox\", \"0 0 \".concat(icon.size).concat(\" 512\"));\n\n const path = document.createElementNS(xmlns, \"path\");\n path.setAttribute(\"fill\", \"currentColor\");\n path.setAttribute(\"d\", icon.path);\n el.appendChild(path);\n return el;\n};\n\nexport const transformIcons = () => {\n const elements = Array.from(document.getElementsByClassName(\"if\"));\n elements.forEach((element) => {\n if (element.tagName == \"I\") {\n element.parentNode.replaceChild(createSvg(element.className), element);\n }\n });\n};\n\nexport const addListener = () => {\n window.addEventListener(\"load\", transformIcons);\n};\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as React from \"react\";\nimport * as IconFirst from \"./iconFirst\";\n\nfunction transformIcons(prim) {\n IconFirst.transformIcons();\n}\n\nfunction PfIcon(Props) {\n var className = Props.className;\n React.useEffect((function () {\n IconFirst.transformIcons();\n }), [className]);\n return React.createElement(\"span\", {\n key: className,\n className: \"inline-flex\"\n }, React.createElement(\"i\", {\n className: className\n }));\n}\n\nvar make = PfIcon;\n\nexport {\n transformIcons ,\n make ,\n}\n/* react Not a pure module */\n","\n\nimport * as Curry from \"./curry.js\";\n\nfunction then_(arg1, obj) {\n return obj.then(Curry.__1(arg1));\n}\n\nfunction $$catch(arg1, obj) {\n return obj.catch(Curry.__1(arg1));\n}\n\nexport {\n then_ ,\n $$catch ,\n}\n/* No side effect */\n","\n\nimport * as Curry from \"../../rescript/lib/es6/curry.js\";\nimport * as Caml_option from \"../../rescript/lib/es6/caml_option.js\";\n\nfunction encodeRequestMethod(method_) {\n if (typeof method_ !== \"number\") {\n return method_._0;\n }\n switch (method_) {\n case /* Get */0 :\n return \"GET\";\n case /* Head */1 :\n return \"HEAD\";\n case /* Post */2 :\n return \"POST\";\n case /* Put */3 :\n return \"PUT\";\n case /* Delete */4 :\n return \"DELETE\";\n case /* Connect */5 :\n return \"CONNECT\";\n case /* Options */6 :\n return \"OPTIONS\";\n case /* Trace */7 :\n return \"TRACE\";\n case /* Patch */8 :\n return \"PATCH\";\n \n }\n}\n\nfunction encodeReferrerPolicy(param) {\n switch (param) {\n case /* None */0 :\n return \"\";\n case /* NoReferrer */1 :\n return \"no-referrer\";\n case /* NoReferrerWhenDowngrade */2 :\n return \"no-referrer-when-downgrade\";\n case /* SameOrigin */3 :\n return \"same-origin\";\n case /* Origin */4 :\n return \"origin\";\n case /* StrictOrigin */5 :\n return \"strict-origin\";\n case /* OriginWhenCrossOrigin */6 :\n return \"origin-when-cross-origin\";\n case /* StrictOriginWhenCrossOrigin */7 :\n return \"strict-origin-when-cross-origin\";\n case /* UnsafeUrl */8 :\n return \"unsafe-url\";\n \n }\n}\n\nfunction encodeRequestMode(param) {\n switch (param) {\n case /* Navigate */0 :\n return \"navigate\";\n case /* SameOrigin */1 :\n return \"same-origin\";\n case /* NoCORS */2 :\n return \"no-cors\";\n case /* CORS */3 :\n return \"cors\";\n \n }\n}\n\nfunction encodeRequestCredentials(param) {\n switch (param) {\n case /* Omit */0 :\n return \"omit\";\n case /* SameOrigin */1 :\n return \"same-origin\";\n case /* Include */2 :\n return \"include\";\n \n }\n}\n\nfunction encodeRequestCache(param) {\n switch (param) {\n case /* Default */0 :\n return \"default\";\n case /* NoStore */1 :\n return \"no-store\";\n case /* Reload */2 :\n return \"reload\";\n case /* NoCache */3 :\n return \"no-cache\";\n case /* ForceCache */4 :\n return \"force-cache\";\n case /* OnlyIfCached */5 :\n return \"only-if-cached\";\n \n }\n}\n\nfunction encodeRequestRedirect(param) {\n switch (param) {\n case /* Follow */0 :\n return \"follow\";\n case /* Error */1 :\n return \"error\";\n case /* Manual */2 :\n return \"manual\";\n \n }\n}\n\nvar HeadersInit = {};\n\nfunction append(arg1, arg2, obj) {\n obj.append(arg1, arg2);\n}\n\nfunction $$delete(arg1, obj) {\n obj.delete(arg1);\n}\n\nfunction get(arg1, obj) {\n return Caml_option.null_to_opt(obj.get(arg1));\n}\n\nfunction has(arg1, obj) {\n return obj.has(arg1);\n}\n\nfunction set(arg1, arg2, obj) {\n obj.set(arg1, arg2);\n}\n\nvar $$Headers = {\n append: append,\n $$delete: $$delete,\n get: get,\n has: has,\n set: set\n};\n\nvar BodyInit = {};\n\nfunction map(f, v) {\n if (v !== undefined) {\n return Caml_option.some(Curry._1(f, Caml_option.valFromOption(v)));\n }\n \n}\n\nfunction make(method_, headers, body, referrer, referrerPolicyOpt, mode, credentials, cache, redirect, integrityOpt, keepalive, signal) {\n var referrerPolicy = referrerPolicyOpt !== undefined ? referrerPolicyOpt : /* None */0;\n var integrity = integrityOpt !== undefined ? integrityOpt : \"\";\n var partial_arg = integrity;\n var partial_arg$1 = map(encodeRequestRedirect, redirect);\n var partial_arg$2 = map(encodeRequestCache, cache);\n var partial_arg$3 = map(encodeRequestCredentials, credentials);\n var partial_arg$4 = map(encodeRequestMode, mode);\n var partial_arg$5 = encodeReferrerPolicy(referrerPolicy);\n var partial_arg$6 = map(encodeRequestMethod, method_);\n return function (param) {\n var tmp = {};\n if (partial_arg$6 !== undefined) {\n tmp.method = partial_arg$6;\n }\n if (headers !== undefined) {\n tmp.headers = Caml_option.valFromOption(headers);\n }\n if (body !== undefined) {\n tmp.body = Caml_option.valFromOption(body);\n }\n if (referrer !== undefined) {\n tmp.referrer = referrer;\n }\n if (partial_arg$5 !== undefined) {\n tmp.referrerPolicy = partial_arg$5;\n }\n if (partial_arg$4 !== undefined) {\n tmp.mode = partial_arg$4;\n }\n if (partial_arg$3 !== undefined) {\n tmp.credentials = partial_arg$3;\n }\n if (partial_arg$2 !== undefined) {\n tmp.cache = partial_arg$2;\n }\n if (partial_arg$1 !== undefined) {\n tmp.redirect = partial_arg$1;\n }\n if (partial_arg !== undefined) {\n tmp.integrity = partial_arg;\n }\n if (keepalive !== undefined) {\n tmp.keepalive = keepalive;\n }\n if (signal !== undefined) {\n tmp.signal = Caml_option.valFromOption(signal);\n }\n return tmp;\n };\n}\n\nfunction method_(self) {\n var method_$1 = self.method;\n switch (method_$1) {\n case \"CONNECT\" :\n return /* Connect */5;\n case \"DELETE\" :\n return /* Delete */4;\n case \"GET\" :\n return /* Get */0;\n case \"HEAD\" :\n return /* Head */1;\n case \"OPTIONS\" :\n return /* Options */6;\n case \"PATCH\" :\n return /* Patch */8;\n case \"POST\" :\n return /* Post */2;\n case \"PUT\" :\n return /* Put */3;\n case \"TRACE\" :\n return /* Trace */7;\n default:\n return /* Other */{\n _0: method_$1\n };\n }\n}\n\nfunction type_(self) {\n var e = self.type;\n switch (e) {\n case \"\" :\n return /* None */0;\n case \"audio\" :\n return /* Audio */1;\n case \"font\" :\n return /* Font */2;\n case \"image\" :\n return /* Image */3;\n case \"script\" :\n return /* Script */4;\n case \"style\" :\n return /* Style */5;\n case \"track\" :\n return /* Track */6;\n case \"video\" :\n return /* Video */7;\n default:\n throw {\n RE_EXN_ID: \"Failure\",\n _1: \"Unknown requestType: \" + e,\n Error: new Error()\n };\n }\n}\n\nfunction destination(self) {\n var e = self.destination;\n switch (e) {\n case \"\" :\n return /* None */0;\n case \"document\" :\n return /* Document */1;\n case \"embed\" :\n return /* Embed */2;\n case \"font\" :\n return /* Font */3;\n case \"image\" :\n return /* Image */4;\n case \"manifest\" :\n return /* Manifest */5;\n case \"media\" :\n return /* Media */6;\n case \"object\" :\n return /* Object */7;\n case \"report\" :\n return /* Report */8;\n case \"script\" :\n return /* Script */9;\n case \"serviceworker\" :\n return /* ServiceWorker */10;\n case \"sharedworder\" :\n return /* SharedWorker */11;\n case \"style\" :\n return /* Style */12;\n case \"worker\" :\n return /* Worker */13;\n case \"xslt\" :\n return /* Xslt */14;\n default:\n throw {\n RE_EXN_ID: \"Failure\",\n _1: \"Unknown requestDestination: \" + e,\n Error: new Error()\n };\n }\n}\n\nfunction referrerPolicy(self) {\n var e = self.referrerPolicy;\n switch (e) {\n case \"\" :\n return /* None */0;\n case \"no-referrer\" :\n return /* NoReferrer */1;\n case \"no-referrer-when-downgrade\" :\n return /* NoReferrerWhenDowngrade */2;\n case \"origin\" :\n return /* Origin */4;\n case \"origin-when-cross-origin\" :\n return /* OriginWhenCrossOrigin */6;\n case \"same-origin\" :\n return /* SameOrigin */3;\n case \"strict-origin\" :\n return /* StrictOrigin */5;\n case \"strict-origin-when-cross-origin\" :\n return /* StrictOriginWhenCrossOrigin */7;\n case \"unsafe-url\" :\n return /* UnsafeUrl */8;\n default:\n throw {\n RE_EXN_ID: \"Failure\",\n _1: \"Unknown referrerPolicy: \" + e,\n Error: new Error()\n };\n }\n}\n\nfunction mode(self) {\n var e = self.mode;\n switch (e) {\n case \"cors\" :\n return /* CORS */3;\n case \"navigate\" :\n return /* Navigate */0;\n case \"no-cors\" :\n return /* NoCORS */2;\n case \"same-origin\" :\n return /* SameOrigin */1;\n default:\n throw {\n RE_EXN_ID: \"Failure\",\n _1: \"Unknown requestMode: \" + e,\n Error: new Error()\n };\n }\n}\n\nfunction credentials(self) {\n var e = self.credentials;\n switch (e) {\n case \"include\" :\n return /* Include */2;\n case \"omit\" :\n return /* Omit */0;\n case \"same-origin\" :\n return /* SameOrigin */1;\n default:\n throw {\n RE_EXN_ID: \"Failure\",\n _1: \"Unknown requestCredentials: \" + e,\n Error: new Error()\n };\n }\n}\n\nfunction cache(self) {\n var e = self.cache;\n switch (e) {\n case \"default\" :\n return /* Default */0;\n case \"force-cache\" :\n return /* ForceCache */4;\n case \"no-cache\" :\n return /* NoCache */3;\n case \"no-store\" :\n return /* NoStore */1;\n case \"only-if-cached\" :\n return /* OnlyIfCached */5;\n case \"reload\" :\n return /* Reload */2;\n default:\n throw {\n RE_EXN_ID: \"Failure\",\n _1: \"Unknown requestCache: \" + e,\n Error: new Error()\n };\n }\n}\n\nfunction redirect(self) {\n var e = self.redirect;\n switch (e) {\n case \"error\" :\n return /* Error */1;\n case \"follow\" :\n return /* Follow */0;\n case \"manual\" :\n return /* Manual */2;\n default:\n throw {\n RE_EXN_ID: \"Failure\",\n _1: \"Unknown requestRedirect: \" + e,\n Error: new Error()\n };\n }\n}\n\nfunction classify(t) {\n if (typeof t === \"string\") {\n return {\n NAME: \"String\",\n VAL: t\n };\n } else {\n return {\n NAME: \"File\",\n VAL: t\n };\n }\n}\n\nvar EntryValue = {\n classify: classify\n};\n\nfunction append$1(arg1, arg2, obj) {\n obj.append(arg1, arg2);\n}\n\nfunction $$delete$1(arg1, obj) {\n obj.delete(arg1);\n}\n\nfunction get$1(arg1, obj) {\n return obj.get(arg1);\n}\n\nfunction getAll(arg1, obj) {\n return obj.getAll(arg1);\n}\n\nfunction set$1(arg1, arg2, obj) {\n obj.set(arg1, arg2);\n}\n\nfunction has$1(arg1, obj) {\n return obj.has(arg1);\n}\n\nfunction appendObject(arg1, arg2, filename, obj) {\n obj.append(arg1, arg2, filename !== undefined ? Caml_option.valFromOption(filename) : undefined);\n}\n\nfunction appendBlob(arg1, arg2, filename, obj) {\n obj.append(arg1, arg2, filename !== undefined ? Caml_option.valFromOption(filename) : undefined);\n}\n\nfunction appendFile(arg1, arg2, filename, obj) {\n obj.append(arg1, arg2, filename !== undefined ? Caml_option.valFromOption(filename) : undefined);\n}\n\nfunction setObject(arg1, arg2, filename, obj) {\n obj.set(arg1, arg2, filename !== undefined ? Caml_option.valFromOption(filename) : undefined);\n}\n\nfunction setBlob(arg1, arg2, filename, obj) {\n obj.set(arg1, arg2, filename !== undefined ? Caml_option.valFromOption(filename) : undefined);\n}\n\nfunction setFile(arg1, arg2, filename, obj) {\n obj.set(arg1, arg2, filename !== undefined ? Caml_option.valFromOption(filename) : undefined);\n}\n\nvar $$FormData = {\n EntryValue: EntryValue,\n Iterator: undefined,\n append: append$1,\n $$delete: $$delete$1,\n get: get$1,\n getAll: getAll,\n set: set$1,\n has: has$1,\n appendObject: appendObject,\n appendBlob: appendBlob,\n appendFile: appendFile,\n setObject: setObject,\n setBlob: setBlob,\n setFile: setFile\n};\n\nvar $$AbortController = {\n abort: (function (prim) {\n prim.abort();\n })\n};\n\nfunction Body_arrayBuffer(prim) {\n return prim.arrayBuffer();\n}\n\nfunction Body_blob(prim) {\n return prim.blob();\n}\n\nfunction Body_formData(prim) {\n return prim.formData();\n}\n\nfunction Body_json(prim) {\n return prim.json();\n}\n\nfunction Body_text(prim) {\n return prim.text();\n}\n\nvar Body = {\n arrayBuffer: Body_arrayBuffer,\n blob: Body_blob,\n formData: Body_formData,\n json: Body_json,\n text: Body_text\n};\n\nvar RequestInit = {\n make: make\n};\n\nfunction Request_arrayBuffer(prim) {\n return prim.arrayBuffer();\n}\n\nfunction Request_blob(prim) {\n return prim.blob();\n}\n\nfunction Request_formData(prim) {\n return prim.formData();\n}\n\nfunction Request_json(prim) {\n return prim.json();\n}\n\nfunction Request_text(prim) {\n return prim.text();\n}\n\nvar $$Request = {\n method_: method_,\n type_: type_,\n destination: destination,\n referrerPolicy: referrerPolicy,\n mode: mode,\n credentials: credentials,\n cache: cache,\n redirect: redirect,\n arrayBuffer: Request_arrayBuffer,\n blob: Request_blob,\n formData: Request_formData,\n json: Request_json,\n text: Request_text\n};\n\nfunction Response_clone(prim) {\n return prim.clone();\n}\n\nfunction Response_arrayBuffer(prim) {\n return prim.arrayBuffer();\n}\n\nfunction Response_blob(prim) {\n return prim.blob();\n}\n\nfunction Response_formData(prim) {\n return prim.formData();\n}\n\nfunction Response_json(prim) {\n return prim.json();\n}\n\nfunction Response_text(prim) {\n return prim.text();\n}\n\nvar $$Response = {\n clone: Response_clone,\n arrayBuffer: Response_arrayBuffer,\n blob: Response_blob,\n formData: Response_formData,\n json: Response_json,\n text: Response_text\n};\n\nexport {\n $$AbortController ,\n HeadersInit ,\n $$Headers ,\n BodyInit ,\n Body ,\n RequestInit ,\n $$Request ,\n $$Response ,\n $$FormData ,\n}\n/* No side effect */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as React from \"react\";\n\nfunction FaIcon(Props) {\n var classes = Props.classes;\n return React.createElement(\"span\", {\n key: classes\n }, React.createElement(\"i\", {\n className: classes\n }));\n}\n\nvar make = FaIcon;\n\nexport {\n make ,\n}\n/* react Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as I18n from \"./utils/I18n.bs.js\";\nimport * as Curry from \"../../../node_modules/rescript/lib/es6/curry.js\";\nimport * as Fetch from \"../../../node_modules/bs-fetch/src/Fetch.bs.js\";\nimport * as Js_promise from \"../../../node_modules/rescript/lib/es6/js_promise.js\";\nimport * as Caml_option from \"../../../node_modules/rescript/lib/es6/caml_option.js\";\nimport * as Json_decode from \"../../../node_modules/@glennsl/bs-json/src/Json_decode.bs.js\";\nimport * as $$Notification from \"./Notification.bs.js\";\nimport * as Caml_exceptions from \"../../../node_modules/rescript/lib/es6/caml_exceptions.js\";\n\nvar UnexpectedResponse = /* @__PURE__ */Caml_exceptions.create(\"Api.UnexpectedResponse\");\n\nvar partial_arg = \"components.Api\";\n\nfunction t(param, param$1, param$2) {\n return I18n.t(partial_arg, param, param$1, param$2);\n}\n\nvar partial_arg$1 = \"shared\";\n\nfunction ts(param, param$1, param$2) {\n return I18n.t(partial_arg$1, param, param$1, param$2);\n}\n\nfunction apiErrorTitle(x) {\n if (x.RE_EXN_ID === UnexpectedResponse) {\n return String(x._1);\n } else {\n return t(undefined, undefined, \"error_notification_title\");\n }\n}\n\nfunction acceptOrRejectResponse(response) {\n if (response.ok || response.status === 422) {\n return Fetch.$$Response.json(response);\n } else {\n return Promise.reject({\n RE_EXN_ID: UnexpectedResponse,\n _1: response.status\n });\n }\n}\n\nfunction handleResponseError(error) {\n var title = apiErrorTitle(error);\n $$Notification.error(title, t(undefined, undefined, \"error_notification_body\"));\n}\n\nfunction handleResponseJSON(json, responseCB, errorCB, notify) {\n var error = Json_decode.optional((function (param) {\n return Json_decode.field(\"error\", Json_decode.string, param);\n }), json);\n if (error !== undefined) {\n if (notify) {\n $$Notification.error(ts(undefined, undefined, \"notifications.something_wrong\"), error);\n }\n return Curry._1(errorCB, undefined);\n } else {\n return Curry._1(responseCB, json);\n }\n}\n\nfunction handleResponse(responseCB, errorCB, notifyOpt, promise) {\n var notify = notifyOpt !== undefined ? notifyOpt : true;\n Js_promise.$$catch((function (error) {\n Curry._1(errorCB, undefined);\n console.log(error);\n return Promise.resolve(notify ? handleResponseError(error) : undefined);\n }), Js_promise.then_((function (json) {\n return Promise.resolve(handleResponseJSON(json, responseCB, errorCB, notify));\n }), Js_promise.then_(acceptOrRejectResponse, promise)));\n}\n\nfunction sendPayload(url, payload, responseCB, errorCB, method_) {\n var param;\n var param$1 = fetch(url, Fetch.RequestInit.make(method_, {\n \"Content-Type\": \"application/json\"\n }, Caml_option.some(JSON.stringify(payload)), undefined, undefined, undefined, /* SameOrigin */1, undefined, undefined, undefined, undefined, undefined)(undefined));\n handleResponse(responseCB, errorCB, param, param$1);\n}\n\nfunction sendFormData(url, formData, responseCB, errorCB) {\n var param;\n var param$1 = fetch(url, Fetch.RequestInit.make(/* Post */2, undefined, Caml_option.some(formData), undefined, undefined, undefined, /* SameOrigin */1, undefined, undefined, undefined, undefined, undefined)(undefined));\n handleResponse(responseCB, errorCB, param, param$1);\n}\n\nfunction get(url, responseCB, errorCB, notify) {\n handleResponse(responseCB, errorCB, notify, fetch(url));\n}\n\nfunction create(url, payload, responseCB, errorCB) {\n sendPayload(url, payload, responseCB, errorCB, /* Post */2);\n}\n\nfunction update(url, payload, responseCB, errorCB) {\n sendPayload(url, payload, responseCB, errorCB, /* Patch */8);\n}\n\nexport {\n UnexpectedResponse ,\n t ,\n ts ,\n apiErrorTitle ,\n acceptOrRejectResponse ,\n handleResponseError ,\n handleResponseJSON ,\n handleResponse ,\n sendPayload ,\n sendFormData ,\n get ,\n create ,\n update ,\n}\n/* I18n Not a pure module */\n"],"names":["raiseError","str","$$Error$1","ParseError","Caml_exceptions.create","parseOrRaise","s","raw_e","e","Caml_js_exceptions.internalToOCamlException","Js_exn.$$Error","m","message","DataElementMissing","RootElementMissing","RootAttributeMissing","parseJSONTag","idOpt","param","id","rootElement","tmp","Json.parseOrRaise","parseJSONAttribute","attributeOpt","attribute","props","redirect","path","reload","goBack","getUrlParam","key","Caml_option.nullable_to_opt","hasUrlParam","Belt_Option.isSome","clearFileInput","inputId","callBack","Belt_Option.mapWithDefault","cb","Curry._1","$$Element","xmlns","findIconName","className","iconName","getIconData","data","iconData","viewboxClass","width","createSvg","icon","el","transformIcons","element","addListener","PfIcon","Props","React.useEffect","IconFirst.transformIcons","React.createElement","make","then_","arg1","obj","Curry.__1","$$catch","encodeRequestMethod","method_","encodeReferrerPolicy","encodeRequestMode","encodeRequestCredentials","encodeRequestCache","encodeRequestRedirect","map","f","v","Caml_option.some","Caml_option.valFromOption","headers","body","referrer","referrerPolicyOpt","mode","credentials","cache","integrityOpt","keepalive","signal","referrerPolicy","integrity","partial_arg","partial_arg$1","partial_arg$2","partial_arg$3","partial_arg$4","partial_arg$5","partial_arg$6","RequestInit","Response_clone","prim","Response_arrayBuffer","Response_blob","Response_formData","Response_json","Response_text","$$Response","FaIcon","classes","UnexpectedResponse","t","param$1","param$2","I18n.t","ts","apiErrorTitle","x","acceptOrRejectResponse","response","Fetch.$$Response","handleResponseError","error","title","$$Notification.error","handleResponseJSON","json","responseCB","errorCB","notify","Json_decode.optional","Json_decode.field","Json_decode.string","handleResponse","notifyOpt","promise","Js_promise.$$catch","Js_promise.then_","sendPayload","url","payload","Fetch.RequestInit","sendFormData","formData","get","create","update"],"mappings":"6IAAA,SAASA,GAAWC,EAAK,CACvB,MAAM,IAAI,MAAMA,CAAG,CACrB,CAmBA,IAAIC,EAAY,UCjBZC,EAA4BC,EAAuB,iBAAiB,EAQxE,SAASC,EAAaC,EAAG,CACvB,GAAI,CACF,OAAO,KAAK,MAAMA,CAAC,CACpB,OAAQC,EAAO,CACd,IAAIC,EAAIC,EAA4CF,CAAK,EACzD,GAAIC,EAAE,YAAcE,EAAgB,CAClC,IAAIC,EAAIH,EAAE,GAAG,QACTI,EAAUD,IAAM,OAAYA,EAAI,gBACpC,KAAM,CACJ,UAAWR,EACX,GAAIS,EACJ,MAAO,IAAI,KACnB,CACK,CACD,MAAMJ,CACP,CACH,CCrBA,IAAIK,EAAoCT,EAAuB,6BAA6B,EACxFU,EAAoCV,EAAuB,6BAA6B,EACxFW,EAAsCX,EAAuB,+BAA+B,EAChG,SAASY,GAAaC,EAAOC,EAAO,CAClC,IAAIC,EAAKF,IAAU,OAAYA,EAAQ,kBACnCG,EAAc,SAAS,eAAeD,CAAE,EACxCE,EACJ,GAAID,GAAe,KACjB,KAAM,CACJ,UAAWP,EACX,GAAIM,EACJ,MAAO,IAAI,KACjB,EAEE,OAAAE,EAAMD,EAAY,UACXE,EAAkBD,CAAG,CAC9B,CACA,SAASE,GAAmBN,EAAOO,EAAcN,EAAO,CACtD,IAAIC,EAA2BF,EAC3BQ,EAAyCD,EACzCJ,EAAc,SAAS,eAAeD,CAAE,EACxCE,EACJ,GAAID,GAAe,KACjB,KAAM,CACJ,UAAWN,EACX,GAAIK,EACJ,MAAO,IAAI,KACjB,EAEE,IAAIO,EAAQN,EAAY,aAAaK,CAAS,EAC9C,GAAIC,GAAS,KACX,KAAM,CACJ,UAAWX,EACX,GAAIU,EACJ,MAAO,IAAI,KACjB,EAEE,OAAAJ,EAAMK,EACCJ,EAAkBD,CAAG,CAC9B,CACA,SAASM,GAASC,EAAM,CACtB,OAAO,SAAWA,CACpB,CACA,SAASC,GAAOX,EAAO,CACrB,OAAO,SAAS,QAClB,CASA,SAASY,GAAOZ,EAAO,CACrB,OAAO,QAAQ,MACjB,CACA,SAASa,EAAYC,EAAK,CACxB,OAAOC,EAA4B,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAAE,IAAID,CAAG,CAAC,CACzF,CACA,SAASE,GAAYF,EAAK,CACxB,OAAOG,EAAmBJ,EAAYC,CAAG,CAAC,CAC5C,CAIA,SAASI,GAAeC,EAASC,EAAUpB,EAAO,CAChD,IAAIV,EAAI,SAAS,eAAe6B,CAAO,EACjC7B,GAAK,OACTA,EAAE,MAAQ,IAEZ+B,EAA2BD,EAAU,OAAW,SAAUE,EAAI,CAC5DC,EAASD,EAAI,MAAS,CAC1B,CAAG,CACH,CACG,IAACE,GAAY,CACd,eAAgBN,EAClB,y2sXClFMO,EAAQ,6BACRC,GAAeC,GAAa,CAChC,MAAMC,EAAWD,EAAU,MAAM,oBAAoB,EACrD,OAAOC,EAAWA,EAAS,CAAC,EAAI,SAClC,EACMC,GAAcF,GAAa,CAC/B,MAAMG,EAAOC,EAASL,GAAaC,CAAS,CAAC,EAC7C,OAAO,OAAOG,EAAS,IAAcC,EAAS,QAAaD,CAC7D,EACME,GAAeC,GAAS,CAC5B,OAAQA,EAAK,CACX,IAAK,KACH,MAAO,WACT,IAAK,KACH,MAAO,WACT,IAAK,KACH,MAAO,WACT,IAAK,KACH,MAAO,WACT,IAAK,KACH,MAAO,WACT,QACE,MAAO,UACV,CACH,EACMC,GAAYP,GAAa,CAC7B,MAAMQ,EAAON,GAAYF,CAAS,EAC5BS,EAAK,SAAS,gBAAgBX,EAAO,KAAK,EAChDW,EAAG,aAAa,QAAST,EAAU,QAAQ,KAAM,uBAAuB,EAAE,OAAOK,GAAaG,EAAK,IAAI,EAAG,GAAGA,EAAK,QAAU,WAAa,EAAE,UAAU,CAAC,EACtJC,EAAG,aAAa,OAAQ,KAAK,EAC7BA,EAAG,aAAa,QAASX,CAAK,EAC9BW,EAAG,aAAa,UAAW,OAAO,OAAOD,EAAK,IAAI,EAAE,OAAO,MAAM,CAAC,EAClE,MAAMzB,EAAO,SAAS,gBAAgBe,EAAO,MAAM,EACnD,OAAAf,EAAK,aAAa,OAAQ,cAAc,EACxCA,EAAK,aAAa,IAAKyB,EAAK,IAAI,EAChCC,EAAG,YAAY1B,CAAI,EACZ0B,CACT,EACaC,EAAiB,IAAM,CACjB,MAAM,KAAK,SAAS,uBAAuB,IAAI,CAAC,EACxD,QAAQC,GAAW,CACtBA,EAAQ,SAAW,KACrBA,EAAQ,WAAW,aAAaJ,GAAUI,EAAQ,SAAS,EAAGA,CAAO,CAE3E,CAAG,CACH,EACaC,GAAc,IAAM,CAC/B,OAAO,iBAAiB,OAAQF,CAAc,CAChD,EC3CA,SAASG,GAAOC,EAAO,CACrB,IAAId,EAAYc,EAAM,UACtBC,OAAAA,EAAAA,UAAgB,UAAY,CAC1BC,GACJ,EAAK,CAAChB,CAAS,CAAC,EACPiB,EAAAA,cAAoB,OAAQ,CACjC,IAAKjB,EACL,UAAW,aACf,EAAKiB,EAAAA,cAAoB,IAAK,CAC1B,UAAWjB,CACZ,CAAA,CAAC,CACJ,CACG,IAACkB,GAAOL,GClBX,SAASM,EAAMC,EAAMC,EAAK,CACxB,OAAOA,EAAI,KAAKC,EAAUF,CAAI,CAAC,CACjC,CACA,SAASG,GAAQH,EAAMC,EAAK,CAC1B,OAAOA,EAAI,MAAMC,EAAUF,CAAI,CAAC,CAClC,CCJA,SAASI,GAAoBC,EAAS,CACpC,GAAI,OAAOA,GAAY,SACrB,OAAOA,EAAQ,GAEjB,OAAQA,EAAO,CACb,IAAc,GACZ,MAAO,MACT,IAAe,GACb,MAAO,OACT,IAAe,GACb,MAAO,OACT,IAAc,GACZ,MAAO,MACT,IAAiB,GACf,MAAO,SACT,IAAkB,GAChB,MAAO,UACT,IAAkB,GAChB,MAAO,UACT,IAAgB,GACd,MAAO,QACT,IAAgB,GACd,MAAO,OACV,CACH,CACA,SAASC,GAAqBrD,EAAO,CACnC,OAAQA,EAAK,CACX,IAAe,GACb,MAAO,GACT,IAAqB,GACnB,MAAO,cACT,IAAkC,GAChC,MAAO,6BACT,IAAqB,GACnB,MAAO,cACT,IAAiB,GACf,MAAO,SACT,IAAuB,GACrB,MAAO,gBACT,IAAgC,GAC9B,MAAO,2BACT,IAAsC,GACpC,MAAO,kCACT,IAAoB,GAClB,MAAO,YACV,CACH,CACA,SAASsD,GAAkBtD,EAAO,CAChC,OAAQA,EAAK,CACX,IAAmB,GACjB,MAAO,WACT,IAAqB,GACnB,MAAO,cACT,IAAiB,GACf,MAAO,UACT,IAAe,GACb,MAAO,MACV,CACH,CACA,SAASuD,GAAyBvD,EAAO,CACvC,OAAQA,EAAK,CACX,IAAe,GACb,MAAO,OACT,IAAqB,GACnB,MAAO,cACT,IAAkB,GAChB,MAAO,SACV,CACH,CACA,SAASwD,GAAmBxD,EAAO,CACjC,OAAQA,EAAK,CACX,IAAkB,GAChB,MAAO,UACT,IAAkB,GAChB,MAAO,WACT,IAAiB,GACf,MAAO,SACT,IAAkB,GAChB,MAAO,WACT,IAAqB,GACnB,MAAO,cACT,IAAuB,GACrB,MAAO,gBACV,CACH,CACA,SAASyD,GAAsBzD,EAAO,CACpC,OAAQA,EAAK,CACX,IAAiB,GACf,MAAO,SACT,IAAgB,GACd,MAAO,QACT,IAAiB,GACf,MAAO,QACV,CACH,CAyBA,SAAS0D,EAAIC,EAAGC,EAAG,CACjB,GAAIA,IAAM,OACR,OAAOC,EAAiBtC,EAASoC,EAAGG,EAA0BF,CAAC,CAAC,CAAC,CAErE,CACA,SAASf,GAAKO,EAASW,EAASC,EAAMC,EAAUC,EAAmBC,EAAMC,EAAaC,EAAO5D,EAAU6D,EAAcC,EAAWC,EAAQ,CACtI,IAAIC,EAAiBP,IAAsB,OAAYA,EAA8B,EACjFQ,EAAYJ,IAAiB,OAAYA,EAAe,GACxDK,EAAcD,EACdE,EAAgBlB,EAAID,GAAuBhD,CAAQ,EACnDoE,EAAgBnB,EAAIF,GAAoBa,CAAK,EAC7CS,EAAgBpB,EAAIH,GAA0Ba,CAAW,EACzDW,EAAgBrB,EAAIJ,GAAmBa,CAAI,EAC3Ca,EAAgB3B,GAAqBoB,CAAc,EACnDQ,EAAgBvB,EAAIP,GAAqBC,CAAO,EACpD,OAAO,SAAUpD,GAAO,CACtB,IAAIG,EAAM,CAAA,EACV,OAAI8E,IAAkB,SACpB9E,EAAI,OAAS8E,GAEXlB,IAAY,SACd5D,EAAI,QAAU2D,EAA0BC,CAAO,GAE7CC,IAAS,SACX7D,EAAI,KAAO2D,EAA0BE,CAAI,GAEvCC,IAAa,SACf9D,EAAI,SAAW8D,GAEbe,IAAkB,SACpB7E,EAAI,eAAiB6E,GAEnBD,IAAkB,SACpB5E,EAAI,KAAO4E,GAETD,IAAkB,SACpB3E,EAAI,YAAc2E,GAEhBD,IAAkB,SACpB1E,EAAI,MAAQ0E,GAEVD,IAAkB,SACpBzE,EAAI,SAAWyE,GAEbD,IAAgB,SAClBxE,EAAI,UAAYwE,GAEdJ,IAAc,SAChBpE,EAAI,UAAYoE,GAEdC,IAAW,SACbrE,EAAI,OAAS2D,EAA0BU,CAAM,GAExCrE,CACX,CACA,CAkWG,IAAC+E,EAAc,CAChB,KAAMrC,EACR,EA+BA,SAASsC,GAAeC,EAAM,CAC5B,OAAOA,EAAK,OACd,CACA,SAASC,GAAqBD,EAAM,CAClC,OAAOA,EAAK,aACd,CACA,SAASE,GAAcF,EAAM,CAC3B,OAAOA,EAAK,MACd,CACA,SAASG,GAAkBH,EAAM,CAC/B,OAAOA,EAAK,UACd,CACA,SAASI,GAAcJ,EAAM,CAC3B,OAAOA,EAAK,MACd,CACA,SAASK,GAAcL,EAAM,CAC3B,OAAOA,EAAK,MACd,CACG,IAACM,GAAa,CACf,MAAOP,GACP,YAAaE,GACb,KAAMC,GACN,SAAUC,GACV,KAAMC,GACN,KAAMC,EACR,ECzkBA,SAASE,GAAOlD,EAAO,CACrB,IAAImD,EAAUnD,EAAM,QACpB,OAAOG,EAAAA,cAAoB,OAAQ,CACjC,IAAKgD,CACT,EAAKhD,EAAAA,cAAoB,IAAK,CAC1B,UAAWgD,CACZ,CAAA,CAAC,CACJ,CACG,IAAC/C,GAAO8C,GCDPE,EAAoC3G,EAAuB,wBAAwB,EACnFyF,GAAc,iBAClB,SAASmB,EAAE9F,EAAO+F,EAASC,EAAS,CAClC,OAAOC,EAAOtB,GAAa3E,EAAO+F,EAASC,CAAO,CACpD,CACA,IAAIpB,GAAgB,SACpB,SAASsB,GAAGlG,EAAO+F,EAASC,EAAS,CACnC,OAAOC,EAAOrB,GAAe5E,EAAO+F,EAASC,CAAO,CACtD,CACA,SAASG,GAAcC,EAAG,CACxB,OAAIA,EAAE,YAAcP,EACX,OAAOO,EAAE,EAAE,EAEXN,EAAE,OAAW,OAAW,0BAA0B,CAE7D,CACA,SAASO,GAAuBC,EAAU,CACxC,OAAIA,EAAS,IAAMA,EAAS,SAAW,IAC9BC,GAAiB,KAAKD,CAAQ,EAE9B,QAAQ,OAAO,CACpB,UAAWT,EACX,GAAIS,EAAS,MACnB,CAAK,CAEL,CACA,SAASE,GAAoBC,EAAO,CAClC,IAAIC,EAAQP,GAAcM,CAAK,EAC/BE,EAAqBD,EAAOZ,EAAE,OAAW,OAAW,yBAAyB,CAAC,CAChF,CACA,SAASc,GAAmBC,EAAMC,EAAYC,EAASC,EAAQ,CAC7D,IAAIP,EAAQQ,EAAqB,SAAUjH,EAAO,CAChD,OAAOkH,EAAkB,QAASC,EAAoBnH,CAAK,CAC5D,EAAE6G,CAAI,EACP,OAAIJ,IAAU,QACRO,GACFL,EAAqBT,GAAG,OAAW,OAAW,+BAA+B,EAAGO,CAAK,EAEhFlF,EAASwF,EAAS,MAAS,GAE3BxF,EAASuF,EAAYD,CAAI,CAEpC,CACA,SAASO,EAAeN,EAAYC,EAASM,EAAWC,EAAS,CAC/D,IAAIN,EAASK,IAAc,OAAYA,EAAY,GACnDE,GAAmB,SAAUd,EAAO,CAClClF,OAAAA,EAASwF,EAAS,MAAS,EAC3B,QAAQ,IAAIN,CAAK,EACV,QAAQ,QAAQO,EAASR,GAAoBC,CAAK,EAAI,MAAS,CAC1E,EAAKe,EAAiB,SAAUX,EAAM,CAClC,OAAO,QAAQ,QAAQD,GAAmBC,EAAMC,EAAYC,EAASC,CAAM,CAAC,CAC7E,EAAEQ,EAAiBnB,GAAwBiB,CAAO,CAAC,CAAC,CACvD,CACA,SAASG,EAAYC,EAAKC,EAASb,EAAYC,EAAS3D,EAAS,CAC/D,IAAIpD,EACA+F,EAAU,MAAM2B,EAAKE,EAAkB,KAAKxE,EAAS,CACvD,eAAgB,kBACpB,EAAKS,EAAiB,KAAK,UAAU8D,CAAO,CAAC,EAAG,OAAW,OAAW,OAA2B,EAAG,OAAW,OAAW,OAAW,OAAW,MAAS,EAAE,MAAS,CAAC,EACnKP,EAAeN,EAAYC,EAAS/G,EAAO+F,CAAO,CACpD,CACA,SAAS8B,GAAaH,EAAKI,EAAUhB,EAAYC,EAAS,CACxD,IAAI/G,EACA+F,EAAU,MAAM2B,EAAKE,EAAkB,KAAgB,EAAG,OAAW/D,EAAiBiE,CAAQ,EAAG,OAAW,OAAW,OAA2B,EAAG,OAAW,OAAW,OAAW,OAAW,MAAS,EAAE,MAAS,CAAC,EAC1NV,EAAeN,EAAYC,EAAS/G,EAAO+F,CAAO,CACpD,CACA,SAASgC,GAAIL,EAAKZ,EAAYC,EAASC,EAAQ,CAC7CI,EAAeN,EAAYC,EAASC,EAAQ,MAAMU,CAAG,CAAC,CACxD,CACA,SAASM,GAAON,EAAKC,EAASb,EAAYC,EAAS,CACjDU,EAAYC,EAAKC,EAASb,EAAYC,EAAmB,CAAC,CAC5D,CACA,SAASkB,GAAOP,EAAKC,EAASb,EAAYC,EAAS,CACjDU,EAAYC,EAAKC,EAASb,EAAYC,EAAoB,CAAC,CAC7D","x_google_ignoreList":[0,1,5,6]}