{"version":3,"file":"js/rescript-bundles-user-dashboard-projects-create-bare-metal-project-configuration-2a70da5a4f70b39f2cdc.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/CreateBareMetalProjectConfigurationCss.res.js","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","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\n\nvar labelFontSize = \"text-sm\";\n\nvar labelFontWeight = \"font-semibold\";\n\nvar fieldWidth = \"w-50\";\n\nvar fieldRow = Cx.cx([\n      \"flex\",\n      \"md:flex-row\",\n      \"items-start\",\n      \"mt-5\",\n      \"flex-col\",\n      \"gap-5\"\n    ]);\n\nvar field = Cx.cx([\n      \"flex\",\n      \"flex-col\",\n      fieldWidth,\n      \"[& > .fieldRow.unfilled]:ml-0\",\n      \"[& > .fieldRow.unfilled]:mr-5\",\n      \"[& > .fieldRow.justified]:mx-0\",\n      \"[& > .elongated]:md:w-100\",\n      \"[& > .elongated]:w-full\",\n      \"[& > .moderate]:md:w-80\",\n      \"[& > .moderate]:w-full\",\n      \"[& > .expanded]:w-full\",\n      \"[&:last-of-type]:mr-0\",\n      \"max-md:mr-0\",\n      \"max-md:w-full\"\n    ]);\n\nvar label = Cx.cx([\n      \"block\",\n      \"font-bold\",\n      labelFontSize,\n      labelFontWeight,\n      \"mb-1.5\"\n    ]);\n\nvar requiredLabel = Cx.cx([\n      \"after:content-['*']\",\n      \"text-teal\",\n      \"ml-1\",\n      \"inline-block\"\n    ]);\n\nvar errorLabel = Cx.cx([\"after:text-red\"]);\n\nvar input = Cx.cx([\n      \"text-black\",\n      \"font-normal\",\n      \"text-sm\",\n      \"w-full\"\n    ]);\n\nvar tooltipAndHeadingWrapper = Cx.cx([\n      \"flex\",\n      \"justify-between\",\n      \"align-baseline\"\n    ]);\n\nvar errorMessage = Cx.cx([\n      \"text-red\",\n      \"font-normal\",\n      \"text-sm\",\n      \"m-0\"\n    ]);\n\nvar tooltipDescription = Cx.cx([\n      \"ml-1\",\n      \"text-teal\",\n      \"font-bold\",\n      \"text-sm\",\n      \"border-b-2\",\n      \"border-dotted\",\n      \"border-teal\"\n    ]);\n\nvar title = Cx.cx([\n      \"font-bold\",\n      \"text-2xl\",\n      \"mb-7\",\n      \"mt-12\"\n    ]);\n\nvar subHeading = Cx.cx([\n      \"text-gray-700\",\n      \"font-semibold\",\n      \"text-sm\",\n      \"mb-7\",\n      \"mt-10\"\n    ]);\n\nvar selectWrapper = Cx.cx([\"min-w-50\"]);\n\nvar checkbox = Cx.cx([\n      \"text-gray-700\",\n      \"font-normal\",\n      \"text-sm\"\n    ]);\n\nvar unfilled = \"justify-start\";\n\nvar justified = \"justify-between\";\n\nexport {\n  labelFontSize ,\n  labelFontWeight ,\n  fieldWidth ,\n  fieldRow ,\n  unfilled ,\n  justified ,\n  field ,\n  label ,\n  requiredLabel ,\n  errorLabel ,\n  input ,\n  tooltipAndHeadingWrapper ,\n  errorMessage ,\n  tooltipDescription ,\n  title ,\n  subHeading ,\n  selectWrapper ,\n  checkbox ,\n}\n/* fieldRow Not a pure module */\n","// 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 CreateBareMetalProjectConfigurationCss from \"./CreateBareMetalProjectConfigurationCss.res.js\";\nimport * as CreateBareMetalProjectConfigurationForm from \"./CreateBareMetalProjectConfigurationForm.res.js\";\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: CreateBareMetalProjectConfigurationCss.title\n                                  }),\n                              className: CreateBareMetalProjectConfigurationCss.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: CreateBareMetalProjectConfigurationCss.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\" ? CreateBareMetalProjectConfigurationCss.errorLabel : \"\";\n                                        var tmp$2;\n                                        tmp$2 = result !== undefined && result.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n                                                children: result._0,\n                                                className: CreateBareMetalProjectConfigurationCss.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\" ? CreateBareMetalProjectConfigurationCss.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: CreateBareMetalProjectConfigurationCss.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\" ? CreateBareMetalProjectConfigurationCss.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: CreateBareMetalProjectConfigurationCss.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\" ? CreateBareMetalProjectConfigurationCss.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: CreateBareMetalProjectConfigurationCss.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: CreateBareMetalProjectConfigurationCss.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: CreateBareMetalProjectConfigurationCss.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                                                                                    CreateBareMetalProjectConfigurationCss.label,\n                                                                                    CreateBareMetalProjectConfigurationCss.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: CreateBareMetalProjectConfigurationCss.input\n                                                                            }),\n                                                                        tmp$2\n                                                                      ],\n                                                                      className: CreateBareMetalProjectConfigurationCss.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                                                                                    CreateBareMetalProjectConfigurationCss.label,\n                                                                                    CreateBareMetalProjectConfigurationCss.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: CreateBareMetalProjectConfigurationCss.input,\n                                                                              wrapperClassName: CreateBareMetalProjectConfigurationCss.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: CreateBareMetalProjectConfigurationCss.field\n                                                                    })\n                                                              ],\n                                                              className: Cx.cx([\n                                                                    CreateBareMetalProjectConfigurationCss.fieldRow,\n                                                                    CreateBareMetalProjectConfigurationCss.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                                                                                    CreateBareMetalProjectConfigurationCss.label,\n                                                                                    CreateBareMetalProjectConfigurationCss.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: CreateBareMetalProjectConfigurationCss.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: CreateBareMetalProjectConfigurationCss.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                                                                                    CreateBareMetalProjectConfigurationCss.label,\n                                                                                    CreateBareMetalProjectConfigurationCss.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: CreateBareMetalProjectConfigurationCss.input,\n                                                                              wrapperClassName: CreateBareMetalProjectConfigurationCss.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: CreateBareMetalProjectConfigurationCss.field\n                                                                    })\n                                                              ],\n                                                              className: Cx.cx([\n                                                                    CreateBareMetalProjectConfigurationCss.fieldRow,\n                                                                    CreateBareMetalProjectConfigurationCss.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: CreateBareMetalProjectConfigurationCss.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: CreateBareMetalProjectConfigurationCss.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 Css;\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/* persistDraft 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","fieldRow","Cx","field","label","requiredLabel","errorLabel","input","tooltipAndHeadingWrapper","errorMessage","subHeading","selectWrapper","checkbox","unfilled","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","CreateBareMetalProjectConfigurationCss","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","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","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":""}