{"version":3,"file":"js/rescript-bundles-user-dashboard-projects-create-bare-metal-project-configuration-f32ac3f25eee5a6bc127.chunk.js","mappings":"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","sources":["webpack://datacenters/./client/app/rescript/bindings/Notification.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-bare-metal-project-configuration/CreateBareMetalProjectConfiguration.scss?8c31","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-bare-metal-project-configuration/CreateBareMetalProjectConfiguration.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-bare-metal-project-configuration/CreateBareMetalProjectConfigurationData.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-bare-metal-project-configuration/CreateBareMetalProjectConfiguration__JsBridge.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-bare-metal-project-configuration/index.js","webpack://datacenters/./client/app/rescript/libs/Char.res.js","webpack://datacenters/./client/app/rescript/libs/ReactForm.res.js","webpack://datacenters/./client/app/rescript/models/ContractLength.res.js","webpack://datacenters/./node_modules/rescript-debounce/src/Debounce.res.js"],"sourcesContent":["// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as ReactNotifications from \"react-notifications\";\n\nvar Container = {};\n\nfunction success(message, title, timeout) {\n  ReactNotifications.NotificationManager.success(message, title, timeout);\n}\n\nfunction error(message, title, timeout) {\n  ReactNotifications.NotificationManager.error(message, title, timeout);\n}\n\nvar NotificationManager = {\n  success: success,\n  error: error\n};\n\nvar Manager = {};\n\nexport {\n  Container ,\n  NotificationManager ,\n  Manager ,\n}\n/* react-notifications Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var checkbox = \"CreateBareMetalProjectConfiguration__checkbox__VpAJe\";\nexport var checkboxRightMargin = \"CreateBareMetalProjectConfiguration__checkboxRightMargin__lkoKY\";\nexport var checkboxRow = \"CreateBareMetalProjectConfiguration__checkboxRow__ebIo6\";\nexport var column = \"CreateBareMetalProjectConfiguration__column__hrUMJ\";\nexport var docUploadDescription = \"CreateBareMetalProjectConfiguration__docUploadDescription__cVtUn\";\nexport var docUploadSection = \"CreateBareMetalProjectConfiguration__docUploadSection__Fv0cn\";\nexport var docUploadTitle = \"CreateBareMetalProjectConfiguration__docUploadTitle__FElVG\";\nexport var documentRow = \"CreateBareMetalProjectConfiguration__documentRow__UdUql\";\nexport var elongated = \"CreateBareMetalProjectConfiguration__elongated__pFjiB\";\nexport var errorLabel = \"CreateBareMetalProjectConfiguration__errorLabel__fUfW4\";\nexport var errorMessage = \"CreateBareMetalProjectConfiguration__errorMessage__zEt7C\";\nexport var expanded = \"CreateBareMetalProjectConfiguration__expanded__gXLDi\";\nexport var field = \"CreateBareMetalProjectConfiguration__field__fEeHH\";\nexport var fieldRow = \"CreateBareMetalProjectConfiguration__fieldRow__o4deF\";\nexport var fieldWithUnit = \"CreateBareMetalProjectConfiguration__fieldWithUnit__Wxfy3\";\nexport var flex = \"CreateBareMetalProjectConfiguration__flex___oA5M\";\nexport var flexColumn = \"CreateBareMetalProjectConfiguration__flexColumn__BRQZe\";\nexport var flexContainerDoc = \"CreateBareMetalProjectConfiguration__flexContainerDoc__Rm3IO\";\nexport var gap1 = \"CreateBareMetalProjectConfiguration__gap1__coEfe\";\nexport var gap2 = \"CreateBareMetalProjectConfiguration__gap2___n2_m\";\nexport var gap3 = \"CreateBareMetalProjectConfiguration__gap3__nrU4y\";\nexport var gap4 = \"CreateBareMetalProjectConfiguration__gap4__tffm6\";\nexport var gap5 = \"CreateBareMetalProjectConfiguration__gap5__D6LUn\";\nexport var geographicalRegionsDescription = \"CreateBareMetalProjectConfiguration__geographicalRegionsDescription__vt5S2\";\nexport var geographicalRegionsSection = \"CreateBareMetalProjectConfiguration__geographicalRegionsSection__BL1IQ\";\nexport var geographicalRegionsTitle = \"CreateBareMetalProjectConfiguration__geographicalRegionsTitle___8s7d\";\nexport var iconView = \"CreateBareMetalProjectConfiguration__iconView___a8eR\";\nexport var input = \"CreateBareMetalProjectConfiguration__input__aCr7c\";\nexport var inputWithUnitUnit = \"CreateBareMetalProjectConfiguration__inputWithUnitUnit__EC6Jz\";\nexport var inputWithUnitUnitContainer = \"CreateBareMetalProjectConfiguration__inputWithUnitUnitContainer__iQKXd\";\nexport var inputWithUnitValue = \"CreateBareMetalProjectConfiguration__inputWithUnitValue__uAGKG\";\nexport var inputWithUnitValueContainer = \"CreateBareMetalProjectConfiguration__inputWithUnitValueContainer__RiuHm\";\nexport var justified = \"CreateBareMetalProjectConfiguration__justified__Qvsw1\";\nexport var label = \"CreateBareMetalProjectConfiguration__label__wYLKi\";\nexport var moderate = \"CreateBareMetalProjectConfiguration__moderate__Outob\";\nexport var radioButton = \"CreateBareMetalProjectConfiguration__radioButton__qKLf2\";\nexport var radioButtonLabel = \"CreateBareMetalProjectConfiguration__radioButtonLabel__HWBAo\";\nexport var radioButtonsRow = \"CreateBareMetalProjectConfiguration__radioButtonsRow__aSfyT\";\nexport var requiredLabel = \"CreateBareMetalProjectConfiguration__requiredLabel__EdZ2a\";\nexport var row = \"CreateBareMetalProjectConfiguration__row___MgJm\";\nexport var selectWrapper = \"CreateBareMetalProjectConfiguration__selectWrapper__fKsZF\";\nexport var subHeading = \"CreateBareMetalProjectConfiguration__subHeading__SPalN\";\nexport var textarea = \"CreateBareMetalProjectConfiguration__textarea__c0P6Y\";\nexport var title = \"CreateBareMetalProjectConfiguration__title__UiR2p\";\nexport var tooltipAndHeadingWrapper = \"CreateBareMetalProjectConfiguration__tooltipAndHeadingWrapper__PeA0y\";\nexport var tooltipDescription = \"CreateBareMetalProjectConfiguration__tooltipDescription__pJhiv\";\nexport var unfilled = \"CreateBareMetalProjectConfiguration__unfilled__pfgI6\";\nexport var unitSelectWrapper = \"CreateBareMetalProjectConfiguration__unitSelectWrapper__N0uR4\";\nexport var uploadDocumentButton = \"CreateBareMetalProjectConfiguration__uploadDocumentButton__JR8rY\";\nexport var uploader = \"CreateBareMetalProjectConfiguration__uploader__eF8rz\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as P from \"../../../../styleguide/components/Paragraph/P.res.js\";\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as Api from \"../../../../api/Api.res.js\";\nimport * as Url from \"../../../../utils/Url.res.js\";\nimport * as Char from \"../../../../libs/Char.res.js\";\nimport * as Hooks from \"../../../../libs/Hooks.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 Select from \"../../../../styleguide/forms/Select/Select.res.js\";\nimport * as $$Promise from \"../../../../bindings/Promise.res.js\";\nimport * as Belt_Int from \"rescript/lib/es6/belt_Int.js\";\nimport * as Checkbox from \"../../../../styleguide/forms/Checkbox/Checkbox.res.js\";\nimport * as Debounce from \"rescript-debounce/src/Debounce.res.js\";\nimport * as ReactForm from \"../../../../libs/ReactForm.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 DatePicker from \"../../../../styleguide/forms/DatePicker/DatePicker.res.js\";\nimport * as Visibility from \"../../../../libs/Visibility.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 $$Notification from \"../../../../bindings/Notification.res.js\";\nimport * as SentryLogger from \"../../../../loggers/SentryLogger.res.js\";\nimport * as ProjectWizard from \"../_components/ProjectWizard/ProjectWizard.res.js\";\nimport * as Belt_SetString from \"rescript/lib/es6/belt_SetString.js\";\nimport * as Routes_Project from \"../../../../routes/common/Routes_Project.res.js\";\nimport AddDays from \"date-fns/addDays\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectWizardPanel from \"../_components/ProjectWizardPanel/ProjectWizardPanel.res.js\";\nimport * as ReactNotifications from \"react-notifications\";\nimport * as SignInModalContainer from \"../../../../styleguide/modals/SignInModal/SignInModalContainer.res.js\";\nimport * as ProjectWizardNavigation from \"../_components/ProjectWizardNavigation/ProjectWizardNavigation.res.js\";\nimport * as CreateBareMetalProjectConfigurationForm from \"./CreateBareMetalProjectConfigurationForm.res.js\";\nimport * as CreateBareMetalProjectConfigurationScss from \"./CreateBareMetalProjectConfiguration.scss\";\n\nvar css = CreateBareMetalProjectConfigurationScss;\n\nfunction domId(field, at) {\n  return \"bare-metal-rfp-project-configuration-\" + (field + (\"-\" + String(at)));\n}\n\nfunction estimatedServersDomId(field, at) {\n  return domId(\"estimated-servers-\" + field, at);\n}\n\nfunction estimatedBudgetDomId(field, at) {\n  return domId(\"estimated-budget-\" + field, at);\n}\n\nfunction configurationTitle(at) {\n  return \"#\" + (String(at + 1 | 0) + (Char.mdash + \"Bare Metal RFP Configuration\"));\n}\n\nfunction add(x, status) {\n  return Belt_Array.concat(x, [status]);\n}\n\nfunction remove(x, index) {\n  return Belt_Array.keepWithIndex(x, (function (param, idx) {\n                return index !== idx;\n              }));\n}\n\nfunction toggle(x, index) {\n  return Belt_Array.mapWithIndex(x, (function (idx, visibility) {\n                if (index === idx) {\n                  return Visibility.toggle(visibility);\n                } else {\n                  return visibility;\n                }\n              }));\n}\n\nfunction expandAll(x) {\n  return Belt_Array.map(x, (function (param) {\n                return \"Shown\";\n              }));\n}\n\nvar Visibilities = {\n  add: add,\n  remove: remove,\n  toggle: toggle,\n  expandAll: expandAll\n};\n\nfunction validate(form) {\n  Belt_Array.forEachWithIndex(form.input.configurations, (function (ix, param) {\n          form.blurConfigurationStartDate(ix);\n        }));\n}\n\nfunction results(form) {\n  return Belt_Array.mapWithIndex(form.input.configurations, (function (ix, param) {\n                return form.configurationStartDateResult(ix);\n              }));\n}\n\nfunction isValid(results) {\n  return Belt_Array.every(results, (function (result) {\n                if (result !== undefined && result.TAG === \"Ok\") {\n                  return true;\n                } else {\n                  return false;\n                }\n              }));\n}\n\nvar ValidateSaveAndContinueLaterForm = {\n  validate: validate,\n  results: results,\n  isValid: isValid\n};\n\nvar persistDraft = Debounce.make(900, (function (param) {\n        if (param[1].TAG === \"Draft\") {\n          return $$Promise.wait(Api.saveBareMetalProjectConfigurationDraft(param[0]), (function (x) {\n                        if (x.TAG === \"Ok\") {\n                          return $$Notification.NotificationManager.success(\"Draft saved!\", \"\", 1000);\n                        }\n                        SentryLogger.error1({\n                              rootModule: \"CreateBareMetalProjectConfiguration\",\n                              subModulePath: {\n                                hd: \"Api\",\n                                tl: /* [] */0\n                              },\n                              value: \"persistDraft\",\n                              fullPath: \"CreateBareMetalProjectConfiguration.Api.persistDraft\"\n                            }, \"SaveBareMetalProjectDraft::Error\", [\n                              \"Error\",\n                              x._0\n                            ]);\n                        $$Notification.NotificationManager.error(\"Something went wrong trying to save the draft\", \"\", 1000);\n                      }));\n        }\n        \n      }));\n\nfunction submitForm(data, context, onFailure) {\n  if (context.TAG === \"Draft\") {\n    return $$Promise.wait(Api.saveBareMetalProjectConfiguration(data), (function (x) {\n                  if (x.TAG === \"Ok\") {\n                    return Url.visit(Routes_Project.BareMetal.Provider.newSelector);\n                  }\n                  SentryLogger.error1({\n                        rootModule: \"CreateBareMetalProjectConfiguration\",\n                        subModulePath: {\n                          hd: \"Api\",\n                          tl: /* [] */0\n                        },\n                        value: \"submitForm\",\n                        fullPath: \"CreateBareMetalProjectConfiguration.Api.submitForm\"\n                      }, \"SaveBareMetalProjectConfiguration::Error\", [\n                        \"Error\",\n                        x._0\n                      ]);\n                  onFailure();\n                  $$Notification.NotificationManager.error(\"Something went wrong trying to save the draft\", \"\", 1000);\n                }));\n  }\n  var projectId = context.projectId;\n  $$Promise.wait(Api.updateBareMetalProjectConfiguration(projectId, data), (function (x) {\n          if (x.TAG === \"Ok\") {\n            return Url.visit(Routes_Project.BareMetal.Provider.editSelector(projectId));\n          }\n          SentryLogger.error1({\n                rootModule: \"CreateBareMetalProjectConfiguration\",\n                subModulePath: {\n                  hd: \"Api\",\n                  tl: /* [] */0\n                },\n                value: \"submitForm\",\n                fullPath: \"CreateBareMetalProjectConfiguration.Api.submitForm\"\n              }, \"UpdateBareMetalProjectConfiguration::Error\", [\n                \"Error\",\n                x._0\n              ]);\n          onFailure();\n          $$Notification.NotificationManager.error(\"Something went wrong trying to update the project\", \"\", 1000);\n        }));\n}\n\nfunction saveDraftProjectAndContinueLater(form, context) {\n  if (context.TAG !== \"Draft\") {\n    return $$Promise.wait(Api.updateBareMetalDraftProjectAndContinueLater(context.projectId, form.input), (function (x) {\n                  if (x.TAG === \"Ok\") {\n                    return Url.visit(Routes_Project.index);\n                  }\n                  SentryLogger.error1({\n                        rootModule: \"CreateBareMetalProjectConfiguration\",\n                        subModulePath: {\n                          hd: \"Api\",\n                          tl: /* [] */0\n                        },\n                        value: \"saveDraftProjectAndContinueLater\",\n                        fullPath: \"CreateBareMetalProjectConfiguration.Api.saveDraftProjectAndContinueLater\"\n                      }, \"UpdateBareMetaProjectConfiguration::Error\", [\n                        \"Error\",\n                        x._0\n                      ]);\n                  $$Notification.NotificationManager.error(\"Something went wrong trying to update the project\", \"\", 1000);\n                }));\n  }\n  validate(form);\n  if (isValid(results(form))) {\n    return $$Promise.wait(Api.saveBareMetalDraftProjectAndContinueLater(\"BareMetal\", {\n                    TAG: \"BareMetal\",\n                    _0: \"Rfp\"\n                  }, \"Draft\"), (function (x) {\n                  if (x.TAG === \"Ok\") {\n                    return Url.visit(Routes_Project.index);\n                  }\n                  SentryLogger.error1({\n                        rootModule: \"CreateBareMetalProjectConfiguration\",\n                        subModulePath: {\n                          hd: \"Api\",\n                          tl: /* [] */0\n                        },\n                        value: \"saveDraftProjectAndContinueLater\",\n                        fullPath: \"CreateBareMetalProjectConfiguration.Api.saveDraftProjectAndContinueLater\"\n                      }, \"saveDraftProjectAndContinueLater::saveProjectDraft::Error\", [\n                        \"Error\",\n                        x._0\n                      ]);\n                  $$Notification.NotificationManager.error(\"Something went wrong trying to save the draft\", \"\", 1000);\n                }));\n  }\n  \n}\n\nfunction cancelCreation() {\n  $$Promise.wait(Api.cancelProjectCreation(), (function (x) {\n          if (x.TAG === \"Ok\") {\n            return Url.visit(Routes_Project.index);\n          } else {\n            return SentryLogger.error1({\n                        rootModule: \"CreateBareMetalProjectConfiguration\",\n                        subModulePath: {\n                          hd: \"Api\",\n                          tl: /* [] */0\n                        },\n                        value: \"cancelCreation\",\n                        fullPath: \"CreateBareMetalProjectConfiguration.Api.cancelCreation\"\n                      }, \"CancelProjectCreation::Error\", [\n                        \"Error\",\n                        x._0\n                      ]);\n          }\n        }));\n}\n\nvar Api$1 = {\n  persistDraft: persistDraft,\n  submitForm: submitForm,\n  saveDraftProjectAndContinueLater: saveDraftProjectAndContinueLater,\n  cancelCreation: cancelCreation\n};\n\nfunction CreateBareMetalProjectConfiguration(props) {\n  var userLoginStatus = props.userLoginStatus;\n  var mobile = props.mobile;\n  var options = props.options;\n  var context = props.context;\n  var initialInput = React.useMemo((function () {\n          if (context.TAG !== \"Draft\") {\n            return {\n                    configurations: context.data\n                  };\n          }\n          var data = context.data;\n          if (data !== undefined) {\n            return {\n                    configurations: data\n                  };\n          } else {\n            return {\n                    configurations: [CreateBareMetalProjectConfigurationForm.Configuration.empty()]\n                  };\n          }\n        }), []);\n  var match = React.useState(function () {\n        return \"Hidden\";\n      });\n  var toggleSignInModal = match[1];\n  var signInModal = match[0];\n  var form = CreateBareMetalProjectConfigurationForm.useForm(initialInput, (function (output, form) {\n          submitForm(output, context, form.notifyOnFailure);\n        }));\n  var initialState = React.useMemo((function () {\n          var data;\n          if (context.TAG === \"Draft\") {\n            var data$1 = context.data;\n            if (data$1 !== undefined) {\n              data = data$1;\n            } else {\n              var shown = [\"Shown\"];\n              return {\n                      panelsVisibility: shown,\n                      userLoginStatus: userLoginStatus\n                    };\n            }\n          } else {\n            data = context.data;\n          }\n          var shown$1 = Belt_Array.map(data, (function (param) {\n                  return \"Shown\";\n                }));\n          return {\n                  panelsVisibility: shown$1,\n                  userLoginStatus: userLoginStatus\n                };\n        }), []);\n  var match$1 = Hooks.useReducer(initialState, (function (state, action) {\n          if (typeof action !== \"object\") {\n            if (action === \"AddPanel\") {\n              return {\n                      TAG: \"UpdateWithSideEffects\",\n                      _0: {\n                        panelsVisibility: Belt_Array.concat(state.panelsVisibility, [\"Shown\"]),\n                        userLoginStatus: state.userLoginStatus\n                      },\n                      _1: (function (param) {\n                          form.addConfiguration(CreateBareMetalProjectConfigurationForm.Configuration.empty());\n                        })\n                    };\n            } else {\n              return {\n                      TAG: \"Update\",\n                      _0: {\n                        panelsVisibility: Belt_Array.map(state.panelsVisibility, (function (param) {\n                                return \"Shown\";\n                              })),\n                        userLoginStatus: state.userLoginStatus\n                      }\n                    };\n            }\n          }\n          switch (action.TAG) {\n            case \"RemovePanel\" :\n                return {\n                        TAG: \"Update\",\n                        _0: {\n                          panelsVisibility: remove(state.panelsVisibility, action.at),\n                          userLoginStatus: state.userLoginStatus\n                        }\n                      };\n            case \"TogglePanelVisibility\" :\n                return {\n                        TAG: \"Update\",\n                        _0: {\n                          panelsVisibility: toggle(state.panelsVisibility, action.at),\n                          userLoginStatus: state.userLoginStatus\n                        }\n                      };\n            case \"ToggleLoginStatus\" :\n                return {\n                        TAG: \"UpdateWithSideEffects\",\n                        _0: {\n                          panelsVisibility: state.panelsVisibility,\n                          userLoginStatus: action._0\n                        },\n                        _1: (function (param) {\n                            saveDraftProjectAndContinueLater(form, context);\n                          })\n                      };\n            \n          }\n        }));\n  var dispatch = match$1[1];\n  var state = match$1[0];\n  var match$2 = state.userLoginStatus;\n  var tmp;\n  if (match$2 === \"LoggedIn\") {\n    var tmp$1;\n    tmp$1 = context.TAG === \"Draft\" ? \"Next\" : \"Save and Next\";\n    var match$3 = form.status;\n    var tmp$2;\n    tmp$2 = typeof match$3 !== \"object\" || match$3.TAG !== \"Submitting\" ? \"Enabled\" : \"Busy\";\n    tmp = [\n      tmp$1,\n      (function () {\n          form.submit();\n        }),\n      tmp$2\n    ];\n  } else {\n    tmp = [\n      \"Next\",\n      (function () {\n          toggleSignInModal(function (param) {\n                return Visibility.toggle(signInModal);\n              });\n        }),\n      \"Enabled\"\n    ];\n  }\n  var match$4 = state.userLoginStatus;\n  var tmp$3;\n  tmp$3 = match$4 === \"LoggedIn\" && props.projectStatus === \"Draft\" ? [\n      \"Save and Continue Later\",\n      (function () {\n          saveDraftProjectAndContinueLater(form, context);\n        })\n    ] : undefined;\n  var tmp$4;\n  tmp$4 = signInModal === \"Shown\" ? JsxRuntime.jsx(SignInModalContainer.make, {\n          close: (function () {\n              toggleSignInModal(function (param) {\n                    return Visibility.toggle(signInModal);\n                  });\n            }),\n          callback: (function () {\n              dispatch({\n                    TAG: \"ToggleLoginStatus\",\n                    _0: \"LoggedIn\"\n                  });\n              Url.visit(Routes_Project.BareMetal.$$new);\n            }),\n          setUserData: props.setUserData,\n          subTitle: \"Sign In to save the project detail and continue later\"\n        }) : null;\n  return JsxRuntime.jsxs(ProjectWizard.Container.make, {\n              children: [\n                JsxRuntime.jsxs(ProjectWizard.Content.make, {\n                      children: [\n                        JsxRuntime.jsx(\"div\", {\n                              children: JsxRuntime.jsx(\"h1\", {\n                                    children: \"Step 1: Configure Your Bare Metal Service\",\n                                    className: css.title\n                                  }),\n                              className: css.tooltipAndHeadingWrapper\n                            }),\n                        JsxRuntime.jsx(ProjectWizard.H2.make, {\n                              children: \"Add Your Regions and Operating Systems\"\n                            }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: \"Please add at least one bare metal configuration with a region and operating system.\",\n                              className: css.subHeading\n                            }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: Belt_Array.mapWithIndex(form.input.configurations, (function (configurationIndex, configuration) {\n                                      var visibility = state.panelsVisibility[configurationIndex];\n                                      var match = form.input.configurations;\n                                      var tmp;\n                                      if (visibility === \"Shown\") {\n                                        var domId$1 = domId(\"start-date\", configurationIndex);\n                                        var result = form.configurationStartDateResult(configurationIndex);\n                                        var tmp$1;\n                                        tmp$1 = result !== undefined && result.TAG !== \"Ok\" ? css.errorLabel : \"\";\n                                        var tmp$2;\n                                        tmp$2 = result !== undefined && result.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n                                                children: result._0,\n                                                className: css.errorMessage\n                                              }) : null;\n                                        var domId$2 = domId(\"contract-length\", configurationIndex);\n                                        var result$1 = form.configurationContractLengthResult(configurationIndex);\n                                        var tmp$3;\n                                        tmp$3 = result$1 !== undefined && result$1.TAG !== \"Ok\" ? css.errorLabel : \"\";\n                                        var tmp$4;\n                                        tmp$4 = result$1 !== undefined && result$1.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n                                                children: result$1._0,\n                                                className: css.errorMessage\n                                              }) : null;\n                                        var domId$3 = estimatedServersDomId(\"estimated-servers\", configurationIndex);\n                                        var result$2 = form.configurationEstimatedServersResult(configurationIndex);\n                                        var tmp$5;\n                                        tmp$5 = result$2 !== undefined && result$2.TAG !== \"Ok\" ? css.errorLabel : \"\";\n                                        var tmp$6;\n                                        tmp$6 = result$2 !== undefined && result$2.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n                                                children: result$2._0,\n                                                className: css.errorMessage\n                                              }) : null;\n                                        var domId$4 = estimatedBudgetDomId(\"estimated-budget\", configurationIndex);\n                                        var result$3 = form.configurationEstimatedBudgetResult(configurationIndex);\n                                        var tmp$7;\n                                        tmp$7 = result$3 !== undefined && result$3.TAG !== \"Ok\" ? css.errorLabel : \"\";\n                                        var tmp$8;\n                                        tmp$8 = result$3 !== undefined && result$3.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n                                                children: result$3._0,\n                                                className: css.errorMessage\n                                              }) : null;\n                                        var result$4 = form.configurationRegionsResult(configurationIndex);\n                                        var tmp$9;\n                                        tmp$9 = result$4 !== undefined && result$4.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n                                                children: result$4._0,\n                                                className: css.errorMessage\n                                              }) : null;\n                                        var result$5 = form.configurationOperatingSystemsResult(configurationIndex);\n                                        var tmp$10;\n                                        tmp$10 = result$5 !== undefined && result$5.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n                                                children: result$5._0,\n                                                className: css.errorMessage\n                                              }) : null;\n                                        tmp = JsxRuntime.jsxs(JsxRuntime.Fragment, {\n                                              children: [\n                                                JsxRuntime.jsxs(ProjectWizardPanel.HeadlessSection.make, {\n                                                      children: [\n                                                        JsxRuntime.jsxs(\"div\", {\n                                                              children: [\n                                                                JsxRuntime.jsxs(\"div\", {\n                                                                      children: [\n                                                                        JsxRuntime.jsx(Label.make, {\n                                                                              forId: domId$1,\n                                                                              status: result,\n                                                                              className: Cx.cx([\n                                                                                    css.label,\n                                                                                    css.requiredLabel,\n                                                                                    tmp$1\n                                                                                  ]),\n                                                                              children: \"Service Start Date\"\n                                                                            }),\n                                                                        JsxRuntime.jsx(DatePicker.make, {\n                                                                              id: domId$1,\n                                                                              value: Belt_Option.map(configuration.startDate, (function (prim) {\n                                                                                      return prim;\n                                                                                    })),\n                                                                              fromMonth: Caml_option.some(AddDays(new Date(), 1)),\n                                                                              disabledDays: [{\n                                                                                  from: new Date(0, 0),\n                                                                                  to: new Date()\n                                                                                }],\n                                                                              status: Belt_Option.map(result, (function (x) {\n                                                                                      if (x.TAG === \"Ok\") {\n                                                                                        return \"Valid\";\n                                                                                      } else {\n                                                                                        return \"Error\";\n                                                                                      }\n                                                                                    })),\n                                                                              onDayChange: (function (date, param, param$1) {\n                                                                                  form.updateConfigurationStartDate(configurationIndex, (function (input, value) {\n                                                                                          return CreateBareMetalProjectConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                        return {\n                                                                                                                key: configuration.key,\n                                                                                                                startDate: value,\n                                                                                                                contractLength: configuration.contractLength,\n                                                                                                                estimatedServers: configuration.estimatedServers,\n                                                                                                                estimatedBudget: configuration.estimatedBudget,\n                                                                                                                regions: configuration.regions,\n                                                                                                                operatingSystems: configuration.operatingSystems\n                                                                                                              };\n                                                                                                      }));\n                                                                                        }), Caml_option.some(date));\n                                                                                  persistDraft([\n                                                                                        CreateBareMetalProjectConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n                                                                                                return {\n                                                                                                        key: configuration.key,\n                                                                                                        startDate: Caml_option.some(date),\n                                                                                                        contractLength: configuration.contractLength,\n                                                                                                        estimatedServers: configuration.estimatedServers,\n                                                                                                        estimatedBudget: configuration.estimatedBudget,\n                                                                                                        regions: configuration.regions,\n                                                                                                        operatingSystems: configuration.operatingSystems\n                                                                                                      };\n                                                                                              })),\n                                                                                        context\n                                                                                      ]);\n                                                                                }),\n                                                                              onHide: (function () {\n                                                                                  form.blurConfigurationStartDate(configurationIndex);\n                                                                                }),\n                                                                              className: css.input\n                                                                            }),\n                                                                        tmp$2\n                                                                      ],\n                                                                      className: css.field\n                                                                    }),\n                                                                JsxRuntime.jsxs(\"div\", {\n                                                                      children: [\n                                                                        JsxRuntime.jsx(Label.make, {\n                                                                              forId: domId$2,\n                                                                              status: result$1,\n                                                                              className: Cx.cx([\n                                                                                    css.label,\n                                                                                    css.requiredLabel,\n                                                                                    tmp$3\n                                                                                  ]),\n                                                                              children: \"Contract Length\"\n                                                                            }),\n                                                                        JsxRuntime.jsxs(Select.make, {\n                                                                              id: domId$2,\n                                                                              value: Belt_Option.mapWithDefault(configuration.contractLength, \"\", (function (cl) {\n                                                                                      return String(cl.value);\n                                                                                    })),\n                                                                              status: Belt_Option.map(result$1, (function (x) {\n                                                                                      if (x.TAG === \"Ok\") {\n                                                                                        return \"Valid\";\n                                                                                      } else {\n                                                                                        return \"Error\";\n                                                                                      }\n                                                                                    })),\n                                                                              className: css.input,\n                                                                              wrapperClassName: css.selectWrapper,\n                                                                              iconSize: \"XXS\",\n                                                                              iconColor: \"GrayText\",\n                                                                              onChange: (function ($$event) {\n                                                                                  var value = Belt_Array.getBy(options.contractLengths, (function (cl) {\n                                                                                          return Belt_Option.mapWithDefault(Belt_Int.fromString(ReactForm.value($$event)), false, (function (value) {\n                                                                                                        return value === cl.value;\n                                                                                                      }));\n                                                                                        }));\n                                                                                  form.updateConfigurationContractLength(configurationIndex, (function (input, value) {\n                                                                                          return CreateBareMetalProjectConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                        return {\n                                                                                                                key: configuration.key,\n                                                                                                                startDate: configuration.startDate,\n                                                                                                                contractLength: value,\n                                                                                                                estimatedServers: configuration.estimatedServers,\n                                                                                                                estimatedBudget: configuration.estimatedBudget,\n                                                                                                                regions: configuration.regions,\n                                                                                                                operatingSystems: configuration.operatingSystems\n                                                                                                              };\n                                                                                                      }));\n                                                                                        }), value);\n                                                                                  persistDraft([\n                                                                                        CreateBareMetalProjectConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n                                                                                                return {\n                                                                                                        key: configuration.key,\n                                                                                                        startDate: configuration.startDate,\n                                                                                                        contractLength: value,\n                                                                                                        estimatedServers: configuration.estimatedServers,\n                                                                                                        estimatedBudget: configuration.estimatedBudget,\n                                                                                                        regions: configuration.regions,\n                                                                                                        operatingSystems: configuration.operatingSystems\n                                                                                                      };\n                                                                                              })),\n                                                                                        context\n                                                                                      ]);\n                                                                                }),\n                                                                              onBlur: (function (param) {\n                                                                                  form.blurConfigurationContractLength(configurationIndex);\n                                                                                }),\n                                                                              children: [\n                                                                                JsxRuntime.jsx(Select.DefaultOption.make, {\n                                                                                      children: \"Select...\"\n                                                                                    }),\n                                                                                Belt_Array.map(options.contractLengths, (function (cl) {\n                                                                                        return JsxRuntime.jsx(Select.$$Option.make, {\n                                                                                                    value: String(cl.value),\n                                                                                                    children: cl.label\n                                                                                                  }, String(cl.value));\n                                                                                      }))\n                                                                              ]\n                                                                            }),\n                                                                        tmp$4\n                                                                      ],\n                                                                      className: css.field\n                                                                    })\n                                                              ],\n                                                              className: Cx.cx([\n                                                                    css.fieldRow,\n                                                                    css.unfilled\n                                                                  ])\n                                                            }),\n                                                        JsxRuntime.jsxs(\"div\", {\n                                                              children: [\n                                                                JsxRuntime.jsxs(\"div\", {\n                                                                      children: [\n                                                                        JsxRuntime.jsx(Label.make, {\n                                                                              forId: domId$3,\n                                                                              status: result$2,\n                                                                              className: Cx.cx([\n                                                                                    css.label,\n                                                                                    css.requiredLabel,\n                                                                                    tmp$5\n                                                                                  ]),\n                                                                              children: \"Estimated Servers\"\n                                                                            }),\n                                                                        JsxRuntime.jsx(TextField.make, {\n                                                                              id: domId$3,\n                                                                              value: Belt_Option.mapWithDefault(configuration.estimatedServers, \"\", (function (prim) {\n                                                                                      return String(prim);\n                                                                                    })),\n                                                                              status: Belt_Option.map(result$2, (function (x) {\n                                                                                      if (x.TAG === \"Ok\") {\n                                                                                        return \"Valid\";\n                                                                                      } else {\n                                                                                        return \"Error\";\n                                                                                      }\n                                                                                    })),\n                                                                              className: css.input,\n                                                                              onBlur: (function (param) {\n                                                                                  form.blurConfigurationEstimatedServers(configurationIndex);\n                                                                                }),\n                                                                              onChange: (function ($$event) {\n                                                                                  var x = ReactForm.value($$event);\n                                                                                  var value;\n                                                                                  if (x === \"\") {\n                                                                                    value = {\n                                                                                      TAG: \"Ok\",\n                                                                                      _0: undefined\n                                                                                    };\n                                                                                  } else {\n                                                                                    var n = Belt_Int.fromString(x);\n                                                                                    value = n !== undefined && String(n) === x ? ({\n                                                                                          TAG: \"Ok\",\n                                                                                          _0: n\n                                                                                        }) : ({\n                                                                                          TAG: \"Error\",\n                                                                                          _0: undefined\n                                                                                        });\n                                                                                  }\n                                                                                  if (value.TAG !== \"Ok\") {\n                                                                                    return ;\n                                                                                  }\n                                                                                  var value$1 = value._0;\n                                                                                  form.updateConfigurationEstimatedServers(configurationIndex, (function (input, value) {\n                                                                                          return CreateBareMetalProjectConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                        return {\n                                                                                                                key: configuration.key,\n                                                                                                                startDate: configuration.startDate,\n                                                                                                                contractLength: configuration.contractLength,\n                                                                                                                estimatedServers: value,\n                                                                                                                estimatedBudget: configuration.estimatedBudget,\n                                                                                                                regions: configuration.regions,\n                                                                                                                operatingSystems: configuration.operatingSystems\n                                                                                                              };\n                                                                                                      }));\n                                                                                        }), value$1);\n                                                                                  persistDraft([\n                                                                                        CreateBareMetalProjectConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n                                                                                                return {\n                                                                                                        key: configuration.key,\n                                                                                                        startDate: configuration.startDate,\n                                                                                                        contractLength: configuration.contractLength,\n                                                                                                        estimatedServers: value$1,\n                                                                                                        estimatedBudget: configuration.estimatedBudget,\n                                                                                                        regions: configuration.regions,\n                                                                                                        operatingSystems: configuration.operatingSystems\n                                                                                                      };\n                                                                                              })),\n                                                                                        context\n                                                                                      ]);\n                                                                                })\n                                                                            }),\n                                                                        tmp$6\n                                                                      ],\n                                                                      className: css.field\n                                                                    }),\n                                                                JsxRuntime.jsxs(\"div\", {\n                                                                      children: [\n                                                                        JsxRuntime.jsx(Label.make, {\n                                                                              forId: domId$4,\n                                                                              status: result$3,\n                                                                              className: Cx.cx([\n                                                                                    css.label,\n                                                                                    css.requiredLabel,\n                                                                                    tmp$7\n                                                                                  ]),\n                                                                              children: \"Est. Monthly Budget\"\n                                                                            }),\n                                                                        JsxRuntime.jsxs(Select.make, {\n                                                                              id: domId$4,\n                                                                              value: Belt_Option.mapWithDefault(configuration.estimatedBudget, \"\", (function (value) {\n                                                                                      return value;\n                                                                                    })),\n                                                                              status: Belt_Option.map(result$3, (function (x) {\n                                                                                      if (x.TAG === \"Ok\") {\n                                                                                        return \"Valid\";\n                                                                                      } else {\n                                                                                        return \"Error\";\n                                                                                      }\n                                                                                    })),\n                                                                              className: css.input,\n                                                                              wrapperClassName: css.selectWrapper,\n                                                                              iconSize: \"XXS\",\n                                                                              iconColor: \"GrayText\",\n                                                                              onChange: (function ($$event) {\n                                                                                  var value = Belt_Option.getWithDefault(Belt_Array.getBy(options.estimatedBudgets, (function (x) {\n                                                                                              return ReactForm.value($$event) === x;\n                                                                                            })), \"\");\n                                                                                  form.updateConfigurationEstimatedBudget(configurationIndex, (function (input, value) {\n                                                                                          return CreateBareMetalProjectConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                        return {\n                                                                                                                key: configuration.key,\n                                                                                                                startDate: configuration.startDate,\n                                                                                                                contractLength: configuration.contractLength,\n                                                                                                                estimatedServers: configuration.estimatedServers,\n                                                                                                                estimatedBudget: value,\n                                                                                                                regions: configuration.regions,\n                                                                                                                operatingSystems: configuration.operatingSystems\n                                                                                                              };\n                                                                                                      }));\n                                                                                        }), value);\n                                                                                  persistDraft([\n                                                                                        CreateBareMetalProjectConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n                                                                                                return {\n                                                                                                        key: configuration.key,\n                                                                                                        startDate: configuration.startDate,\n                                                                                                        contractLength: configuration.contractLength,\n                                                                                                        estimatedServers: configuration.estimatedServers,\n                                                                                                        estimatedBudget: value,\n                                                                                                        regions: configuration.regions,\n                                                                                                        operatingSystems: configuration.operatingSystems\n                                                                                                      };\n                                                                                              })),\n                                                                                        context\n                                                                                      ]);\n                                                                                }),\n                                                                              onBlur: (function (param) {\n                                                                                  form.blurConfigurationEstimatedBudget(configurationIndex);\n                                                                                }),\n                                                                              children: [\n                                                                                JsxRuntime.jsx(Select.DefaultOption.make, {\n                                                                                      children: \"Select...\"\n                                                                                    }),\n                                                                                Belt_Array.map(options.estimatedBudgets, (function (x) {\n                                                                                        return JsxRuntime.jsx(Select.$$Option.make, {\n                                                                                                    value: x,\n                                                                                                    children: x\n                                                                                                  }, x);\n                                                                                      }))\n                                                                              ]\n                                                                            }),\n                                                                        tmp$8\n                                                                      ],\n                                                                      className: css.field\n                                                                    })\n                                                              ],\n                                                              className: Cx.cx([\n                                                                    css.fieldRow,\n                                                                    css.unfilled\n                                                                  ])\n                                                            })\n                                                      ]\n                                                    }),\n                                                JsxRuntime.jsxs(ProjectWizardPanel.Section.make, {\n                                                      title: \"Regions\",\n                                                      children: [\n                                                        JsxRuntime.jsxs(JsxRuntime.Fragment, {\n                                                              children: [\n                                                                JsxRuntime.jsx(\"div\", {\n                                                                      children: JsxRuntime.jsx(P.make, {\n                                                                            children: \"Select the general regions where your bare metal services are needed.\"\n                                                                          })\n                                                                    }),\n                                                                tmp$9\n                                                              ]\n                                                            }),\n                                                        JsxRuntime.jsx(ProjectWizardPanel.ZebraGrid.make, {\n                                                              items: options.regions,\n                                                              mobile: mobile,\n                                                              children: (function (region) {\n                                                                  var domId$5 = domId(\"regions-\" + region, configurationIndex);\n                                                                  return JsxRuntime.jsx(Checkbox.WithLabel.make, {\n                                                                              id: domId$5,\n                                                                              size: \"MD\",\n                                                                              checked: Belt_SetString.has(configuration.regions, region),\n                                                                              containerClassName: css.checkbox,\n                                                                              onChange: (function ($$event) {\n                                                                                  var value = ReactForm.checked($$event) ? Belt_SetString.add(configuration.regions, region) : Belt_SetString.remove(configuration.regions, region);\n                                                                                  form.updateConfigurationRegions(configurationIndex, (function (input, value) {\n                                                                                          return CreateBareMetalProjectConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                        return {\n                                                                                                                key: configuration.key,\n                                                                                                                startDate: configuration.startDate,\n                                                                                                                contractLength: configuration.contractLength,\n                                                                                                                estimatedServers: configuration.estimatedServers,\n                                                                                                                estimatedBudget: configuration.estimatedBudget,\n                                                                                                                regions: value,\n                                                                                                                operatingSystems: configuration.operatingSystems\n                                                                                                              };\n                                                                                                      }));\n                                                                                        }), value);\n                                                                                  persistDraft([\n                                                                                        CreateBareMetalProjectConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n                                                                                                return {\n                                                                                                        key: configuration.key,\n                                                                                                        startDate: configuration.startDate,\n                                                                                                        contractLength: configuration.contractLength,\n                                                                                                        estimatedServers: configuration.estimatedServers,\n                                                                                                        estimatedBudget: configuration.estimatedBudget,\n                                                                                                        regions: value,\n                                                                                                        operatingSystems: configuration.operatingSystems\n                                                                                                      };\n                                                                                              })),\n                                                                                        context\n                                                                                      ]);\n                                                                                }),\n                                                                              onBlur: (function (param) {\n                                                                                  form.blurConfigurationRegions(configurationIndex);\n                                                                                }),\n                                                                              children: region\n                                                                            }, domId$5);\n                                                                })\n                                                            })\n                                                      ]\n                                                    }),\n                                                JsxRuntime.jsxs(ProjectWizardPanel.Section.make, {\n                                                      title: \"Operating Systems\",\n                                                      children: [\n                                                        JsxRuntime.jsxs(JsxRuntime.Fragment, {\n                                                              children: [\n                                                                JsxRuntime.jsx(\"div\", {\n                                                                      children: JsxRuntime.jsx(P.make, {\n                                                                            children: \"Select the type of operating systems your bare metal services will need.\"\n                                                                          })\n                                                                    }),\n                                                                tmp$10\n                                                              ]\n                                                            }),\n                                                        JsxRuntime.jsx(ProjectWizardPanel.ZebraGrid.make, {\n                                                              items: options.operatingSystems,\n                                                              mobile: mobile,\n                                                              children: (function (operatingSystem) {\n                                                                  var domId$5 = domId(\"operating-systems-\" + operatingSystem, configurationIndex);\n                                                                  return JsxRuntime.jsx(Checkbox.WithLabel.make, {\n                                                                              id: domId$5,\n                                                                              size: \"MD\",\n                                                                              checked: Belt_SetString.has(configuration.operatingSystems, operatingSystem),\n                                                                              containerClassName: css.checkbox,\n                                                                              onChange: (function ($$event) {\n                                                                                  var value = ReactForm.checked($$event) ? Belt_SetString.add(configuration.operatingSystems, operatingSystem) : Belt_SetString.remove(configuration.operatingSystems, operatingSystem);\n                                                                                  form.updateConfigurationOperatingSystems(configurationIndex, (function (input, value) {\n                                                                                          return CreateBareMetalProjectConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n                                                                                                        return {\n                                                                                                                key: configuration.key,\n                                                                                                                startDate: configuration.startDate,\n                                                                                                                contractLength: configuration.contractLength,\n                                                                                                                estimatedServers: configuration.estimatedServers,\n                                                                                                                estimatedBudget: configuration.estimatedBudget,\n                                                                                                                regions: configuration.regions,\n                                                                                                                operatingSystems: value\n                                                                                                              };\n                                                                                                      }));\n                                                                                        }), value);\n                                                                                  persistDraft([\n                                                                                        CreateBareMetalProjectConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n                                                                                                return {\n                                                                                                        key: configuration.key,\n                                                                                                        startDate: configuration.startDate,\n                                                                                                        contractLength: configuration.contractLength,\n                                                                                                        estimatedServers: configuration.estimatedServers,\n                                                                                                        estimatedBudget: configuration.estimatedBudget,\n                                                                                                        regions: configuration.regions,\n                                                                                                        operatingSystems: value\n                                                                                                      };\n                                                                                              })),\n                                                                                        context\n                                                                                      ]);\n                                                                                }),\n                                                                              onBlur: (function (param) {\n                                                                                  form.blurConfigurationOperatingSystems(configurationIndex);\n                                                                                }),\n                                                                              children: operatingSystem\n                                                                            }, domId$5);\n                                                                })\n                                                            })\n                                                      ]\n                                                    })\n                                              ]\n                                            });\n                                      } else {\n                                        tmp = null;\n                                      }\n                                      return JsxRuntime.jsx(ProjectWizardPanel.make, {\n                                                  title: configurationTitle(configurationIndex),\n                                                  visibility: visibility,\n                                                  toggleVisibility: (function () {\n                                                      dispatch({\n                                                            TAG: \"TogglePanelVisibility\",\n                                                            at: configurationIndex\n                                                          });\n                                                    }),\n                                                  deleteControl: match.length !== 1 ? (function () {\n                                                        form.removeConfiguration(configurationIndex);\n                                                        dispatch({\n                                                              TAG: \"RemovePanel\",\n                                                              at: configurationIndex\n                                                            });\n                                                        persistDraft([\n                                                              CreateBareMetalProjectConfigurationForm.Configuration.remove(form.input, configurationIndex),\n                                                              context\n                                                            ]);\n                                                      }) : undefined,\n                                                  children: tmp\n                                                }, configuration.key);\n                                    }))\n                            }),\n                        JsxRuntime.jsx(Button.make, {\n                              size: \"MD\",\n                              color: \"Teal\",\n                              onClick: (function (param) {\n                                  dispatch(\"AddPanel\");\n                                }),\n                              children: \"+ Add One More Bare Metal Service\"\n                            })\n                      ]\n                    }),\n                JsxRuntime.jsx(ProjectWizardNavigation.make, {\n                      stepLabel: \"Step 1 of 3\",\n                      controls: {\n                        TAG: \"PreviousAndNextAndContinueLater\",\n                        next: tmp,\n                        previous: [\n                          \"Cancel\",\n                          (function () {\n                              cancelCreation();\n                            }),\n                          \"Enabled\"\n                        ],\n                        continueLater: tmp$3\n                      },\n                      mobile: mobile\n                    }),\n                JsxRuntime.jsx(ReactNotifications.NotificationContainer, {}),\n                tmp$4\n              ]\n            });\n}\n\nvar Configuration;\n\nvar Options;\n\nvar make = CreateBareMetalProjectConfiguration;\n\nexport {\n  Configuration ,\n  Options ,\n  css ,\n  domId ,\n  estimatedServersDomId ,\n  estimatedBudgetDomId ,\n  configurationTitle ,\n  Visibilities ,\n  ValidateSaveAndContinueLaterForm ,\n  Api$1 as Api,\n  make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Belt_Result from \"rescript/lib/es6/belt_Result.js\";\nimport * as ContractLength from \"../../../../models/ContractLength.res.js\";\nimport * as Json$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json.res.js\";\nimport * as Json_Decode$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json_Decode.res.js\";\n\nvar decoder = Json_Decode$JsonCombinators.object(function (field) {\n      return {\n              contractLengths: field.required(\"contractLengths\", Json_Decode$JsonCombinators.array(ContractLength.decoder)),\n              estimatedBudgets: field.required(\"estimatedBudgets\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n              regions: field.required(\"regions\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n              operatingSystems: field.required(\"operatingSystems\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string))\n            };\n    });\n\nfunction fromJson(json) {\n  return Belt_Result.getExn(Json$JsonCombinators.decode(json, decoder));\n}\n\nvar Options = {\n  decoder: decoder,\n  fromJson: fromJson\n};\n\nexport {\n  Options ,\n}\n/* decoder Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as React from \"react\";\nimport * as Project from \"../../../../models/Project.res.js\";\nimport * as Belt_Result from \"rescript/lib/es6/belt_Result.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as RailsContext from \"../../../../models/RailsContext.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as Json_Decode$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json_Decode.res.js\";\nimport * as CreateBareMetalProjectConfiguration from \"./CreateBareMetalProjectConfiguration.res.js\";\nimport * as CreateBareMetalProjectConfigurationData from \"./CreateBareMetalProjectConfigurationData.res.js\";\nimport * as CreateBareMetalProjectConfigurationForm from \"./CreateBareMetalProjectConfigurationForm.res.js\";\n\nfunction CreateBareMetalProjectConfiguration__JsBridge$default(props) {\n  var status = props.status;\n  var railsContext = props.railsContext;\n  var options = props.options;\n  var configurations = props.configurations;\n  var projectId = props.projectId;\n  var options$1 = React.useMemo((function () {\n          return CreateBareMetalProjectConfigurationData.Options.fromJson(options);\n        }), [options]);\n  var context = React.useMemo((function () {\n          var projectId$1 = Belt_Result.getExn(Json_Decode$JsonCombinators.decode(projectId, Json_Decode$JsonCombinators.option(Project.Id.decoder)));\n          var configurations$1 = Belt_Result.getExn(Json_Decode$JsonCombinators.decode(configurations, Json_Decode$JsonCombinators.array(CreateBareMetalProjectConfigurationForm.Configuration.inputDecoder(options$1.contractLengths))));\n          if (projectId$1 !== undefined) {\n            return {\n                    TAG: \"Project\",\n                    projectId: Caml_option.valFromOption(projectId$1),\n                    data: configurations$1\n                  };\n          } else if (configurations$1.length !== 0) {\n            return {\n                    TAG: \"Draft\",\n                    data: configurations$1\n                  };\n          } else {\n            return {\n                    TAG: \"Draft\",\n                    data: undefined\n                  };\n          }\n        }), [\n        projectId,\n        configurations\n      ]);\n  var railsContext$1 = React.useMemo((function () {\n          return RailsContext.fromJson(railsContext);\n        }), [railsContext]);\n  var projectStatus = React.useMemo((function () {\n          return Project.Status.fromString(status);\n        }), [status]);\n  return JsxRuntime.jsx(CreateBareMetalProjectConfiguration.make, {\n              context: context,\n              options: options$1,\n              mobile: railsContext$1.mobile,\n              userLoginStatus: railsContext$1.userLoginStatus,\n              setUserData: props.reduxfunction.setUserData,\n              projectStatus: projectStatus\n            });\n}\n\nvar $$default = CreateBareMetalProjectConfiguration__JsBridge$default;\n\nexport {\n  $$default as default,\n}\n/* react Not a pure module */\n","import * as React from 'react';\nimport ReduxProvider from 'ReduxProvider';\nimport { connect } from 'react-redux';\nimport { setUserData } from 'Client/common/actions/userActions';\nimport CreateBareMetalProjectConfiguration from './CreateBareMetalProjectConfiguration__JsBridge.res.js';\n\nconst mapDispatchToProps = dispatch => ({\n  reduxfunction: {\n    setUserData: userData => {\n      dispatch(setUserData(userData));\n    },\n  },\n});\n\nconst CreateBareMetalProjectConfigurationContainer = connect(\n  null,\n  mapDispatchToProps,\n)(CreateBareMetalProjectConfiguration);\n\nexport default ({ context, ...props }) => (\n  <ReduxProvider>\n    <CreateBareMetalProjectConfigurationContainer\n      projectId={props.projectId}\n      configurations={props.bareMetalConfigurations}\n      options={props.options}\n      railsContext={context}\n      status={props.status}\n      reduxfunction={props.reduxfunction}\n    />\n  </ReduxProvider>\n);\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nvar arrow = '\\u279e';\n\nvar middot = '\\u00b7';\n\nvar mdash = '\\u2014';\n\nvar rightCaret = '\\u203a';\n\nvar ampersand = '\\u0026';\n\nvar times = '\\u00D7';\n\nfunction Char$Middot(props) {\n  return JsxRuntime.jsx(\"span\", {\n              children: \" \" + (middot + \" \"),\n              style: {\n                padding: \"0 1px\"\n              }\n            });\n}\n\nvar Middot = {\n  make: Char$Middot\n};\n\nfunction Char$RightArrow(props) {\n  return JsxRuntime.jsx(\"div\", {\n              children: arrow,\n              className: props.className\n            });\n}\n\nvar RightArrow = {\n  make: Char$RightArrow\n};\n\nfunction Char$LeftArrow(props) {\n  return JsxRuntime.jsx(\"div\", {\n              children: arrow,\n              style: {\n                transform: \"rotate(180deg)\"\n              }\n            });\n}\n\nvar LeftArrow = {\n  make: Char$LeftArrow\n};\n\nfunction Char$RightCaret(props) {\n  return JsxRuntime.jsx(\"span\", {\n              children: rightCaret\n            });\n}\n\nvar RightCaret = {\n  make: Char$RightCaret\n};\n\nfunction Char$Ampersand(props) {\n  return JsxRuntime.jsx(\"span\", {\n              children: ampersand\n            });\n}\n\nvar Ampersand = {\n  make: Char$Ampersand\n};\n\nfunction Char$Times(props) {\n  return JsxRuntime.jsx(\"span\", {\n              children: times\n            });\n}\n\nvar Times = {\n  make: Char$Times\n};\n\nexport {\n  arrow ,\n  middot ,\n  mdash ,\n  rightCaret ,\n  ampersand ,\n  times ,\n  Middot ,\n  RightArrow ,\n  LeftArrow ,\n  RightCaret ,\n  Ampersand ,\n  Times ,\n}\n/* react/jsx-runtime Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\n\nfunction value($$event) {\n  return $$event.target.value;\n}\n\nfunction checked($$event) {\n  return $$event.target.checked;\n}\n\nexport {\n  value ,\n  checked ,\n}\n/* No side effect */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Belt_Result from \"rescript/lib/es6/belt_Result.js\";\nimport * as Json$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json.res.js\";\nimport * as Json_Decode$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json_Decode.res.js\";\n\nvar decoder = Json_Decode$JsonCombinators.object(function (field) {\n      return {\n              value: field.required(\"value\", Json_Decode$JsonCombinators.$$int),\n              label: field.required(\"label\", Json_Decode$JsonCombinators.string)\n            };\n    });\n\nfunction fromJson(json) {\n  return Belt_Result.getExn(Json$JsonCombinators.decode(json, decoder));\n}\n\nexport {\n  decoder ,\n  fromJson ,\n}\n/* decoder Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\n\nfunction makeControlled(waitOpt, fn) {\n  var wait = waitOpt !== undefined ? waitOpt : 100;\n  var timerId = {\n    contents: undefined\n  };\n  var lastArg = {\n    contents: undefined\n  };\n  var lastCallTime = {\n    contents: undefined\n  };\n  var shouldCall = function (time) {\n    var lastCallTime$1 = lastCallTime.contents;\n    if (lastCallTime$1 === undefined) {\n      return true;\n    }\n    var timeSinceLastCall = time - lastCallTime$1 | 0;\n    if (timeSinceLastCall >= wait) {\n      return true;\n    } else {\n      return timeSinceLastCall < 0;\n    }\n  };\n  var remainingWait = function (time) {\n    var lastCallTime$1 = lastCallTime.contents;\n    if (lastCallTime$1 === undefined) {\n      return wait;\n    }\n    var timeSinceLastCall = time - lastCallTime$1 | 0;\n    return wait - timeSinceLastCall | 0;\n  };\n  var timerExpired = function () {\n    var timerId$1 = timerId.contents;\n    if (timerId$1 !== undefined) {\n      clearTimeout(Caml_option.valFromOption(timerId$1));\n    }\n    var time = Date.now() | 0;\n    if (shouldCall(time)) {\n      return call();\n    } else {\n      timerId.contents = Caml_option.some(setTimeout(timerExpired, remainingWait(time)));\n      return ;\n    }\n  };\n  var call = function () {\n    var x = lastArg.contents;\n    if (x !== undefined) {\n      lastArg.contents = undefined;\n      timerId.contents = undefined;\n      return fn(Caml_option.valFromOption(x));\n    } else {\n      timerId.contents = undefined;\n      return ;\n    }\n  };\n  var schedule = function (x) {\n    var time = Date.now() | 0;\n    lastArg.contents = Caml_option.some(x);\n    lastCallTime.contents = time;\n    timerId.contents = Caml_option.some(setTimeout(timerExpired, wait));\n  };\n  var scheduled = function () {\n    return timerId.contents !== undefined;\n  };\n  var cancel = function () {\n    var timerId$p = timerId.contents;\n    if (timerId$p !== undefined) {\n      clearTimeout(Caml_option.valFromOption(timerId$p));\n      timerId.contents = undefined;\n      lastArg.contents = undefined;\n      lastCallTime.contents = undefined;\n      return ;\n    }\n    \n  };\n  var invoke = function (x) {\n    cancel();\n    fn(x);\n  };\n  return {\n          invoke: invoke,\n          schedule: schedule,\n          scheduled: scheduled,\n          cancel: cancel\n        };\n}\n\nfunction make(wait, fn) {\n  return makeControlled(wait, fn).schedule;\n}\n\nexport {\n  make ,\n  makeControlled ,\n}\n/* No side effect */\n"],"names":["NotificationManager","success","message","title","timeout","ReactNotifications","error","checkboxRightMargin","checkboxRow","column","docUploadDescription","docUploadSection","docUploadTitle","documentRow","elongated","errorLabel","errorMessage","expanded","field","fieldRow","fieldWithUnit","flex","flexColumn","flexContainerDoc","gap1","gap2","gap3","gap4","gap5","geographicalRegionsDescription","geographicalRegionsSection","geographicalRegionsTitle","iconView","input","inputWithUnitUnit","inputWithUnitUnitContainer","inputWithUnitValue","inputWithUnitValueContainer","justified","label","moderate","radioButton","radioButtonLabel","radioButtonsRow","requiredLabel","row","selectWrapper","subHeading","tooltipAndHeadingWrapper","tooltipDescription","unfilled","unitSelectWrapper","uploadDocumentButton","uploader","css","CreateBareMetalProjectConfigurationScss","domId","at","String","remove","x","index","Belt_Array","param","idx","toggle","visibility","Visibility","validate","form","configurations","ix","blurConfigurationStartDate","results","configurationStartDateResult","isValid","result","undefined","TAG","persistDraft","Debounce","$$Promise","Api","$$Notification","SentryLogger","rootModule","subModulePath","hd","tl","value","fullPath","_0","submitForm","data","context","onFailure","Url","Routes_Project","Provider","newSelector","projectId","editSelector","saveDraftProjectAndContinueLater","cancelCreation","make","props","tmp","tmp$3","tmp$4","userLoginStatus","mobile","options","initialInput","React","CreateBareMetalProjectConfigurationForm","empty","match","toggleSignInModal","signInModal","output","notifyOnFailure","initialState","data$1","panelsVisibility","match$1","Hooks","state","action","_1","addConfiguration","dispatch","tmp$1","match$3","status","submit","projectStatus","JsxRuntime","SignInModalContainer","close","callback","$$new","setUserData","subTitle","ProjectWizard","children","className","configurationIndex","configuration","tmp$2","domId$1","domId$2","result$1","configurationContractLengthResult","tmp$5","tmp$6","domId$3","estimatedServersDomId","result$2","configurationEstimatedServersResult","tmp$7","tmp$8","domId$4","estimatedBudgetDomId","result$3","configurationEstimatedBudgetResult","tmp$9","result$4","configurationRegionsResult","tmp$10","result$5","configurationOperatingSystemsResult","ProjectWizardPanel","Label","forId","Cx","DatePicker","id","Belt_Option","startDate","prim","fromMonth","Caml_option","AddDays","Date","disabledDays","from","to","onDayChange","date","param$1","updateConfigurationStartDate","update","key","contractLength","estimatedServers","estimatedBudget","regions","operatingSystems","onHide","Select","cl","wrapperClassName","iconSize","iconColor","onChange","$$event","contractLengths","Belt_Int","ReactForm","updateConfigurationContractLength","onBlur","blurConfigurationContractLength","TextField","blurConfigurationEstimatedServers","n","value$1","updateConfigurationEstimatedServers","estimatedBudgets","updateConfigurationEstimatedBudget","blurConfigurationEstimatedBudget","P","items","region","domId$5","Checkbox","size","checked","Belt_SetString","containerClassName","checkbox","updateConfigurationRegions","blurConfigurationRegions","operatingSystem","updateConfigurationOperatingSystems","blurConfigurationOperatingSystems","Char","toggleVisibility","deleteControl","length","removeConfiguration","Button","color","onClick","ProjectWizardNavigation","stepLabel","controls","next","previous","continueLater","decoder","Json_Decode$JsonCombinators","required","ContractLength","Options","fromJson","json","Belt_Result","Json$JsonCombinators","$$default","railsContext","options$1","CreateBareMetalProjectConfigurationData","projectId$1","Project","configurations$1","inputDecoder","railsContext$1","RailsContext","fromString","CreateBareMetalProjectConfiguration","reduxfunction","CreateBareMetalProjectConfigurationContainer","connect","userData","_ref","_objectWithoutProperties","_excluded","ReduxProvider","bareMetalConfigurations","mdash","times","Middot","style","padding","RightArrow","LeftArrow","transform","RightCaret","Ampersand","target","makeControlled","waitOpt","fn","wait","timerId","contents","lastArg","lastCallTime","timerExpired","timerId$1","clearTimeout","time","now","lastCallTime$1","timeSinceLastCall","shouldCall","call","setTimeout","remainingWait","cancel","timerId$p","invoke","schedule","scheduled"],"sourceRoot":""}