{"version":3,"file":"js/rescript-bundles-tsds-dashboard-new-DashboardTsdNew-res-2fe87fdbb65ae8681ede.chunk.js","mappings":"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","sources":["webpack://datacenters/./client/app/rescript/bundles/tsds/dashboard/new/components/DashboardTsdNewForm.res.js","webpack://datacenters/./client/app/rescript/bundles/tsds/dashboard/new/DashboardTsdNew.res.js","webpack://datacenters/./client/app/rescript/routes/common/Routes_Tsd.res.js","webpack://datacenters/./client/app/rescript/styleguide/components/Paragraph/P.res.js"],"sourcesContent":["// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as P from \"../../../../../styleguide/components/Paragraph/P.res.js\";\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 IconAdditionalUpload from \"../../../../../styleguide/icons/IconAdditionalUpload.res.js\";\nimport * as Formality__ReactUpdate from \"re-formality/src/Formality__ReactUpdate.res.js\";\n\nvar initialState = {\n  message: undefined,\n  document: undefined,\n  messages: undefined,\n  usernameVisible: false,\n  passwordVisible: false\n};\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              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              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                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                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                messages: action._0,\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  active: undefined,\n  encryptedPassword: undefined,\n  username: undefined,\n  adminUrl: undefined,\n  homeUrl: undefined,\n  contractStart: validators_contractStart,\n  description: undefined,\n  name: validators_name\n};\n\nfunction initialFieldsStatuses(_input) {\n  return {\n          active: \"Pristine\",\n          encryptedPassword: \"Pristine\",\n          username: \"Pristine\",\n          adminUrl: \"Pristine\",\n          homeUrl: \"Pristine\",\n          contractStart: \"Pristine\",\n          description: \"Pristine\",\n          name: \"Pristine\"\n        };\n}\n\nfunction initialState$1(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.active\n  };\n  var match_0$1 = {\n    TAG: \"Ok\",\n    _0: input.encryptedPassword\n  };\n  var match_0$2 = {\n    TAG: \"Ok\",\n    _0: input.username\n  };\n  var match_0$3 = {\n    TAG: \"Ok\",\n    _0: input.adminUrl\n  };\n  var match_0$4 = {\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$5 = {\n    TAG: \"Ok\",\n    _0: input.description\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 activeResult = match_0;\n  var activeResult$1;\n  if (activeResult.TAG === \"Ok\") {\n    var encryptedPasswordResult = match_0$1;\n    if (encryptedPasswordResult.TAG === \"Ok\") {\n      var usernameResult = match_0$2;\n      if (usernameResult.TAG === \"Ok\") {\n        var adminUrlResult = match_0$3;\n        if (adminUrlResult.TAG === \"Ok\") {\n          var homeUrlResult = match_0$4;\n          if (homeUrlResult.TAG === \"Ok\") {\n            var contractStartResult = tmp;\n            if (contractStartResult.TAG === \"Ok\") {\n              var descriptionResult = match_0$5;\n              if (descriptionResult.TAG === \"Ok\") {\n                var nameResult = tmp$1;\n                if (nameResult.TAG === \"Ok\") {\n                  return {\n                          TAG: \"Valid\",\n                          output: {\n                            name: nameResult._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                            active: activeResult._0\n                          },\n                          fieldsStatuses: {\n                            active: {\n                              TAG: \"Dirty\",\n                              _0: activeResult,\n                              _1: \"Hidden\"\n                            },\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                            name: {\n                              TAG: \"Dirty\",\n                              _0: nameResult,\n                              _1: \"Shown\"\n                            }\n                          },\n                          collectionsStatuses: undefined\n                        };\n                }\n                activeResult$1 = activeResult;\n              } else {\n                activeResult$1 = activeResult;\n              }\n            } else {\n              activeResult$1 = activeResult;\n            }\n          } else {\n            activeResult$1 = activeResult;\n          }\n        } else {\n          activeResult$1 = activeResult;\n        }\n      } else {\n        activeResult$1 = activeResult;\n      }\n    } else {\n      activeResult$1 = activeResult;\n    }\n  } else {\n    activeResult$1 = activeResult;\n  }\n  return {\n          TAG: \"Invalid\",\n          fieldsStatuses: {\n            active: {\n              TAG: \"Dirty\",\n              _0: activeResult$1,\n              _1: \"Hidden\"\n            },\n            encryptedPassword: {\n              TAG: \"Dirty\",\n              _0: match_0$1,\n              _1: \"Hidden\"\n            },\n            username: {\n              TAG: \"Dirty\",\n              _0: match_0$2,\n              _1: \"Hidden\"\n            },\n            adminUrl: {\n              TAG: \"Dirty\",\n              _0: match_0$3,\n              _1: \"Hidden\"\n            },\n            homeUrl: {\n              TAG: \"Dirty\",\n              _0: match_0$4,\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$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$1(initialInput);\n        }), [initialInput]);\n  var match = Formality__ReactUpdate.useReducer(memoizedInitialState, (function (state, action) {\n          if (typeof action !== \"object\") {\n            switch (action) {\n              case \"BlurActiveField\" :\n                  var result = Formality.validateFieldOnBlurWithoutValidator(state.input.active, state.fieldsStatuses.active, (function (status) {\n                          var init = state.fieldsStatuses;\n                          return {\n                                  active: status,\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                                  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 \"BlurEncryptedPasswordField\" :\n                  var result$1 = Formality.validateFieldOnBlurWithoutValidator(state.input.encryptedPassword, state.fieldsStatuses.encryptedPassword, (function (status) {\n                          var init = state.fieldsStatuses;\n                          return {\n                                  active: init.active,\n                                  encryptedPassword: status,\n                                  username: init.username,\n                                  adminUrl: init.adminUrl,\n                                  homeUrl: init.homeUrl,\n                                  contractStart: init.contractStart,\n                                  description: init.description,\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 \"BlurUsernameField\" :\n                  var result$2 = Formality.validateFieldOnBlurWithoutValidator(state.input.username, state.fieldsStatuses.username, (function (status) {\n                          var init = state.fieldsStatuses;\n                          return {\n                                  active: init.active,\n                                  encryptedPassword: init.encryptedPassword,\n                                  username: status,\n                                  adminUrl: init.adminUrl,\n                                  homeUrl: init.homeUrl,\n                                  contractStart: init.contractStart,\n                                  description: init.description,\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 \"BlurAdminUrlField\" :\n                  var result$3 = Formality.validateFieldOnBlurWithoutValidator(state.input.adminUrl, state.fieldsStatuses.adminUrl, (function (status) {\n                          var init = state.fieldsStatuses;\n                          return {\n                                  active: init.active,\n                                  encryptedPassword: init.encryptedPassword,\n                                  username: init.username,\n                                  adminUrl: status,\n                                  homeUrl: init.homeUrl,\n                                  contractStart: init.contractStart,\n                                  description: init.description,\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 \"BlurHomeUrlField\" :\n                  var result$4 = Formality.validateFieldOnBlurWithoutValidator(state.input.homeUrl, state.fieldsStatuses.homeUrl, (function (status) {\n                          var init = state.fieldsStatuses;\n                          return {\n                                  active: init.active,\n                                  encryptedPassword: init.encryptedPassword,\n                                  username: init.username,\n                                  adminUrl: init.adminUrl,\n                                  homeUrl: status,\n                                  contractStart: init.contractStart,\n                                  description: init.description,\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 \"BlurContractStartField\" :\n                  var result$5 = Formality.validateFieldOnBlurWithValidator(state.input, state.fieldsStatuses.contractStart, validators_contractStart, (function (status) {\n                          var init = state.fieldsStatuses;\n                          return {\n                                  active: init.active,\n                                  encryptedPassword: init.encryptedPassword,\n                                  username: init.username,\n                                  adminUrl: init.adminUrl,\n                                  homeUrl: init.homeUrl,\n                                  contractStart: status,\n                                  description: init.description,\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 \"BlurDescriptionField\" :\n                  var result$6 = Formality.validateFieldOnBlurWithoutValidator(state.input.description, state.fieldsStatuses.description, (function (status) {\n                          var init = state.fieldsStatuses;\n                          return {\n                                  active: init.active,\n                                  encryptedPassword: init.encryptedPassword,\n                                  username: init.username,\n                                  adminUrl: init.adminUrl,\n                                  homeUrl: init.homeUrl,\n                                  contractStart: init.contractStart,\n                                  description: 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                                  active: init.active,\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                                  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$1(initialInput)\n                        };\n              \n            }\n          } else {\n            switch (action.TAG) {\n              case \"UpdateActiveField\" :\n                  var nextInput = action._0(state.input);\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: nextInput,\n                            fieldsStatuses: Formality.validateFieldOnChangeWithoutValidator(nextInput.active, (function (status) {\n                                    var init = state.fieldsStatuses;\n                                    return {\n                                            active: status,\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                                            name: init.name\n                                          };\n                                  })),\n                            collectionsStatuses: state.collectionsStatuses,\n                            formStatus: state.formStatus,\n                            submissionStatus: state.submissionStatus\n                          }\n                        };\n              case \"UpdateEncryptedPasswordField\" :\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.encryptedPassword, (function (status) {\n                                    var init = state.fieldsStatuses;\n                                    return {\n                                            active: init.active,\n                                            encryptedPassword: status,\n                                            username: init.username,\n                                            adminUrl: init.adminUrl,\n                                            homeUrl: init.homeUrl,\n                                            contractStart: init.contractStart,\n                                            description: init.description,\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$2 = action._0(state.input);\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: nextInput$2,\n                            fieldsStatuses: Formality.validateFieldOnChangeWithoutValidator(nextInput$2.username, (function (status) {\n                                    var init = state.fieldsStatuses;\n                                    return {\n                                            active: init.active,\n                                            encryptedPassword: init.encryptedPassword,\n                                            username: status,\n                                            adminUrl: init.adminUrl,\n                                            homeUrl: init.homeUrl,\n                                            contractStart: init.contractStart,\n                                            description: init.description,\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$3 = action._0(state.input);\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: nextInput$3,\n                            fieldsStatuses: Formality.validateFieldOnChangeWithoutValidator(nextInput$3.adminUrl, (function (status) {\n                                    var init = state.fieldsStatuses;\n                                    return {\n                                            active: init.active,\n                                            encryptedPassword: init.encryptedPassword,\n                                            username: init.username,\n                                            adminUrl: status,\n                                            homeUrl: init.homeUrl,\n                                            contractStart: init.contractStart,\n                                            description: init.description,\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$4 = action._0(state.input);\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: nextInput$4,\n                            fieldsStatuses: Formality.validateFieldOnChangeWithoutValidator(nextInput$4.homeUrl, (function (status) {\n                                    var init = state.fieldsStatuses;\n                                    return {\n                                            active: init.active,\n                                            encryptedPassword: init.encryptedPassword,\n                                            username: init.username,\n                                            adminUrl: init.adminUrl,\n                                            homeUrl: status,\n                                            contractStart: init.contractStart,\n                                            description: init.description,\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$5 = action._0(state.input);\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: nextInput$5,\n                            fieldsStatuses: Formality.validateFieldOnChangeWithValidator(nextInput$5, state.fieldsStatuses.contractStart, state.submissionStatus, validators_contractStart, (function (status) {\n                                    var init = state.fieldsStatuses;\n                                    return {\n                                            active: init.active,\n                                            encryptedPassword: init.encryptedPassword,\n                                            username: init.username,\n                                            adminUrl: init.adminUrl,\n                                            homeUrl: init.homeUrl,\n                                            contractStart: status,\n                                            description: init.description,\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$6 = action._0(state.input);\n                  return {\n                          TAG: \"Update\",\n                          _0: {\n                            input: nextInput$6,\n                            fieldsStatuses: Formality.validateFieldOnChangeWithoutValidator(nextInput$6.description, (function (status) {\n                                    var init = state.fieldsStatuses;\n                                    return {\n                                            active: init.active,\n                                            encryptedPassword: init.encryptedPassword,\n                                            username: init.username,\n                                            adminUrl: init.adminUrl,\n                                            homeUrl: init.homeUrl,\n                                            contractStart: init.contractStart,\n                                            description: 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                                            active: init.active,\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                                            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          updateActive: (function (nextInputFn, nextValue) {\n              dispatch({\n                    TAG: \"UpdateActiveField\",\n                    _0: (function (__x) {\n                        return nextInputFn(__x, nextValue);\n                      })\n                  });\n            }),\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          updateName: (function (nextInputFn, nextValue) {\n              dispatch({\n                    TAG: \"UpdateNameField\",\n                    _0: (function (__x) {\n                        return nextInputFn(__x, nextValue);\n                      })\n                  });\n            }),\n          blurActive: (function () {\n              dispatch(\"BlurActiveField\");\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          blurName: (function () {\n              dispatch(\"BlurNameField\");\n            }),\n          activeResult: Formality.exposeFieldResult(state.fieldsStatuses.active),\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          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.active;\n              if (typeof tmp === \"object\") {\n                return true;\n              }\n              var tmp$1 = match.encryptedPassword;\n              if (typeof tmp$1 === \"object\") {\n                return true;\n              }\n              var tmp$2 = match.username;\n              if (typeof tmp$2 === \"object\") {\n                return true;\n              }\n              var tmp$3 = match.adminUrl;\n              if (typeof tmp$3 === \"object\") {\n                return true;\n              }\n              var tmp$4 = match.homeUrl;\n              if (typeof tmp$4 === \"object\") {\n                return true;\n              }\n              var tmp$5 = match.contractStart;\n              if (typeof tmp$5 === \"object\") {\n                return true;\n              }\n              var tmp$6 = match.description;\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 TsdNewForm = {\n  validators: validators,\n  initialFieldsStatuses: initialFieldsStatuses,\n  initialCollectionsStatuses: undefined,\n  initialState: initialState$1,\n  validateForm: validateForm,\n  useForm: useForm\n};\n\nfunction DashboardTsdNewForm(props) {\n  var initialInput = React.useMemo((function () {\n          return {\n                  name: \"\",\n                  description: \"\",\n                  contractStart: Caml_option.some(new Date()),\n                  homeUrl: \"\",\n                  adminUrl: \"\",\n                  username: \"\",\n                  encryptedPassword: \"\",\n                  active: true\n                };\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.create(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: \"DashboardTsdNewForm\",\n                          subModulePath: /* [] */0,\n                          value: \"make\",\n                          fullPath: \"DashboardTsdNewForm.make\"\n                        }, \"TsdCreate::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: \"DashboardTsdNewForm\",\n                        subModulePath: /* [] */0,\n                        value: \"make\",\n                        fullPath: \"DashboardTsdNewForm.make\"\n                      }, \"TsdCreate::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.jsx(H1.make, {\n                      children: \"New TSD\"\n                    }),\n                JsxRuntime.jsx(P.make, {\n                      children: \"A Technology Service Distributor (TSD), acts as an intermediary\\n        between technology vendors and resellers or service providers. TSDs provide a range of\\n        services and work with agencies and agents to help customers.\"\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                                                  description: input.description,\n                                                  contractStart: input.contractStart,\n                                                  homeUrl: input.homeUrl,\n                                                  adminUrl: input.adminUrl,\n                                                  username: input.username,\n                                                  encryptedPassword: input.encryptedPassword,\n                                                  active: input.active\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                                                  description: value,\n                                                  contractStart: input.contractStart,\n                                                  homeUrl: input.homeUrl,\n                                                  adminUrl: input.adminUrl,\n                                                  username: input.username,\n                                                  encryptedPassword: input.encryptedPassword,\n                                                  active: input.active\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                                                  description: input.description,\n                                                  contractStart: input.contractStart,\n                                                  homeUrl: value,\n                                                  adminUrl: input.adminUrl,\n                                                  username: input.username,\n                                                  encryptedPassword: input.encryptedPassword,\n                                                  active: input.active\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                                                  description: input.description,\n                                                  contractStart: input.contractStart,\n                                                  homeUrl: input.homeUrl,\n                                                  adminUrl: value,\n                                                  username: input.username,\n                                                  encryptedPassword: input.encryptedPassword,\n                                                  active: input.active\n                                                };\n                                        }), $$event.target.value);\n                                })\n                            }),\n                        fieldError(form.adminUrlResult)\n                      ]\n                    }),\n                JsxRuntime.jsxs(DashboardForm.MultiFieldContainer.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                                                          description: input.description,\n                                                          contractStart: input.contractStart,\n                                                          homeUrl: input.homeUrl,\n                                                          adminUrl: input.adminUrl,\n                                                          username: value,\n                                                          encryptedPassword: input.encryptedPassword,\n                                                          active: input.active\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                                                          description: input.description,\n                                                          contractStart: input.contractStart,\n                                                          homeUrl: input.homeUrl,\n                                                          adminUrl: input.adminUrl,\n                                                          username: input.username,\n                                                          encryptedPassword: value,\n                                                          active: input.active\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.MultiFieldContainer.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                                                          description: input.description,\n                                                          contractStart: value,\n                                                          homeUrl: input.homeUrl,\n                                                          adminUrl: input.adminUrl,\n                                                          username: input.username,\n                                                          encryptedPassword: input.encryptedPassword,\n                                                          active: input.active\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: form.input.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                                                          description: input.description,\n                                                          contractStart: input.contractStart,\n                                                          homeUrl: input.homeUrl,\n                                                          adminUrl: input.adminUrl,\n                                                          username: input.username,\n                                                          encryptedPassword: input.encryptedPassword,\n                                                          active: value\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                        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: match$1 !== undefined ? null : 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: \"createButton\",\n                              size: \"MD\",\n                              color: \"Primary\",\n                              disabled: form.submitting,\n                              busy: form.submitting,\n                              submit: true,\n                              children: \"Create\"\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 = DashboardTsdNewForm;\n\nexport {\n  Css ,\n  FieldContainer ,\n  FieldContainer25 ,\n  MultiFieldContainer ,\n  ButtonContainer ,\n  SectionTitle ,\n  initialState ,\n  reducer ,\n  TsdNewForm ,\n  make ,\n}\n/* P 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 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 DashboardTsdNewForm from \"./components/DashboardTsdNewForm.res.js\";\n\nfunction DashboardTsdNew$default(props) {\n  return JsxRuntime.jsxs(\"div\", {\n              children: [\n                JsxRuntime.jsx(DashboardTsdNavbar.make, {\n                      currentLink: \"New\"\n                    }),\n                JsxRuntime.jsx(Container.make, {\n                      className: DashboardIndexCss.layout,\n                      children: JsxRuntime.jsx(DashboardTsdNewForm.make, {})\n                    })\n              ],\n              className: DashboardIndexCss.pageContainer\n            });\n}\n\nvar Css;\n\nvar $$default = DashboardTsdNew$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 Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nfunction colorToClass(color) {\n  switch (color) {\n    case \"Gray\" :\n        return \"text-gray\";\n    case \"Purple\" :\n        return \"text-purple\";\n    case \"Black\" :\n        return \"text-black\";\n    \n  }\n}\n\nfunction weightToClass(bold) {\n  switch (bold) {\n    case \"Bold\" :\n        return \"font-bold\";\n    case \"SemiBold\" :\n        return \"font-semibold\";\n    case \"Medium\" :\n        return \"font-medium\";\n    case \"Normal\" :\n        return \"font-normal\";\n    \n  }\n}\n\nfunction sizeToClass(size) {\n  switch (size) {\n    case \"SM\" :\n        return \"text-sm mb-4\";\n    case \"MD\" :\n        return \"text-base mb-4\";\n    case \"LG\" :\n        return \"text-lg mb-6\";\n    \n  }\n}\n\nfunction P(props) {\n  var __size = props.size;\n  var __weight = props.weight;\n  var __color = props.color;\n  var color = __color !== undefined ? __color : \"Gray\";\n  var weight = __weight !== undefined ? __weight : \"Normal\";\n  var size = __size !== undefined ? __size : \"MD\";\n  return JsxRuntime.jsx(\"p\", {\n              children: props.children,\n              className: Cx.cx([\n                    sizeToClass(size),\n                    colorToClass(color),\n                    weightToClass(weight)\n                  ])\n            });\n}\n\nvar make = P;\n\nexport {\n  colorToClass ,\n  weightToClass ,\n  sizeToClass ,\n  make ,\n}\n/* react/jsx-runtime Not a pure module */\n"],"names":["initialState","message","undefined","document","messages","usernameVisible","passwordVisible","reducer","state","action","TAG","_0","validators_contractStart","strategy","validate","input","x","contractStart","Caml_option","toString","validators_name","name","trim","validators","active","encryptedPassword","username","adminUrl","homeUrl","description","initialState$1","fieldsStatuses","collectionsStatuses","formStatus","submissionStatus","validateForm","tmp","match_0","match_0$1","match_0$2","match_0$3","match_0$4","match","tmp$1","match_0$5","match$1","activeResult$1","activeResult","encryptedPasswordResult","usernameResult","adminUrlResult","homeUrlResult","contractStartResult","descriptionResult","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","updateActive","nextInputFn","nextValue","__x","updateEncryptedPassword","updateUsername","updateAdminUrl","updateHomeUrl","updateContractStart","updateDescription","updateName","blurActive","blurEncryptedPassword","blurUsername","blurAdminUrl","blurHomeUrl","blurContractStart","blurDescription","blurName","dirty","valid","submitting","submit","dismissSubmissionError","mapSubmissionError","make","props","Date","form","cb","$$Promise","Api_Tsd","create","Url","Routes_Tsd","edit","id","errors","VAL","SentryLogger","rootModule","subModulePath","value","fullPath","activeModelErrors","fieldError","field","JsxRuntime","ResponseMessage","messageType","children","ActiveModelError","H1","P","DashboardForm","Label","forId","className","DashboardFormCss","TextField","placeholder","onChange","$$event","target","Textarea","Hr","IconView","size","color","onClick","type_","ReactDatepicker","date","Belt_Option","Toggle","on","ResourceDocument","removeDocument","Uploader","allowed","multiple","upload","files","Belt_Array","file","fromMime","type","setUploadHandler","prim","Button","buttonClassName","IconAdditionalUpload","disabled","busy","e","preventDefault","index","$$default","DashboardTsdNavbar","currentLink","Container","DashboardIndexCss","DashboardTsdNewForm","Dashboard","ID","$$new","show","colorToClass","weightToClass","bold","sizeToClass","__size","__weight","weight","__color","Cx"],"sourceRoot":""}