{"version":3,"file":"js/rescript-bundles-tsds-dashboard-edit-DashboardTsdEdit-res-b521178ab5a20f66af7d.chunk.js","mappings":"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","sources":["webpack://datacenters/./client/app/rescript/bundles/tsds/dashboard/edit/components/DashboardTsdEditForm.res.js","webpack://datacenters/./client/app/rescript/bundles/tsds/dashboard/edit/DashboardTsdEdit.res.js","webpack://datacenters/./client/app/rescript/routes/common/Routes_Tsd.res.js","webpack://datacenters/./client/app/rescript/styleguide/dashboard/components/documents/pdf/DashboardDocumentPdf.res.js","webpack://datacenters/./client/app/rescript/styleguide/dashboard/components/documents/pdf/DashboardDocumentPdfCss.res.js"],"sourcesContent":["// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as H1 from \"../../../../../styleguide/components/Heading/H1.res.js\";\nimport * as Hr from \"../../../../../styleguide/components/Hr/Hr.res.js\";\nimport * as Url from \"../../../../../utils/Url.res.js\";\nimport * as Label from \"../../../../../styleguide/forms/Label/Label.res.js\";\nimport * as React from \"react\";\nimport * as Button from \"../../../../../styleguide/components/Button/Button.res.js\";\nimport * as Toggle from \"../../../../../styleguide/forms/Toggle/Toggle.res.js\";\nimport * as Api_Tsd from \"../../../../../api/tsds/Api_Tsd.res.js\";\nimport * as $$Promise from \"../../../../../bindings/Promise.res.js\";\nimport * as IconView from \"../../../../../styleguide/icons/IconView.res.js\";\nimport * as Textarea from \"../../../../../styleguide/forms/Textarea/Textarea.res.js\";\nimport * as Uploader from \"../../../../../styleguide/forms/Uploader/Uploader.res.js\";\nimport * as Formality from \"re-formality/src/Formality.res.js\";\nimport * as TextField from \"../../../../../styleguide/forms/TextField/TextField.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as Routes_Tsd from \"../../../../../routes/common/Routes_Tsd.res.js\";\nimport * as Belt_Option from \"rescript/lib/es6/belt_Option.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as SentryLogger from \"../../../../../loggers/SentryLogger.res.js\";\nimport * as DashboardForm from \"../../../../../styleguide/dashboard/components/forms/DashboardForm.res.js\";\nimport * as ReactDatepicker from \"../../../../../bindings/ReactDatepicker.res.js\";\nimport * as ResponseMessage from \"../../../../../styleguide/forms/ResponseMessage/ResponseMessage.res.js\";\nimport * as ActiveModelError from \"../../../../../models/ActiveModelError.res.js\";\nimport * as DashboardFormCss from \"../../../../../styleguide/dashboard/components/forms/DashboardFormCss.res.js\";\nimport * as ResourceDocument from \"../../../../resources/resource-new/ResourceDocument.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as DashboardDocumentPdf from \"../../../../../styleguide/dashboard/components/documents/pdf/DashboardDocumentPdf.res.js\";\nimport * as IconAdditionalUpload from \"../../../../../styleguide/icons/IconAdditionalUpload.res.js\";\nimport * as Formality__ReactUpdate from \"re-formality/src/Formality__ReactUpdate.res.js\";\n\nfunction reducer(state, action) {\n  if (typeof action !== \"object\") {\n    if (action === \"SetUsernameVisible\") {\n      return {\n              message: state.message,\n              document: state.document,\n              contractResource: state.contractResource,\n              messages: state.messages,\n              usernameVisible: !state.usernameVisible,\n              passwordVisible: state.passwordVisible\n            };\n    } else {\n      return {\n              message: state.message,\n              document: state.document,\n              contractResource: state.contractResource,\n              messages: state.messages,\n              usernameVisible: state.usernameVisible,\n              passwordVisible: !state.passwordVisible\n            };\n    }\n  }\n  switch (action.TAG) {\n    case \"SetMessage\" :\n        return {\n                message: action._0,\n                document: state.document,\n                contractResource: state.contractResource,\n                messages: state.messages,\n                usernameVisible: state.usernameVisible,\n                passwordVisible: state.passwordVisible\n              };\n    case \"SetDocument\" :\n        return {\n                message: state.message,\n                document: action._0,\n                contractResource: state.contractResource,\n                messages: state.messages,\n                usernameVisible: state.usernameVisible,\n                passwordVisible: state.passwordVisible\n              };\n    case \"SetMessages\" :\n        return {\n                message: state.message,\n                document: state.document,\n                contractResource: state.contractResource,\n                messages: action._0,\n                usernameVisible: state.usernameVisible,\n                passwordVisible: state.passwordVisible\n              };\n    case \"SetContractResource\" :\n        return {\n                message: state.message,\n                document: state.document,\n                contractResource: action._0,\n                messages: state.messages,\n                usernameVisible: state.usernameVisible,\n                passwordVisible: state.passwordVisible\n              };\n    \n  }\n}\n\nvar validators_contractStart = {\n  strategy: \"OnFirstSuccessOrFirstBlur\",\n  validate: (function (input) {\n      var x = input.contractStart;\n      if (x !== undefined) {\n        return {\n                TAG: \"Ok\",\n                _0: Caml_option.valFromOption(x).toString()\n              };\n      } else {\n        return {\n                TAG: \"Error\",\n                _0: \"Contract Start Date is required\"\n              };\n      }\n    })\n};\n\nvar validators_name = {\n  strategy: \"OnFirstSuccessOrFirstBlur\",\n  validate: (function (input) {\n      var x = input.name;\n      if (x.trim() === \"\") {\n        return {\n                TAG: \"Error\",\n                _0: \"Name is required\"\n              };\n      } else {\n        return {\n                TAG: \"Ok\",\n                _0: input.name\n              };\n      }\n    })\n};\n\nvar validators = {\n  encryptedPassword: undefined,\n  username: undefined,\n  adminUrl: undefined,\n  homeUrl: undefined,\n  contractStart: validators_contractStart,\n  description: undefined,\n  active: undefined,\n  name: validators_name\n};\n\nfunction initialFieldsStatuses(_input) {\n  return {\n          encryptedPassword: \"Pristine\",\n          username: \"Pristine\",\n          adminUrl: \"Pristine\",\n          homeUrl: \"Pristine\",\n          contractStart: \"Pristine\",\n          description: \"Pristine\",\n          active: \"Pristine\",\n          name: \"Pristine\"\n        };\n}\n\nfunction initialState(input) {\n  return {\n          input: input,\n          fieldsStatuses: initialFieldsStatuses(input),\n          collectionsStatuses: undefined,\n          formStatus: \"Editing\",\n          submissionStatus: \"NeverSubmitted\"\n        };\n}\n\nfunction validateForm(input, validators, fieldsStatuses) {\n  var match_0 = {\n    TAG: \"Ok\",\n    _0: input.encryptedPassword\n  };\n  var match_0$1 = {\n    TAG: \"Ok\",\n    _0: input.username\n  };\n  var match_0$2 = {\n    TAG: \"Ok\",\n    _0: input.adminUrl\n  };\n  var match_0$3 = {\n    TAG: \"Ok\",\n    _0: input.homeUrl\n  };\n  var match = fieldsStatuses.contractStart;\n  var tmp;\n  tmp = typeof match !== \"object\" ? validators.contractStart.validate(input) : match._0;\n  var match_0$4 = {\n    TAG: \"Ok\",\n    _0: input.description\n  };\n  var match_0$5 = {\n    TAG: \"Ok\",\n    _0: input.active\n  };\n  var match$1 = fieldsStatuses.name;\n  var tmp$1;\n  tmp$1 = typeof match$1 !== \"object\" ? validators.name.validate(input) : match$1._0;\n  var encryptedPasswordResult = match_0;\n  var encryptedPasswordResult$1;\n  if (encryptedPasswordResult.TAG === \"Ok\") {\n    var usernameResult = match_0$1;\n    if (usernameResult.TAG === \"Ok\") {\n      var adminUrlResult = match_0$2;\n      if (adminUrlResult.TAG === \"Ok\") {\n        var homeUrlResult = match_0$3;\n        if (homeUrlResult.TAG === \"Ok\") {\n          var contractStartResult = tmp;\n          if (contractStartResult.TAG === \"Ok\") {\n            var descriptionResult = match_0$4;\n            if (descriptionResult.TAG === \"Ok\") {\n              var activeResult = match_0$5;\n              if (activeResult.TAG === \"Ok\") {\n                var nameResult = tmp$1;\n                if (nameResult.TAG === \"Ok\") {\n                  return {\n                          TAG: \"Valid\",\n                          output: {\n                            name: nameResult._0,\n                            active: activeResult._0,\n                            description: descriptionResult._0,\n                            contractStart: contractStartResult._0,\n                            homeUrl: homeUrlResult._0,\n                            adminUrl: adminUrlResult._0,\n                            username: usernameResult._0,\n                            encryptedPassword: encryptedPasswordResult._0\n                          },\n                          fieldsStatuses: {\n                            encryptedPassword: {\n                              TAG: \"Dirty\",\n                              _0: encryptedPasswordResult,\n                              _1: \"Hidden\"\n                            },\n                            username: {\n                              TAG: \"Dirty\",\n                              _0: usernameResult,\n                              _1: \"Hidden\"\n                            },\n                            adminUrl: {\n                              TAG: \"Dirty\",\n                              _0: adminUrlResult,\n                              _1: \"Hidden\"\n                            },\n                            homeUrl: {\n                              TAG: \"Dirty\",\n                              _0: homeUrlResult,\n                              _1: \"Hidden\"\n                            },\n                            contractStart: {\n                              TAG: \"Dirty\",\n                              _0: contractStartResult,\n                              _1: \"Shown\"\n                            },\n                            description: {\n                              TAG: \"Dirty\",\n                              _0: descriptionResult,\n                              _1: \"Hidden\"\n                            },\n                            active: {\n                              TAG: \"Dirty\",\n                              _0: activeResult,\n                              _1: \"Hidden\"\n                            },\n                            name: {\n                              TAG: \"Dirty\",\n                              _0: nameResult,\n                              _1: \"Shown\"\n                            }\n                          },\n                          collectionsStatuses: undefined\n                        };\n                }\n                encryptedPasswordResult$1 = encryptedPasswordResult;\n              } else {\n                encryptedPasswordResult$1 = encryptedPasswordResult;\n              }\n            } else {\n              encryptedPasswordResult$1 = encryptedPasswordResult;\n            }\n          } else {\n            encryptedPasswordResult$1 = encryptedPasswordResult;\n          }\n        } else {\n          encryptedPasswordResult$1 = encryptedPasswordResult;\n        }\n      } else {\n        encryptedPasswordResult$1 = encryptedPasswordResult;\n      }\n    } else {\n      encryptedPasswordResult$1 = encryptedPasswordResult;\n    }\n  } else {\n    encryptedPasswordResult$1 = encryptedPasswordResult;\n  }\n  return {\n          TAG: \"Invalid\",\n          fieldsStatuses: {\n            encryptedPassword: {\n              TAG: \"Dirty\",\n              _0: encryptedPasswordResult$1,\n              _1: \"Hidden\"\n            },\n            username: {\n              TAG: \"Dirty\",\n              _0: match_0$1,\n              _1: \"Hidden\"\n            },\n            adminUrl: {\n              TAG: \"Dirty\",\n              _0: match_0$2,\n              _1: \"Hidden\"\n            },\n            homeUrl: {\n              TAG: \"Dirty\",\n              _0: match_0$3,\n              _1: \"Hidden\"\n            },\n            contractStart: {\n              TAG: \"Dirty\",\n              _0: tmp,\n              _1: \"Shown\"\n            },\n            description: {\n              TAG: \"Dirty\",\n              _0: match_0$4,\n              _1: \"Hidden\"\n            },\n            active: {\n              TAG: \"Dirty\",\n              _0: match_0$5,\n              _1: \"Hidden\"\n            },\n            name: {\n              TAG: \"Dirty\",\n              _0: tmp$1,\n              _1: \"Shown\"\n            }\n          },\n          collectionsStatuses: undefined\n        };\n}\n\nfunction useForm(initialInput, onSubmit) {\n  var memoizedInitialState = React.useMemo((function () {\n          return initialState(initialInput);\n        }), [initialInput]);\n  var match = Formality__ReactUpdate.useReducer(memoizedInitialState, (function (state, action) {\n          if (typeof action !== \"object\") {\n            switch (action) {\n              case \"BlurEncryptedPasswordField\" :\n                  var result = Formality.validateFieldOnBlurWithoutValidator(state.input.encryptedPassword, state.fieldsStatuses.encryptedPassword, (function (status) {\n                          var init = state.fieldsStatuses;\n                          return {\n                                  encryptedPassword: status,\n                                  username: init.username,\n                                  adminUrl: init.adminUrl,\n                                  homeUrl: init.homeUrl,\n                                  contractStart: init.contractStart,\n                                  description: init.description,\n                                  active: init.active,\n                                  name: init.name\n                                };\n                        }));\n                  if (result !== undefined) {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: result,\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: state.formStatus,\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  } else {\n                    return \"NoUpdate\";\n                  }\n              case \"BlurUsernameField\" :\n                  var result$1 = Formality.validateFieldOnBlurWithoutValidator(state.input.username, state.fieldsStatuses.username, (function (status) {\n                          var init = state.fieldsStatuses;\n                          return {\n                                  encryptedPassword: init.encryptedPassword,\n                                  username: status,\n                                  adminUrl: init.adminUrl,\n                                  homeUrl: init.homeUrl,\n                                  contractStart: init.contractStart,\n                                  description: init.description,\n                                  active: init.active,\n                                  name: init.name\n                                };\n                        }));\n                  if (result$1 !== undefined) {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: result$1,\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: state.formStatus,\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  } else {\n                    return \"NoUpdate\";\n                  }\n              case \"BlurAdminUrlField\" :\n                  var result$2 = Formality.validateFieldOnBlurWithoutValidator(state.input.adminUrl, state.fieldsStatuses.adminUrl, (function (status) {\n                          var init = state.fieldsStatuses;\n                          return {\n                                  encryptedPassword: init.encryptedPassword,\n                                  username: init.username,\n                                  adminUrl: status,\n                                  homeUrl: init.homeUrl,\n                                  contractStart: init.contractStart,\n                                  description: init.description,\n                                  active: init.active,\n                                  name: init.name\n                                };\n                        }));\n                  if (result$2 !== undefined) {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: result$2,\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: state.formStatus,\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  } else {\n                    return \"NoUpdate\";\n                  }\n              case \"BlurHomeUrlField\" :\n                  var result$3 = Formality.validateFieldOnBlurWithoutValidator(state.input.homeUrl, state.fieldsStatuses.homeUrl, (function (status) {\n                          var init = state.fieldsStatuses;\n                          return {\n                                  encryptedPassword: init.encryptedPassword,\n                                  username: init.username,\n                                  adminUrl: init.adminUrl,\n                                  homeUrl: status,\n                                  contractStart: init.contractStart,\n                                  description: init.description,\n                                  active: init.active,\n                                  name: init.name\n                                };\n                        }));\n                  if (result$3 !== undefined) {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: result$3,\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: state.formStatus,\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  } else {\n                    return \"NoUpdate\";\n                  }\n              case \"BlurContractStartField\" :\n                  var result$4 = Formality.validateFieldOnBlurWithValidator(state.input, state.fieldsStatuses.contractStart, validators_contractStart, (function (status) {\n                          var init = state.fieldsStatuses;\n                          return {\n                                  encryptedPassword: init.encryptedPassword,\n                                  username: init.username,\n                                  adminUrl: init.adminUrl,\n                                  homeUrl: init.homeUrl,\n                                  contractStart: status,\n                                  description: init.description,\n                                  active: init.active,\n                                  name: init.name\n                                };\n                        }));\n                  if (result$4 !== undefined) {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: result$4,\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: state.formStatus,\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  } else {\n                    return \"NoUpdate\";\n                  }\n              case \"BlurDescriptionField\" :\n                  var result$5 = Formality.validateFieldOnBlurWithoutValidator(state.input.description, state.fieldsStatuses.description, (function (status) {\n                          var init = state.fieldsStatuses;\n                          return {\n                                  encryptedPassword: init.encryptedPassword,\n                                  username: init.username,\n                                  adminUrl: init.adminUrl,\n                                  homeUrl: init.homeUrl,\n                                  contractStart: init.contractStart,\n                                  description: status,\n                                  active: init.active,\n                                  name: init.name\n                                };\n                        }));\n                  if (result$5 !== undefined) {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: result$5,\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: state.formStatus,\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  } else {\n                    return \"NoUpdate\";\n                  }\n              case \"BlurActiveField\" :\n                  var result$6 = Formality.validateFieldOnBlurWithoutValidator(state.input.active, state.fieldsStatuses.active, (function (status) {\n                          var init = state.fieldsStatuses;\n                          return {\n                                  encryptedPassword: init.encryptedPassword,\n                                  username: init.username,\n                                  adminUrl: init.adminUrl,\n                                  homeUrl: init.homeUrl,\n                                  contractStart: init.contractStart,\n                                  description: init.description,\n                                  active: status,\n                                  name: init.name\n                                };\n                        }));\n                  if (result$6 !== undefined) {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: result$6,\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: state.formStatus,\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  } else {\n                    return \"NoUpdate\";\n                  }\n              case \"BlurNameField\" :\n                  var result$7 = Formality.validateFieldOnBlurWithValidator(state.input, state.fieldsStatuses.name, validators_name, (function (status) {\n                          var init = state.fieldsStatuses;\n                          return {\n                                  encryptedPassword: init.encryptedPassword,\n                                  username: init.username,\n                                  adminUrl: init.adminUrl,\n                                  homeUrl: init.homeUrl,\n                                  contractStart: init.contractStart,\n                                  description: init.description,\n                                  active: init.active,\n                                  name: status\n                                };\n                        }));\n                  if (result$7 !== undefined) {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: result$7,\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: state.formStatus,\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  } else {\n                    return \"NoUpdate\";\n                  }\n              case \"Submit\" :\n                  var match = state.formStatus;\n                  if (typeof match === \"object\" && match.TAG === \"Submitting\") {\n                    return \"NoUpdate\";\n                  }\n                  var match$1 = validateForm(state.input, validators, state.fieldsStatuses);\n                  if (match$1.TAG !== \"Valid\") {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: match$1.fieldsStatuses,\n                              collectionsStatuses: match$1.collectionsStatuses,\n                              formStatus: \"Editing\",\n                              submissionStatus: \"AttemptedToSubmit\"\n                            }\n                          };\n                  }\n                  var output = match$1.output;\n                  var error = state.formStatus;\n                  var tmp;\n                  tmp = typeof error !== \"object\" || error.TAG !== \"SubmissionFailed\" ? undefined : Caml_option.some(error._0);\n                  return {\n                          TAG: \"UpdateWithSideEffects\",\n                          _0: {\n                            input: state.input,\n                            fieldsStatuses: match$1.fieldsStatuses,\n                            collectionsStatuses: match$1.collectionsStatuses,\n                            formStatus: {\n                              TAG: \"Submitting\",\n                              _0: tmp\n                            },\n                            submissionStatus: \"AttemptedToSubmit\"\n                          },\n                          _1: (function (param) {\n                              var dispatch = param.dispatch;\n                              onSubmit(output, {\n                                    notifyOnSuccess: (function (input) {\n                                        dispatch({\n                                              TAG: \"SetSubmittedStatus\",\n                                              _0: input\n                                            });\n                                      }),\n                                    notifyOnFailure: (function (error) {\n                                        dispatch({\n                                              TAG: \"SetSubmissionFailedStatus\",\n                                              _0: error\n                                            });\n                                      }),\n                                    reset: (function () {\n                                        dispatch(\"Reset\");\n                                      }),\n                                    dismissSubmissionResult: (function () {\n                                        dispatch(\"DismissSubmissionResult\");\n                                      })\n                                  });\n                            })\n                        };\n                  break;\n              case \"DismissSubmissionError\" :\n                  var match$2 = state.formStatus;\n                  if (typeof match$2 !== \"object\" || match$2.TAG !== \"SubmissionFailed\") {\n                    return \"NoUpdate\";\n                  } else {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: state.fieldsStatuses,\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: \"Editing\",\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  }\n              case \"DismissSubmissionResult\" :\n                  var match$3 = state.formStatus;\n                  if (typeof match$3 !== \"object\") {\n                    if (match$3 === \"Editing\") {\n                      return \"NoUpdate\";\n                    }\n                    \n                  } else if (match$3.TAG === \"Submitting\") {\n                    return \"NoUpdate\";\n                  }\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: state.input,\n                            fieldsStatuses: state.fieldsStatuses,\n                            collectionsStatuses: state.collectionsStatuses,\n                            formStatus: \"Editing\",\n                            submissionStatus: state.submissionStatus\n                          }\n                        };\n              case \"Reset\" :\n                  return {\n                          TAG: \"Update\",\n                          _0: initialState(initialInput)\n                        };\n              \n            }\n          } else {\n            switch (action.TAG) {\n              case \"UpdateEncryptedPasswordField\" :\n                  var nextInput = action._0(state.input);\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: nextInput,\n                            fieldsStatuses: Formality.validateFieldOnChangeWithoutValidator(nextInput.encryptedPassword, (function (status) {\n                                    var init = state.fieldsStatuses;\n                                    return {\n                                            encryptedPassword: status,\n                                            username: init.username,\n                                            adminUrl: init.adminUrl,\n                                            homeUrl: init.homeUrl,\n                                            contractStart: init.contractStart,\n                                            description: init.description,\n                                            active: init.active,\n                                            name: init.name\n                                          };\n                                  })),\n                            collectionsStatuses: state.collectionsStatuses,\n                            formStatus: state.formStatus,\n                            submissionStatus: state.submissionStatus\n                          }\n                        };\n              case \"UpdateUsernameField\" :\n                  var nextInput$1 = action._0(state.input);\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: nextInput$1,\n                            fieldsStatuses: Formality.validateFieldOnChangeWithoutValidator(nextInput$1.username, (function (status) {\n                                    var init = state.fieldsStatuses;\n                                    return {\n                                            encryptedPassword: init.encryptedPassword,\n                                            username: status,\n                                            adminUrl: init.adminUrl,\n                                            homeUrl: init.homeUrl,\n                                            contractStart: init.contractStart,\n                                            description: init.description,\n                                            active: init.active,\n                                            name: init.name\n                                          };\n                                  })),\n                            collectionsStatuses: state.collectionsStatuses,\n                            formStatus: state.formStatus,\n                            submissionStatus: state.submissionStatus\n                          }\n                        };\n              case \"UpdateAdminUrlField\" :\n                  var nextInput$2 = action._0(state.input);\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: nextInput$2,\n                            fieldsStatuses: Formality.validateFieldOnChangeWithoutValidator(nextInput$2.adminUrl, (function (status) {\n                                    var init = state.fieldsStatuses;\n                                    return {\n                                            encryptedPassword: init.encryptedPassword,\n                                            username: init.username,\n                                            adminUrl: status,\n                                            homeUrl: init.homeUrl,\n                                            contractStart: init.contractStart,\n                                            description: init.description,\n                                            active: init.active,\n                                            name: init.name\n                                          };\n                                  })),\n                            collectionsStatuses: state.collectionsStatuses,\n                            formStatus: state.formStatus,\n                            submissionStatus: state.submissionStatus\n                          }\n                        };\n              case \"UpdateHomeUrlField\" :\n                  var nextInput$3 = action._0(state.input);\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: nextInput$3,\n                            fieldsStatuses: Formality.validateFieldOnChangeWithoutValidator(nextInput$3.homeUrl, (function (status) {\n                                    var init = state.fieldsStatuses;\n                                    return {\n                                            encryptedPassword: init.encryptedPassword,\n                                            username: init.username,\n                                            adminUrl: init.adminUrl,\n                                            homeUrl: status,\n                                            contractStart: init.contractStart,\n                                            description: init.description,\n                                            active: init.active,\n                                            name: init.name\n                                          };\n                                  })),\n                            collectionsStatuses: state.collectionsStatuses,\n                            formStatus: state.formStatus,\n                            submissionStatus: state.submissionStatus\n                          }\n                        };\n              case \"UpdateContractStartField\" :\n                  var nextInput$4 = action._0(state.input);\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: nextInput$4,\n                            fieldsStatuses: Formality.validateFieldOnChangeWithValidator(nextInput$4, state.fieldsStatuses.contractStart, state.submissionStatus, validators_contractStart, (function (status) {\n                                    var init = state.fieldsStatuses;\n                                    return {\n                                            encryptedPassword: init.encryptedPassword,\n                                            username: init.username,\n                                            adminUrl: init.adminUrl,\n                                            homeUrl: init.homeUrl,\n                                            contractStart: status,\n                                            description: init.description,\n                                            active: init.active,\n                                            name: init.name\n                                          };\n                                  })),\n                            collectionsStatuses: state.collectionsStatuses,\n                            formStatus: state.formStatus,\n                            submissionStatus: state.submissionStatus\n                          }\n                        };\n              case \"UpdateDescriptionField\" :\n                  var nextInput$5 = action._0(state.input);\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: nextInput$5,\n                            fieldsStatuses: Formality.validateFieldOnChangeWithoutValidator(nextInput$5.description, (function (status) {\n                                    var init = state.fieldsStatuses;\n                                    return {\n                                            encryptedPassword: init.encryptedPassword,\n                                            username: init.username,\n                                            adminUrl: init.adminUrl,\n                                            homeUrl: init.homeUrl,\n                                            contractStart: init.contractStart,\n                                            description: status,\n                                            active: init.active,\n                                            name: init.name\n                                          };\n                                  })),\n                            collectionsStatuses: state.collectionsStatuses,\n                            formStatus: state.formStatus,\n                            submissionStatus: state.submissionStatus\n                          }\n                        };\n              case \"UpdateActiveField\" :\n                  var nextInput$6 = action._0(state.input);\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: nextInput$6,\n                            fieldsStatuses: Formality.validateFieldOnChangeWithoutValidator(nextInput$6.active, (function (status) {\n                                    var init = state.fieldsStatuses;\n                                    return {\n                                            encryptedPassword: init.encryptedPassword,\n                                            username: init.username,\n                                            adminUrl: init.adminUrl,\n                                            homeUrl: init.homeUrl,\n                                            contractStart: init.contractStart,\n                                            description: init.description,\n                                            active: status,\n                                            name: init.name\n                                          };\n                                  })),\n                            collectionsStatuses: state.collectionsStatuses,\n                            formStatus: state.formStatus,\n                            submissionStatus: state.submissionStatus\n                          }\n                        };\n              case \"UpdateNameField\" :\n                  var nextInput$7 = action._0(state.input);\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: nextInput$7,\n                            fieldsStatuses: Formality.validateFieldOnChangeWithValidator(nextInput$7, state.fieldsStatuses.name, state.submissionStatus, validators_name, (function (status) {\n                                    var init = state.fieldsStatuses;\n                                    return {\n                                            encryptedPassword: init.encryptedPassword,\n                                            username: init.username,\n                                            adminUrl: init.adminUrl,\n                                            homeUrl: init.homeUrl,\n                                            contractStart: init.contractStart,\n                                            description: init.description,\n                                            active: init.active,\n                                            name: status\n                                          };\n                                  })),\n                            collectionsStatuses: state.collectionsStatuses,\n                            formStatus: state.formStatus,\n                            submissionStatus: state.submissionStatus\n                          }\n                        };\n              case \"SetSubmittedStatus\" :\n                  var input = action._0;\n                  if (input !== undefined) {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: input,\n                              fieldsStatuses: initialFieldsStatuses(input),\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: \"Submitted\",\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  } else {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: initialFieldsStatuses(state.input),\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: \"Submitted\",\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  }\n              case \"SetSubmissionFailedStatus\" :\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: state.input,\n                            fieldsStatuses: state.fieldsStatuses,\n                            collectionsStatuses: state.collectionsStatuses,\n                            formStatus: {\n                              TAG: \"SubmissionFailed\",\n                              _0: action._0\n                            },\n                            submissionStatus: state.submissionStatus\n                          }\n                        };\n              case \"MapSubmissionError\" :\n                  var map = action._0;\n                  var error$1 = state.formStatus;\n                  if (typeof error$1 !== \"object\") {\n                    return \"NoUpdate\";\n                  }\n                  if (error$1.TAG !== \"Submitting\") {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: state.fieldsStatuses,\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: {\n                                TAG: \"SubmissionFailed\",\n                                _0: map(error$1._0)\n                              },\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  }\n                  var error$2 = error$1._0;\n                  if (error$2 !== undefined) {\n                    return {\n                            TAG: \"Update\",\n                            _0: {\n                              input: state.input,\n                              fieldsStatuses: state.fieldsStatuses,\n                              collectionsStatuses: state.collectionsStatuses,\n                              formStatus: {\n                                TAG: \"Submitting\",\n                                _0: Caml_option.some(map(Caml_option.valFromOption(error$2)))\n                              },\n                              submissionStatus: state.submissionStatus\n                            }\n                          };\n                  } else {\n                    return \"NoUpdate\";\n                  }\n              \n            }\n          }\n        }));\n  var dispatch = match[1];\n  var state = match[0];\n  var match$1 = state.formStatus;\n  var tmp;\n  tmp = typeof match$1 !== \"object\" || match$1.TAG !== \"Submitting\" ? false : true;\n  return {\n          updateEncryptedPassword: (function (nextInputFn, nextValue) {\n              dispatch({\n                    TAG: \"UpdateEncryptedPasswordField\",\n                    _0: (function (__x) {\n                        return nextInputFn(__x, nextValue);\n                      })\n                  });\n            }),\n          updateUsername: (function (nextInputFn, nextValue) {\n              dispatch({\n                    TAG: \"UpdateUsernameField\",\n                    _0: (function (__x) {\n                        return nextInputFn(__x, nextValue);\n                      })\n                  });\n            }),\n          updateAdminUrl: (function (nextInputFn, nextValue) {\n              dispatch({\n                    TAG: \"UpdateAdminUrlField\",\n                    _0: (function (__x) {\n                        return nextInputFn(__x, nextValue);\n                      })\n                  });\n            }),\n          updateHomeUrl: (function (nextInputFn, nextValue) {\n              dispatch({\n                    TAG: \"UpdateHomeUrlField\",\n                    _0: (function (__x) {\n                        return nextInputFn(__x, nextValue);\n                      })\n                  });\n            }),\n          updateContractStart: (function (nextInputFn, nextValue) {\n              dispatch({\n                    TAG: \"UpdateContractStartField\",\n                    _0: (function (__x) {\n                        return nextInputFn(__x, nextValue);\n                      })\n                  });\n            }),\n          updateDescription: (function (nextInputFn, nextValue) {\n              dispatch({\n                    TAG: \"UpdateDescriptionField\",\n                    _0: (function (__x) {\n                        return nextInputFn(__x, nextValue);\n                      })\n                  });\n            }),\n          updateActive: (function (nextInputFn, nextValue) {\n              dispatch({\n                    TAG: \"UpdateActiveField\",\n                    _0: (function (__x) {\n                        return nextInputFn(__x, nextValue);\n                      })\n                  });\n            }),\n          updateName: (function (nextInputFn, nextValue) {\n              dispatch({\n                    TAG: \"UpdateNameField\",\n                    _0: (function (__x) {\n                        return nextInputFn(__x, nextValue);\n                      })\n                  });\n            }),\n          blurEncryptedPassword: (function () {\n              dispatch(\"BlurEncryptedPasswordField\");\n            }),\n          blurUsername: (function () {\n              dispatch(\"BlurUsernameField\");\n            }),\n          blurAdminUrl: (function () {\n              dispatch(\"BlurAdminUrlField\");\n            }),\n          blurHomeUrl: (function () {\n              dispatch(\"BlurHomeUrlField\");\n            }),\n          blurContractStart: (function () {\n              dispatch(\"BlurContractStartField\");\n            }),\n          blurDescription: (function () {\n              dispatch(\"BlurDescriptionField\");\n            }),\n          blurActive: (function () {\n              dispatch(\"BlurActiveField\");\n            }),\n          blurName: (function () {\n              dispatch(\"BlurNameField\");\n            }),\n          encryptedPasswordResult: Formality.exposeFieldResult(state.fieldsStatuses.encryptedPassword),\n          usernameResult: Formality.exposeFieldResult(state.fieldsStatuses.username),\n          adminUrlResult: Formality.exposeFieldResult(state.fieldsStatuses.adminUrl),\n          homeUrlResult: Formality.exposeFieldResult(state.fieldsStatuses.homeUrl),\n          contractStartResult: Formality.exposeFieldResult(state.fieldsStatuses.contractStart),\n          descriptionResult: Formality.exposeFieldResult(state.fieldsStatuses.description),\n          activeResult: Formality.exposeFieldResult(state.fieldsStatuses.active),\n          nameResult: Formality.exposeFieldResult(state.fieldsStatuses.name),\n          input: state.input,\n          status: state.formStatus,\n          dirty: (function () {\n              var match = state.fieldsStatuses;\n              var tmp = match.encryptedPassword;\n              if (typeof tmp === \"object\") {\n                return true;\n              }\n              var tmp$1 = match.username;\n              if (typeof tmp$1 === \"object\") {\n                return true;\n              }\n              var tmp$2 = match.adminUrl;\n              if (typeof tmp$2 === \"object\") {\n                return true;\n              }\n              var tmp$3 = match.homeUrl;\n              if (typeof tmp$3 === \"object\") {\n                return true;\n              }\n              var tmp$4 = match.contractStart;\n              if (typeof tmp$4 === \"object\") {\n                return true;\n              }\n              var tmp$5 = match.description;\n              if (typeof tmp$5 === \"object\") {\n                return true;\n              }\n              var tmp$6 = match.active;\n              if (typeof tmp$6 === \"object\") {\n                return true;\n              }\n              var tmp$7 = match.name;\n              if (typeof tmp$7 !== \"object\") {\n                return false;\n              } else {\n                return true;\n              }\n            }),\n          valid: (function () {\n              var match = validateForm(state.input, validators, state.fieldsStatuses);\n              if (match.TAG === \"Valid\") {\n                return true;\n              } else {\n                return false;\n              }\n            }),\n          submitting: tmp,\n          submit: (function () {\n              dispatch(\"Submit\");\n            }),\n          dismissSubmissionError: (function () {\n              dispatch(\"DismissSubmissionError\");\n            }),\n          dismissSubmissionResult: (function () {\n              dispatch(\"DismissSubmissionResult\");\n            }),\n          mapSubmissionError: (function (map) {\n              dispatch({\n                    TAG: \"MapSubmissionError\",\n                    _0: map\n                  });\n            }),\n          reset: (function () {\n              dispatch(\"Reset\");\n            })\n        };\n}\n\nvar TsdEditForm = {\n  validators: validators,\n  initialFieldsStatuses: initialFieldsStatuses,\n  initialCollectionsStatuses: undefined,\n  initialState: initialState,\n  validateForm: validateForm,\n  useForm: useForm\n};\n\nfunction DashboardTsdEditForm(props) {\n  var tsd = props.tsd;\n  var initialInput = React.useMemo((function () {\n          return {\n                  name: tsd.name,\n                  active: tsd.active,\n                  description: tsd.description,\n                  contractStart: Caml_option.some(new Date(tsd.contractStart)),\n                  homeUrl: tsd.homeUrl,\n                  adminUrl: tsd.adminUrl,\n                  username: tsd.username,\n                  encryptedPassword: tsd.encryptedPassword\n                };\n        }), []);\n  var initialState_contractResource = tsd.contractResource;\n  var initialState = {\n    message: undefined,\n    document: undefined,\n    contractResource: initialState_contractResource,\n    messages: undefined,\n    usernameVisible: false,\n    passwordVisible: false\n  };\n  var match = React.useReducer(reducer, initialState);\n  var dispatch = match[1];\n  var state = match[0];\n  var form = useForm(initialInput, (function (output, cb) {\n          $$Promise.wait(Api_Tsd.Dashboard.update(tsd.id, output.name, output.active, output.description, output.contractStart, state.document, output.homeUrl, output.adminUrl, output.username, output.encryptedPassword), (function (x) {\n                  if (x.TAG === \"Ok\") {\n                    return Url.visit(Routes_Tsd.Dashboard.edit(x._0.id));\n                  }\n                  var match = x._0;\n                  if (typeof match === \"object\") {\n                    var errors = match.VAL;\n                    SentryLogger.error1({\n                          rootModule: \"DashboardTsdEditForm\",\n                          subModulePath: /* [] */0,\n                          value: \"make\",\n                          fullPath: \"DashboardTsdEditForm.make\"\n                        }, \"TsdEdit::Error\", [\n                          \"Error\",\n                          errors\n                        ]);\n                    dispatch({\n                          TAG: \"SetMessages\",\n                          _0: errors.activeModelErrors\n                        });\n                    return cb.notifyOnFailure();\n                  }\n                  SentryLogger.error1({\n                        rootModule: \"DashboardTsdEditForm\",\n                        subModulePath: /* [] */0,\n                        value: \"make\",\n                        fullPath: \"DashboardTsdEditForm.make\"\n                      }, \"TsdEdit::Error\", [\n                        \"Error\",\n                        \"Unknown Error\"\n                      ]);\n                  cb.notifyOnFailure();\n                }));\n        }));\n  var fieldError = function (field) {\n    if (field !== undefined && field.TAG !== \"Ok\") {\n      return JsxRuntime.jsx(ResponseMessage.make, {\n                  messageType: \"Error\",\n                  children: field._0\n                });\n    } else {\n      return null;\n    }\n  };\n  var match$1 = state.document;\n  var match$2 = form.status;\n  var tmp;\n  if (typeof match$2 !== \"object\" || match$2.TAG !== \"SubmissionFailed\") {\n    tmp = null;\n  } else {\n    var x = state.messages;\n    tmp = JsxRuntime.jsx(ResponseMessage.make, {\n          messageType: \"Error\",\n          children: x !== undefined ? JsxRuntime.jsx(ActiveModelError.List.make, {\n                  errors: x\n                }) : JsxRuntime.jsx(\"p\", {\n                  children: \"Something went wrong.\"\n                })\n        });\n  }\n  return JsxRuntime.jsxs(\"form\", {\n              children: [\n                JsxRuntime.jsxs(H1.make, {\n                      className: DashboardFormCss.titleHeader,\n                      children: [\n                        JsxRuntime.jsx(\"span\", {\n                              children: \"Edit\",\n                              className: DashboardFormCss.titleSpan\n                            }),\n                        tsd.name,\n                        JsxRuntime.jsx(\"a\", {\n                              children: \"View\",\n                              className: DashboardFormCss.showLink,\n                              href: Routes_Tsd.Dashboard.show(tsd.id)\n                            })\n                      ]\n                    }),\n                JsxRuntime.jsx(DashboardForm.SectionTitle.make, {\n                      children: \"General Information\"\n                    }),\n                JsxRuntime.jsxs(DashboardForm.FieldContainer.make, {\n                      children: [\n                        JsxRuntime.jsx(Label.make, {\n                              forId: \"tsd--name\",\n                              className: DashboardFormCss.required,\n                              children: \"Name\"\n                            }),\n                        JsxRuntime.jsx(TextField.make, {\n                              id: \"tsd--name\",\n                              value: form.input.name,\n                              placeholder: \"Add a name for your new TSD.\",\n                              onChange: (function ($$event) {\n                                  form.updateName((function (input, value) {\n                                          return {\n                                                  name: value,\n                                                  active: input.active,\n                                                  description: input.description,\n                                                  contractStart: input.contractStart,\n                                                  homeUrl: input.homeUrl,\n                                                  adminUrl: input.adminUrl,\n                                                  username: input.username,\n                                                  encryptedPassword: input.encryptedPassword\n                                                };\n                                        }), $$event.target.value);\n                                })\n                            }),\n                        fieldError(form.nameResult)\n                      ]\n                    }),\n                JsxRuntime.jsxs(DashboardForm.FieldContainer.make, {\n                      children: [\n                        JsxRuntime.jsx(Label.make, {\n                              forId: \"tsd--description\",\n                              children: \"Description\"\n                            }),\n                        JsxRuntime.jsx(Textarea.make, {\n                              id: \"tsd--description\",\n                              value: form.input.description,\n                              placeholder: \"(optional) Add a description.\",\n                              onChange: (function ($$event) {\n                                  form.updateName((function (input, value) {\n                                          return {\n                                                  name: input.name,\n                                                  active: input.active,\n                                                  description: value,\n                                                  contractStart: input.contractStart,\n                                                  homeUrl: input.homeUrl,\n                                                  adminUrl: input.adminUrl,\n                                                  username: input.username,\n                                                  encryptedPassword: input.encryptedPassword\n                                                };\n                                        }), $$event.target.value);\n                                })\n                            }),\n                        fieldError(form.descriptionResult)\n                      ]\n                    }),\n                JsxRuntime.jsx(Hr.make, {}),\n                JsxRuntime.jsx(DashboardForm.SectionTitle.make, {\n                      children: \"Website and External Administration\"\n                    }),\n                JsxRuntime.jsxs(DashboardForm.FieldContainer.make, {\n                      children: [\n                        JsxRuntime.jsx(Label.make, {\n                              forId: \"tsd--homeUrl\",\n                              children: \"Home Page\"\n                            }),\n                        JsxRuntime.jsx(TextField.make, {\n                              id: \"tsd--homeUrl\",\n                              value: form.input.homeUrl,\n                              placeholder: \"(optional) Ex. https://www.datacenters.com/\",\n                              onChange: (function ($$event) {\n                                  form.updateHomeUrl((function (input, value) {\n                                          return {\n                                                  name: input.name,\n                                                  active: input.active,\n                                                  description: input.description,\n                                                  contractStart: input.contractStart,\n                                                  homeUrl: value,\n                                                  adminUrl: input.adminUrl,\n                                                  username: input.username,\n                                                  encryptedPassword: input.encryptedPassword\n                                                };\n                                        }), $$event.target.value);\n                                })\n                            }),\n                        fieldError(form.homeUrlResult)\n                      ]\n                    }),\n                JsxRuntime.jsxs(DashboardForm.FieldContainer.make, {\n                      children: [\n                        JsxRuntime.jsx(Label.make, {\n                              forId: \"tsd--adminUrl\",\n                              children: \"Admin Url\"\n                            }),\n                        JsxRuntime.jsx(TextField.make, {\n                              id: \"tsd--adminUrl\",\n                              value: form.input.adminUrl,\n                              placeholder: \"(optional) Ex. https://admin.datacenters.com/\",\n                              onChange: (function ($$event) {\n                                  form.updateAdminUrl((function (input, value) {\n                                          return {\n                                                  name: input.name,\n                                                  active: input.active,\n                                                  description: input.description,\n                                                  contractStart: input.contractStart,\n                                                  homeUrl: input.homeUrl,\n                                                  adminUrl: value,\n                                                  username: input.username,\n                                                  encryptedPassword: input.encryptedPassword\n                                                };\n                                        }), $$event.target.value);\n                                })\n                            }),\n                        fieldError(form.adminUrlResult)\n                      ]\n                    }),\n                JsxRuntime.jsxs(DashboardForm.FieldContainer.make, {\n                      children: [\n                        JsxRuntime.jsxs(DashboardForm.FieldContainer25.make, {\n                              children: [\n                                JsxRuntime.jsxs(Label.make, {\n                                      forId: \"tsd--username\",\n                                      className: DashboardFormCss.passwordFieldLabel,\n                                      children: [\n                                        \"Username\",\n                                        JsxRuntime.jsx(\"div\", {\n                                              children: JsxRuntime.jsx(IconView.make, {\n                                                    size: \"LG\",\n                                                    color: \"DarkGray\"\n                                                  }),\n                                              onClick: (function (param) {\n                                                  dispatch(\"SetUsernameVisible\");\n                                                })\n                                            })\n                                      ]\n                                    }),\n                                JsxRuntime.jsx(TextField.make, {\n                                      id: \"tsd--username\",\n                                      type_: state.usernameVisible ? \"Text\" : \"Password\",\n                                      value: form.input.username,\n                                      placeholder: \"(optional) username\",\n                                      onChange: (function ($$event) {\n                                          form.updateUsername((function (input, value) {\n                                                  return {\n                                                          name: input.name,\n                                                          active: input.active,\n                                                          description: input.description,\n                                                          contractStart: input.contractStart,\n                                                          homeUrl: input.homeUrl,\n                                                          adminUrl: input.adminUrl,\n                                                          username: value,\n                                                          encryptedPassword: input.encryptedPassword\n                                                        };\n                                                }), $$event.target.value);\n                                        })\n                                    })\n                              ]\n                            }),\n                        JsxRuntime.jsxs(DashboardForm.FieldContainer25.make, {\n                              children: [\n                                JsxRuntime.jsxs(Label.make, {\n                                      forId: \"tsd--encryptedPassword\",\n                                      className: DashboardFormCss.passwordFieldLabel,\n                                      children: [\n                                        \"Password\",\n                                        JsxRuntime.jsx(\"div\", {\n                                              children: JsxRuntime.jsx(IconView.make, {\n                                                    size: \"LG\",\n                                                    color: \"DarkGray\"\n                                                  }),\n                                              onClick: (function (param) {\n                                                  dispatch(\"SetPasswordVisible\");\n                                                })\n                                            })\n                                      ]\n                                    }),\n                                JsxRuntime.jsx(TextField.make, {\n                                      id: \"tsd--encryptedPassword\",\n                                      type_: state.passwordVisible ? \"Text\" : \"Password\",\n                                      value: form.input.encryptedPassword,\n                                      placeholder: \"(optional) password\",\n                                      onChange: (function ($$event) {\n                                          form.updateEncryptedPassword((function (input, value) {\n                                                  return {\n                                                          name: input.name,\n                                                          active: input.active,\n                                                          description: input.description,\n                                                          contractStart: input.contractStart,\n                                                          homeUrl: input.homeUrl,\n                                                          adminUrl: input.adminUrl,\n                                                          username: input.username,\n                                                          encryptedPassword: value\n                                                        };\n                                                }), $$event.target.value);\n                                        })\n                                    })\n                              ]\n                            })\n                      ]\n                    }),\n                JsxRuntime.jsx(Hr.make, {}),\n                JsxRuntime.jsx(DashboardForm.SectionTitle.make, {\n                      children: \"Contract Settings\"\n                    }),\n                JsxRuntime.jsxs(DashboardForm.FieldContainer.make, {\n                      children: [\n                        JsxRuntime.jsxs(DashboardForm.FieldContainer25.make, {\n                              children: [\n                                JsxRuntime.jsx(Label.make, {\n                                      forId: \"tsd--contractStart\",\n                                      className: DashboardFormCss.required,\n                                      children: \"Contract Start\"\n                                    }),\n                                JsxRuntime.jsx(ReactDatepicker.TextField.make, {\n                                      date: Belt_Option.getExn(form.input.contractStart),\n                                      onChange: (function (date) {\n                                          form.updateContractStart((function (input, value) {\n                                                  return {\n                                                          name: input.name,\n                                                          active: input.active,\n                                                          description: input.description,\n                                                          contractStart: value,\n                                                          homeUrl: input.homeUrl,\n                                                          adminUrl: input.adminUrl,\n                                                          username: input.username,\n                                                          encryptedPassword: input.encryptedPassword\n                                                        };\n                                                }), Caml_option.some(date));\n                                        })\n                                    }),\n                                fieldError(form.contractStartResult)\n                              ]\n                            }),\n                        JsxRuntime.jsxs(DashboardForm.FieldContainer25.make, {\n                              children: [\n                                JsxRuntime.jsx(Label.make, {\n                                      id: tsd.active ? \"tsd--isActive\" : \"tsd--isInactive\",\n                                      forId: \"tsd--active\",\n                                      className: DashboardFormCss.required,\n                                      children: \"Contract Active?\"\n                                    }),\n                                JsxRuntime.jsx(Toggle.make, {\n                                      id: \"tsdActiveToggle\",\n                                      on: form.input.active,\n                                      size: \"MD\",\n                                      onChange: (function () {\n                                          form.updateActive((function (input, value) {\n                                                  return {\n                                                          name: input.name,\n                                                          active: value,\n                                                          description: input.description,\n                                                          contractStart: input.contractStart,\n                                                          homeUrl: input.homeUrl,\n                                                          adminUrl: input.adminUrl,\n                                                          username: input.username,\n                                                          encryptedPassword: input.encryptedPassword\n                                                        };\n                                                }), !form.input.active);\n                                        })\n                                    })\n                              ]\n                            })\n                      ]\n                    }),\n                JsxRuntime.jsxs(DashboardForm.FieldContainer.make, {\n                      children: [\n                        JsxRuntime.jsx(Label.make, {\n                              forId: \"tsd--contract\",\n                              children: \"Contract\"\n                            }),\n                        match$1 !== undefined ? null : JsxRuntime.jsx(DashboardDocumentPdf.make, {\n                                document: state.contractResource,\n                                removeDocument: (function (param) {\n                                    dispatch({\n                                          TAG: \"SetContractResource\",\n                                          _0: undefined\n                                        });\n                                  }),\n                                privateDownload: tsd.contractDownload\n                              }),\n                        JsxRuntime.jsx(ResourceDocument.make, {\n                              document: state.document,\n                              removeDocument: (function (param) {\n                                  dispatch({\n                                        TAG: \"SetDocument\",\n                                        _0: undefined\n                                      });\n                                })\n                            }),\n                        JsxRuntime.jsx(Uploader.make, {\n                              allowed: [\"Pdf\"],\n                              multiple: false,\n                              upload: (function (files) {\n                                  Belt_Array.map(files, (function (file) {\n                                          var match = Uploader.FileType.fromMime(file.type);\n                                          if (match === \"Pdf\") {\n                                            return dispatch({\n                                                        TAG: \"SetDocument\",\n                                                        _0: Caml_option.some(file)\n                                                      });\n                                          }\n                                          \n                                        }));\n                                }),\n                              setUploadHandler: (function (prim) {\n                                  \n                                }),\n                              children: JsxRuntime.jsxs(Button.make, {\n                                    id: \"uploadButton\",\n                                    size: \"SM\",\n                                    color: \"Teal\",\n                                    buttonClassName: DashboardFormCss.uploadDocumentButton,\n                                    children: [\n                                      JsxRuntime.jsx(IconAdditionalUpload.make, {\n                                            size: \"MD\",\n                                            color: \"White\"\n                                          }),\n                                      \"Upload Contract\"\n                                    ]\n                                  })\n                            })\n                      ]\n                    }),\n                tmp,\n                JsxRuntime.jsxs(DashboardForm.ButtonContainer.make, {\n                      children: [\n                        JsxRuntime.jsx(Button.make, {\n                              id: \"submitButton\",\n                              size: \"MD\",\n                              color: \"Primary\",\n                              disabled: form.submitting,\n                              busy: form.submitting,\n                              submit: true,\n                              children: \"Save\"\n                            }),\n                        JsxRuntime.jsx(Button.make, {\n                              size: \"MD\",\n                              color: \"White\",\n                              busy: false,\n                              submit: true,\n                              onClick: (function (e) {\n                                  e.preventDefault();\n                                  Url.visit(Routes_Tsd.Dashboard.index);\n                                }),\n                              children: \"Cancel\"\n                            })\n                      ]\n                    })\n              ],\n              className: DashboardFormCss.container,\n              onSubmit: (function ($$event) {\n                  $$event.preventDefault();\n                  form.submit();\n                })\n            });\n}\n\nvar Css;\n\nvar FieldContainer;\n\nvar FieldContainer25;\n\nvar MultiFieldContainer;\n\nvar ButtonContainer;\n\nvar SectionTitle;\n\nvar make = DashboardTsdEditForm;\n\nexport {\n  Css ,\n  FieldContainer ,\n  FieldContainer25 ,\n  MultiFieldContainer ,\n  ButtonContainer ,\n  SectionTitle ,\n  reducer ,\n  TsdEditForm ,\n  make ,\n}\n/* H1 Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Container from \"../../../../styleguide/components/Container/Container.res.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as DashboardIndexCss from \"../../../../styleguide/dashboard/components/views/index/DashboardIndexCss.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as DashboardTsdNavbar from \"../common/navbar/DashboardTsdNavbar.res.js\";\nimport * as DashboardTsdEditForm from \"./components/DashboardTsdEditForm.res.js\";\n\nfunction DashboardTsdEdit$default(props) {\n  var tsd = props.tsd;\n  return JsxRuntime.jsxs(\"div\", {\n              children: [\n                JsxRuntime.jsx(DashboardTsdNavbar.make, {\n                      currentLink: \"Edit\",\n                      tsdId: Caml_option.some(tsd.id)\n                    }),\n                JsxRuntime.jsx(Container.make, {\n                      className: DashboardIndexCss.layout,\n                      children: JsxRuntime.jsx(DashboardTsdEditForm.make, {\n                            tsd: tsd\n                          })\n                    })\n              ]\n            });\n}\n\nvar Css;\n\nvar $$default = DashboardTsdEdit$default;\n\nexport {\n  Css ,\n  $$default as default,\n}\n/* Container Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as ID from \"../../libs/ID.res.js\";\n\nfunction edit(id) {\n  return \"/dashboard/tsds/\" + ID.toString(id) + \"/edit\";\n}\n\nfunction show(id) {\n  return \"/dashboard/tsds/\" + ID.toString(id);\n}\n\nvar Dashboard = {\n  index: \"/dashboard/tsds\",\n  edit: edit,\n  $$new: \"/dashboard/tsds/new\",\n  show: show\n};\n\nexport {\n  Dashboard ,\n}\n/* ID Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as IconFile from \"../../../../icons/IconFile.res.js\";\nimport * as IconView from \"../../../../icons/IconView.res.js\";\nimport * as IconDelete from \"../../../../icons/IconDelete.res.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as ResourceItem from \"../../../../../models/ResourceItem.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as DashboardDocumentPdfCss from \"./DashboardDocumentPdfCss.res.js\";\n\nfunction DashboardDocumentPdf$DocumentRow(props) {\n  var onDelete = props.onDelete;\n  var filename = props.filename;\n  var tmp = filename === \"\" ? \"No Document Available\" : filename;\n  return JsxRuntime.jsxs(\"div\", {\n              children: [\n                JsxRuntime.jsxs(\"div\", {\n                      children: [\n                        JsxRuntime.jsx(IconFile.make, {\n                              size: \"LG\",\n                              color: \"DarkGray\"\n                            }),\n                        JsxRuntime.jsx(\"p\", {\n                              children: tmp,\n                              className: DashboardDocumentPdfCss.fileNameText\n                            })\n                      ],\n                      className: DashboardDocumentPdfCss.container\n                    }),\n                JsxRuntime.jsxs(\"div\", {\n                      children: [\n                        JsxRuntime.jsx(\"p\", {\n                              children: ResourceItem.$$Document.sizeText(props.byteSize),\n                              className: DashboardDocumentPdfCss.fileSizeText\n                            }),\n                        JsxRuntime.jsx(\"a\", {\n                              children: JsxRuntime.jsx(IconView.make, {\n                                    size: \"LG\",\n                                    color: \"DarkGray\",\n                                    className: DashboardDocumentPdfCss.iconView\n                                  }),\n                              href: props.privateDownload,\n                              target: \"_blank\"\n                            }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: JsxRuntime.jsx(IconDelete.make, {\n                                    size: \"LG\",\n                                    color: \"DarkGray\",\n                                    viewBoxSize: \"20\"\n                                  }),\n                              className: DashboardDocumentPdfCss.iconDelete,\n                              onClick: (function (param) {\n                                  onDelete();\n                                })\n                            })\n                      ],\n                      className: DashboardDocumentPdfCss.container\n                    })\n              ],\n              className: DashboardDocumentPdfCss.documentRow\n            });\n}\n\nvar DocumentRow = {\n  make: DashboardDocumentPdf$DocumentRow\n};\n\nfunction DashboardDocumentPdf(props) {\n  var removeDocument = props.removeDocument;\n  var $$document = props.document;\n  return JsxRuntime.jsx(JsxRuntime.Fragment, {\n              children: Caml_option.some($$document !== undefined ? JsxRuntime.jsx(DashboardDocumentPdf$DocumentRow, {\n                          privateDownload: props.privateDownload,\n                          filename: $$document.filename,\n                          byteSize: $$document.byteSize,\n                          onDelete: (function () {\n                              removeDocument($$document);\n                            })\n                        }, \"recently-uploaded-document-\" + $$document.filename) : null)\n            });\n}\n\nvar Css;\n\nvar make = DashboardDocumentPdf;\n\nexport {\n  Css ,\n  DocumentRow ,\n  make ,\n}\n/* IconFile Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\n\nvar grid = Cx.cx([\n      \"m-0\",\n      \"p-0\",\n      \"w-full\",\n      \"gap-2\"\n    ]);\n\nvar row = Cx.cx([\n      \"mb-8\",\n      \"my-0\"\n    ]);\n\nvar fileSizeText = Cx.cx([\n      \"mr-12\",\n      \"text-gray-700\",\n      \"text-sm\",\n      \"leading-5\",\n      \"text-right\"\n    ]);\n\nvar fileNameText = Cx.cx([\n      \"text-black\",\n      \"text-sm\",\n      \"font-medium\",\n      \"leading-5\",\n      \"ml-2.5\"\n    ]);\n\nvar documentRow = Cx.cx([\n      \"py-3\",\n      \"border-t\",\n      \"border-b\",\n      \"border-gray-300\",\n      \"flex\",\n      \"justify-between\",\n      \"last:mb-2.5\"\n    ]);\n\nvar labelContainer = \"pl-0\";\n\nvar buttonCancelContainer = \"pl-2\";\n\nvar buttonCreateContainer = \"pl-2\";\n\nvar uploadDocumentButtonSvg = \"mr-2.5\";\n\nvar container = \"flex\";\n\nvar iconView = \"mr-4\";\n\nvar privateDownload = \"mr-4\";\n\nvar iconDelete = \"cursor-pointer\";\n\nvar flexContainer = \"flex\";\n\nvar editor = \"mb-0\";\n\nexport {\n  grid ,\n  row ,\n  fileSizeText ,\n  fileNameText ,\n  labelContainer ,\n  buttonCancelContainer ,\n  buttonCreateContainer ,\n  uploadDocumentButtonSvg ,\n  container ,\n  iconView ,\n  privateDownload ,\n  iconDelete ,\n  flexContainer ,\n  documentRow ,\n  editor ,\n}\n/* grid Not a pure module */\n"],"names":["reducer","state","action","message","document","contractResource","messages","usernameVisible","passwordVisible","TAG","_0","validators_contractStart","strategy","validate","input","x","contractStart","undefined","Caml_option","toString","validators_name","name","trim","validators","encryptedPassword","username","adminUrl","homeUrl","description","active","initialState","fieldsStatuses","collectionsStatuses","formStatus","submissionStatus","validateForm","tmp","match_0","match_0$1","match_0$2","match_0$3","match","tmp$1","match_0$4","match_0$5","match$1","encryptedPasswordResult$1","encryptedPasswordResult","usernameResult","adminUrlResult","homeUrlResult","contractStartResult","descriptionResult","activeResult","nameResult","output","_1","useForm","initialInput","onSubmit","memoizedInitialState","React","Formality__ReactUpdate","result","Formality","status","init","result$1","result$2","result$3","result$4","result$5","result$6","result$7","error","param","dispatch","notifyOnSuccess","notifyOnFailure","reset","dismissSubmissionResult","match$2","match$3","nextInput","nextInput$1","nextInput$2","nextInput$3","nextInput$4","nextInput$5","nextInput$6","nextInput$7","map","error$1","error$2","updateEncryptedPassword","nextInputFn","nextValue","__x","updateUsername","updateAdminUrl","updateHomeUrl","updateContractStart","updateDescription","updateActive","updateName","blurEncryptedPassword","blurUsername","blurAdminUrl","blurHomeUrl","blurContractStart","blurDescription","blurActive","blurName","dirty","valid","submitting","submit","dismissSubmissionError","mapSubmissionError","make","props","tsd","Date","form","cb","$$Promise","Api_Tsd","update","id","Url","Routes_Tsd","edit","errors","VAL","SentryLogger","rootModule","subModulePath","value","fullPath","activeModelErrors","fieldError","field","JsxRuntime","ResponseMessage","messageType","children","ActiveModelError","H1","className","DashboardFormCss","href","show","DashboardForm","Label","forId","TextField","placeholder","onChange","$$event","target","Textarea","Hr","IconView","size","color","onClick","type_","ReactDatepicker","date","Belt_Option","Toggle","on","DashboardDocumentPdf","removeDocument","privateDownload","contractDownload","ResourceDocument","Uploader","allowed","multiple","upload","files","Belt_Array","file","fromMime","type","setUploadHandler","prim","Button","buttonClassName","IconAdditionalUpload","disabled","busy","e","preventDefault","index","$$default","DashboardTsdNavbar","currentLink","tsdId","Container","DashboardIndexCss","DashboardTsdEditForm","Dashboard","ID","$$new","DashboardDocumentPdf$DocumentRow","onDelete","filename","IconFile","DashboardDocumentPdfCss","ResourceItem","sizeText","byteSize","IconDelete","viewBoxSize","$$document","grid","Cx","row","fileSizeText","fileNameText","documentRow","labelContainer","buttonCancelContainer","buttonCreateContainer","uploadDocumentButtonSvg","container","iconView","iconDelete","flexContainer","editor"],"sourceRoot":""}