{"version":3,"file":"js/rescript-bundles-user-dashboard-projects-create-bare-metal-project-providers-selection-535278fbc15aa95de4d8.chunk.js","mappings":"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","sources":["webpack://datacenters/./client/app/bundles/LoginMiddleware.jsx","webpack://datacenters/./client/app/bundles/ReduxProviderClient.jsx","webpack://datacenters/./client/app/rescript/bindings/Notification.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/_components/ProjectWizardNavigation/ProjectWizardNavigation.scss?af76","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/_components/ProjectWizardNavigation/ProjectWizardNavigation.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-bare-metal-project-providers-selection/CreateBareMetalProjectProvidersSelection.scss?a8fe","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-bare-metal-project-providers-selection/CreateBareMetalProjectProvidersSelection_SelectProvidersSection.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-bare-metal-project-providers-selection/CreateBareMetalProjectProvidersSelection.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-bare-metal-project-providers-selection/CreateBareMetalProjectProvidersSelection__JsBridge.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-bare-metal-project-providers-selection/index.js","webpack://datacenters/./client/app/rescript/libs/Hooks.res.js","webpack://datacenters/./client/app/rescript/libs/MediaQueryList.res.js","webpack://datacenters/./client/app/rescript/models/RailsContext.res.js","webpack://datacenters/./client/app/rescript/routes/common/Routes_Project.res.js","webpack://datacenters/./client/app/rescript/styleguide/styles/Screens.res.js"],"sourcesContent":["import { Component } from 'react';\nimport ApiUtils from 'Utils/apiUtil';\nimport { connect } from 'react-redux';\nimport { setUserData as setUserDataAction } from 'Bundles/Client/common/actions/userActions';\nimport _ from 'lodash';\n\nclass LoginMiddleWare extends Component {\n  // eslint-disable-next-line camelcase\n  componentDidMount = () => {\n    const { userData, setUserData } = this.props;\n    if (!_.isEmpty(userData) || userData.length > 0) {\n      ApiUtils.getIsUserSignedIn().then(response => {\n        if (response.data.user_log_in === false) {\n          setUserData([]);\n          localStorage.clear();\n          window.location = '/users/sign_in';\n        }\n      });\n    }\n  };\n\n  render = () => null;\n}\n\nconst mapStateToProps = state => ({\n  userData: state.user,\n});\n\nconst mapDispatchToProps = dispatch => ({\n  setUserData: user => dispatch(setUserDataAction(user)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(LoginMiddleWare);\n","/* eslint-disable import/no-extraneous-dependencies */\nimport 'react-notifications/lib/notifications.css';\n/* eslint-enable import/no-extraneous-dependencies */\n\nimport React, { Fragment } from 'react';\nimport { Provider } from 'react-redux';\nimport ReactOnRails from 'react-on-rails';\nimport LoginMiddleware from './LoginMiddleware';\n\nlet loginMiddlewareCounter = 0;\n\nexport default class ReduxProviderClient extends React.PureComponent {\n  render() {\n    const AppStore = ReactOnRails.getStore('AppStore');\n    loginMiddlewareCounter += 1;\n    return (\n      <Provider store={AppStore}>\n        <Fragment>\n          {loginMiddlewareCounter < 2 && (\n            <Fragment>\n              <LoginMiddleware />\n            </Fragment>\n          )}\n          {this.props.children}\n        </Fragment>\n      </Provider>\n    );\n  }\n}\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as ReactNotifications from \"react-notifications\";\n\nvar Container = {};\n\nfunction success(message, title, timeout) {\n  ReactNotifications.NotificationManager.success(message, title, timeout);\n}\n\nfunction error(message, title, timeout) {\n  ReactNotifications.NotificationManager.error(message, title, timeout);\n}\n\nvar NotificationManager = {\n  success: success,\n  error: error\n};\n\nvar Manager = {};\n\nexport {\n  Container ,\n  NotificationManager ,\n  Manager ,\n}\n/* react-notifications Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var column = \"ProjectWizardNavigation__column__VlY2t\";\nexport var contentWrapper = \"ProjectWizardNavigation__contentWrapper__QxYT8\";\nexport var errorMessage = \"ProjectWizardNavigation__errorMessage__qnm83\";\nexport var flex = \"ProjectWizardNavigation__flex__Mot7g\";\nexport var flexColumn = \"ProjectWizardNavigation__flexColumn__wV8xp\";\nexport var gap1 = \"ProjectWizardNavigation__gap1__F1O0e\";\nexport var gap2 = \"ProjectWizardNavigation__gap2__Jr0AF\";\nexport var gap3 = \"ProjectWizardNavigation__gap3__HOxK1\";\nexport var gap4 = \"ProjectWizardNavigation__gap4__dBkpd\";\nexport var gap5 = \"ProjectWizardNavigation__gap5__RtJzc\";\nexport var nextButton = \"ProjectWizardNavigation__nextButton__iGmaj\";\nexport var nextButtonContainer = \"ProjectWizardNavigation__nextButtonContainer__oHVLB\";\nexport var row = \"ProjectWizardNavigation__row__TS2zj\";\nexport var saveAndContinueButton = \"ProjectWizardNavigation__saveAndContinueButton__TKGbe\";\nexport var saveAndContinueContainer = \"ProjectWizardNavigation__saveAndContinueContainer__RdCXn\";\nexport var stepButtonsContainer = \"ProjectWizardNavigation__stepButtonsContainer___HHxG\";\nexport var stepLabel = \"ProjectWizardNavigation__stepLabel__pLWks\";\nexport var steps = \"ProjectWizardNavigation__steps__w6Xd0\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Button from \"../../../../../styleguide/components/Button/Button.res.js\";\nimport * as Control from \"../../../../../styleguide/components/Control/Control.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectWizardNavigationScss from \"./ProjectWizardNavigation.scss\";\n\nvar css = ProjectWizardNavigationScss;\n\nfunction ProjectWizardNavigation$ErrorMessage(props) {\n  var errorMessage = props.errorMessage;\n  if (errorMessage !== undefined) {\n    return JsxRuntime.jsx(\"div\", {\n                children: errorMessage,\n                className: css.errorMessage\n              });\n  } else {\n    return null;\n  }\n}\n\nvar ErrorMessage = {\n  make: ProjectWizardNavigation$ErrorMessage\n};\n\nfunction ProjectWizardNavigation(props) {\n  var convertButtonClass = props.convertButtonClass;\n  var mobile = props.mobile;\n  var controls = props.controls;\n  var errorMessage = props.errorMessage;\n  var stepLabel = props.stepLabel;\n  var convertClass = convertButtonClass !== undefined ? convertButtonClass : \"\";\n  var tmp;\n  switch (controls.TAG) {\n    case \"PreviousOnly\" :\n        var buttonState = controls._2;\n        var handle = controls._1;\n        tmp = JsxRuntime.jsxs(JsxRuntime.Fragment, {\n              children: [\n                JsxRuntime.jsx(Button.make, {\n                      size: mobile ? \"SM\" : \"MD\",\n                      color: \"Gray\",\n                      visuallyDisabled: buttonState === \"Disabled\",\n                      busy: buttonState === \"Busy\",\n                      onClick: (function (param) {\n                          handle();\n                        }),\n                      children: controls._0\n                    }),\n                JsxRuntime.jsx(ProjectWizardNavigation$ErrorMessage, {\n                      errorMessage: errorMessage\n                    })\n              ]\n            });\n        break;\n    case \"NextOnly\" :\n        var buttonState$1 = controls._2;\n        var handle$1 = controls._1;\n        tmp = JsxRuntime.jsxs(JsxRuntime.Fragment, {\n              children: [\n                JsxRuntime.jsx(ProjectWizardNavigation$ErrorMessage, {\n                      errorMessage: errorMessage\n                    }),\n                JsxRuntime.jsxs(\"div\", {\n                      children: [\n                        JsxRuntime.jsx(\"span\", {\n                              children: stepLabel,\n                              className: css.stepLabel\n                            }),\n                        JsxRuntime.jsx(Button.make, {\n                              size: mobile ? \"SM\" : \"MD\",\n                              color: \"Primary\",\n                              visuallyDisabled: buttonState$1 === \"Disabled\",\n                              busy: buttonState$1 === \"Busy\",\n                              className: css.nextButton,\n                              buttonClassName: convertClass,\n                              onClick: (function (param) {\n                                  handle$1();\n                                }),\n                              children: controls._0\n                            })\n                      ],\n                      className: css.nextButtonContainer\n                    })\n              ]\n            });\n        break;\n    case \"PreviousAndNextAndContinueLater\" :\n        var match = controls.continueLater;\n        var match$1 = controls.previous;\n        var previousButtonState = match$1[2];\n        var handlePrevious = match$1[1];\n        var previousLabel = match$1[0];\n        var match$2 = controls.next;\n        var nextButtonState = match$2[2];\n        var handleNext = match$2[1];\n        var nextLabel = match$2[0];\n        if (match !== undefined) {\n          var handleContinueLater = match[1];\n          tmp = JsxRuntime.jsxs(JsxRuntime.Fragment, {\n                children: [\n                  JsxRuntime.jsx(Button.make, {\n                        size: mobile ? \"SM\" : \"MD\",\n                        color: \"Gray\",\n                        visuallyDisabled: previousButtonState === \"Disabled\",\n                        busy: previousButtonState === \"Busy\",\n                        onClick: (function (param) {\n                            handlePrevious();\n                          }),\n                        children: previousLabel\n                      }),\n                  JsxRuntime.jsx(ProjectWizardNavigation$ErrorMessage, {\n                        errorMessage: errorMessage\n                      }),\n                  JsxRuntime.jsxs(\"div\", {\n                        children: [\n                          JsxRuntime.jsxs(\"div\", {\n                                children: [\n                                  JsxRuntime.jsx(\"span\", {\n                                        children: stepLabel,\n                                        className: css.stepLabel\n                                      }),\n                                  JsxRuntime.jsx(Control.AsLink.make, {\n                                        className: css.saveAndContinueButton,\n                                        onClick: (function (param) {\n                                            handleContinueLater();\n                                          }),\n                                        children: match[0]\n                                      })\n                                ],\n                                className: css.saveAndContinueContainer\n                              }),\n                          JsxRuntime.jsx(Button.make, {\n                                size: mobile ? \"SM\" : \"MD\",\n                                color: \"Primary\",\n                                visuallyDisabled: nextButtonState === \"Disabled\",\n                                busy: nextButtonState === \"Busy\",\n                                className: css.nextButton,\n                                buttonClassName: convertClass,\n                                onClick: (function (param) {\n                                    handleNext();\n                                  }),\n                                children: nextLabel\n                              })\n                        ],\n                        className: css.nextButtonContainer\n                      })\n                ]\n              });\n        } else {\n          tmp = JsxRuntime.jsxs(JsxRuntime.Fragment, {\n                children: [\n                  JsxRuntime.jsx(Button.make, {\n                        size: mobile ? \"SM\" : \"MD\",\n                        color: \"Gray\",\n                        visuallyDisabled: previousButtonState === \"Disabled\",\n                        busy: previousButtonState === \"Busy\",\n                        onClick: (function (param) {\n                            handlePrevious();\n                          }),\n                        children: previousLabel\n                      }),\n                  JsxRuntime.jsx(ProjectWizardNavigation$ErrorMessage, {\n                        errorMessage: errorMessage\n                      }),\n                  JsxRuntime.jsxs(\"div\", {\n                        children: [\n                          JsxRuntime.jsx(\"div\", {\n                                children: JsxRuntime.jsx(\"span\", {\n                                      children: stepLabel,\n                                      className: css.stepLabel\n                                    }),\n                                className: css.saveAndContinueContainer\n                              }),\n                          JsxRuntime.jsx(Button.make, {\n                                size: mobile ? \"SM\" : \"MD\",\n                                color: \"Primary\",\n                                visuallyDisabled: nextButtonState === \"Disabled\",\n                                busy: nextButtonState === \"Busy\",\n                                className: css.nextButton,\n                                buttonClassName: convertClass,\n                                onClick: (function (param) {\n                                    handleNext();\n                                  }),\n                                children: nextLabel\n                              })\n                        ],\n                        className: css.nextButtonContainer\n                      })\n                ]\n              });\n        }\n        break;\n    \n  }\n  return JsxRuntime.jsx(\"div\", {\n              children: JsxRuntime.jsx(\"div\", {\n                    children: JsxRuntime.jsx(\"div\", {\n                          children: tmp,\n                          className: css.stepButtonsContainer\n                        }),\n                    className: css.contentWrapper\n                  }),\n              className: css.steps\n            });\n}\n\nvar make = ProjectWizardNavigation;\n\nexport {\n  css ,\n  ErrorMessage ,\n  make ,\n}\n/* css Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var column = \"CreateBareMetalProjectProvidersSelection__column__svJpD\";\nexport var container = \"CreateBareMetalProjectProvidersSelection__container__h9RIc\";\nexport var contentWrapper = \"CreateBareMetalProjectProvidersSelection__contentWrapper__E65CF\";\nexport var deselectAll = \"CreateBareMetalProjectProvidersSelection__deselectAll__QThgE\";\nexport var flex = \"CreateBareMetalProjectProvidersSelection__flex__R92eW\";\nexport var flexColumn = \"CreateBareMetalProjectProvidersSelection__flexColumn__MxlZP\";\nexport var gap1 = \"CreateBareMetalProjectProvidersSelection__gap1__Uh9Tu\";\nexport var gap2 = \"CreateBareMetalProjectProvidersSelection__gap2__iAePd\";\nexport var gap3 = \"CreateBareMetalProjectProvidersSelection__gap3__NyytJ\";\nexport var gap4 = \"CreateBareMetalProjectProvidersSelection__gap4__IEWgt\";\nexport var gap5 = \"CreateBareMetalProjectProvidersSelection__gap5__hzcl1\";\nexport var row = \"CreateBareMetalProjectProvidersSelection__row__jrBkx\";\nexport var selectProvidersSectionHeading = \"CreateBareMetalProjectProvidersSelection__selectProvidersSectionHeading__iIHOL\";\nexport var subHeading = \"CreateBareMetalProjectProvidersSelection__subHeading__vw46s\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as ID from \"../../../../libs/ID.res.js\";\nimport * as Js_array from \"rescript/lib/es6/js_array.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProviderSelectionTile from \"../_components/ProviderSelectionTile/ProviderSelectionTile.res.js\";\nimport * as CreateBareMetalProjectProvidersSelectionScss from \"./CreateBareMetalProjectProvidersSelection.scss\";\n\nvar css = CreateBareMetalProjectProvidersSelectionScss;\n\nfunction CreateBareMetalProjectProvidersSelection_SelectProvidersSection(props) {\n  var userRole = props.userRole;\n  var toggleProviderSelection = props.toggleProviderSelection;\n  var selectedProviders = props.selectedProviders;\n  return JsxRuntime.jsxs(JsxRuntime.Fragment, {\n              children: [\n                JsxRuntime.jsx(\"h2\", {\n                      children: \"Select Your Bare Metal Providers\",\n                      className: css.selectProvidersSectionHeading\n                    }),\n                JsxRuntime.jsx(\"p\", {\n                      children: \"Deselect all\",\n                      className: css.deselectAll,\n                      onClick: props.onDeselectAll\n                    }),\n                Belt_Array.map(props.providers, (function (provider) {\n                        return JsxRuntime.jsx(ProviderSelectionTile.make, {\n                                    provider: provider,\n                                    checked: Js_array.includes(provider.id, selectedProviders),\n                                    onToggle: (function (param) {\n                                        toggleProviderSelection(provider);\n                                      }),\n                                    userRole: userRole,\n                                    selectedProviders: selectedProviders\n                                  }, ID.toString(provider.id) + \"-Provider-Selection-Tile\");\n                      }))\n              ]\n            });\n}\n\nvar make = CreateBareMetalProjectProvidersSelection_SelectProvidersSection;\n\nexport {\n  css ,\n  make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Api from \"../../../../api/Api.res.js\";\nimport * as Url from \"../../../../utils/Url.res.js\";\nimport * as Hooks from \"../../../../libs/Hooks.res.js\";\nimport * as React from \"react\";\nimport * as $$Promise from \"../../../../bindings/Promise.res.js\";\nimport * as Caml_obj from \"rescript/lib/es6/caml_obj.js\";\nimport * as Debounce from \"rescript-debounce/src/Debounce.res.js\";\nimport * as Js_array from \"rescript/lib/es6/js_array.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as Visibility from \"../../../../libs/Visibility.res.js\";\nimport * as $$Notification from \"../../../../bindings/Notification.res.js\";\nimport * as SentryLogger from \"../../../../loggers/SentryLogger.res.js\";\nimport * as Routes_Project from \"../../../../routes/common/Routes_Project.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\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 CreateBareMetalProjectProvidersSelectionScss from \"./CreateBareMetalProjectProvidersSelection.scss\";\nimport * as CreateBareMetalProjectProvidersSelection_SelectProvidersSection from \"./CreateBareMetalProjectProvidersSelection_SelectProvidersSection.res.js\";\n\nvar css = CreateBareMetalProjectProvidersSelectionScss;\n\nvar persistDraft = Debounce.make(900, (function (param) {\n        if (param[1].TAG === \"Draft\") {\n          return $$Promise.wait(Api.saveProjectProvidersSelectionDraft(param[0]), (function (x) {\n                        if (x.TAG === \"Ok\") {\n                          return $$Notification.NotificationManager.success(\"Draft saved!\", \"\", 1000);\n                        }\n                        SentryLogger.error1({\n                              rootModule: \"CreateBareMetalProjectProvidersSelection\",\n                              subModulePath: {\n                                hd: \"Api\",\n                                tl: /* [] */0\n                              },\n                              value: \"persistDraft\",\n                              fullPath: \"CreateBareMetalProjectProvidersSelection.Api.persistDraft\"\n                            }, \"SaveBareMetalProjectProvidersSelectionDraft::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(selectedProvidersIds, context) {\n  if (context.TAG === \"Draft\") {\n    return $$Promise.wait(Api.saveProjectProvidersSelection(selectedProvidersIds), (function (x) {\n                  if (x.TAG === \"Ok\") {\n                    return Url.visit(Routes_Project.BareMetal.GeneralInfo.$$new);\n                  }\n                  SentryLogger.error1({\n                        rootModule: \"CreateBareMetalProjectProvidersSelection\",\n                        subModulePath: {\n                          hd: \"Api\",\n                          tl: /* [] */0\n                        },\n                        value: \"submitForm\",\n                        fullPath: \"CreateBareMetalProjectProvidersSelection.Api.submitForm\"\n                      }, \"SaveBareMetalProjectProvidersSelection::Error\", [\n                        \"Error\",\n                        x._0\n                      ]);\n                  $$Notification.NotificationManager.error(\"Something went wrong trying to save the draft\", \"\", 1000);\n                }));\n  }\n  var projectId = context.projectId;\n  $$Promise.wait(Api.updateProjectProvidersSelection(selectedProvidersIds, projectId), (function (x) {\n          if (x.TAG === \"Ok\") {\n            return Url.visit(Routes_Project.BareMetal.GeneralInfo.show(projectId));\n          }\n          SentryLogger.error1({\n                rootModule: \"CreateBareMetalProjectProvidersSelection\",\n                subModulePath: {\n                  hd: \"Api\",\n                  tl: /* [] */0\n                },\n                value: \"submitForm\",\n                fullPath: \"CreateBareMetalProjectProvidersSelection.Api.submitForm\"\n              }, \"UpdateBareMetalProjectProvidersSelection::Error\", [\n                \"Error\",\n                x._0\n              ]);\n          $$Notification.NotificationManager.error(\"Something went wrong trying to update the project\", \"\", 1000);\n        }));\n}\n\nfunction saveDraftProjectAndContinueLater(selectedProvidersIds, context) {\n  if (context.TAG === \"Draft\") {\n    return $$Promise.wait(Api.saveBareMetalDraftProjectProvidersSelection(selectedProvidersIds), (function (x) {\n                  if (x.TAG === \"Ok\") {\n                    return Url.visit(Routes_Project.index);\n                  }\n                  SentryLogger.error1({\n                        rootModule: \"CreateBareMetalProjectProvidersSelection\",\n                        subModulePath: {\n                          hd: \"Api\",\n                          tl: /* [] */0\n                        },\n                        value: \"saveDraftProjectAndContinueLater\",\n                        fullPath: \"CreateBareMetalProjectProvidersSelection.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  } else {\n    return $$Promise.wait(Api.updateProjectProvidersSelection(selectedProvidersIds, context.projectId), (function (x) {\n                  if (x.TAG === \"Ok\") {\n                    return Url.visit(Routes_Project.index);\n                  }\n                  SentryLogger.error1({\n                        rootModule: \"CreateBareMetalProjectProvidersSelection\",\n                        subModulePath: {\n                          hd: \"Api\",\n                          tl: /* [] */0\n                        },\n                        value: \"saveDraftProjectAndContinueLater\",\n                        fullPath: \"CreateBareMetalProjectProvidersSelection.Api.saveDraftProjectAndContinueLater\"\n                      }, \"UpdateBareMetalProjectProvidersSelection::Error\", [\n                        \"Error\",\n                        x._0\n                      ]);\n                  $$Notification.NotificationManager.error(\"Something went wrong trying to update the project\", \"\", 1000);\n                }));\n  }\n}\n\nvar Api$1 = {\n  persistDraft: persistDraft,\n  submitForm: submitForm,\n  saveDraftProjectAndContinueLater: saveDraftProjectAndContinueLater\n};\n\nfunction CreateBareMetalProjectProvidersSelection(props) {\n  var userRole = props.userRole;\n  var projectStatus = props.projectStatus;\n  var userLoginStatus = props.userLoginStatus;\n  var providers = props.providers;\n  var context = props.context;\n  var match = React.useState(function () {\n        return \"Hidden\";\n      });\n  var toggleSignInModal = match[1];\n  var signInModal = match[0];\n  var initialState = React.useMemo((function () {\n          var tmp;\n          if (context.TAG === \"Draft\") {\n            var selectedProvidersIds = context.selectedProvidersIds;\n            tmp = selectedProvidersIds !== undefined ? selectedProvidersIds : (\n                userRole === \"User\" ? Belt_Array.map(Belt_Array.slice(providers, 0, 0), (function (p) {\n                          return p.id;\n                        })) : Belt_Array.map(providers, (function (p) {\n                          return p.id;\n                        }))\n              );\n          } else {\n            tmp = context.selectedProvidersIds;\n          }\n          return {\n                  selectedProviders: tmp,\n                  userLoginStatus: userLoginStatus\n                };\n        }), providers);\n  var match$1 = Hooks.useReducer(initialState, (function (state, action) {\n          if (typeof action !== \"object\") {\n            return {\n                    TAG: \"UpdateWithSideEffects\",\n                    _0: {\n                      selectedProviders: [],\n                      userLoginStatus: state.userLoginStatus\n                    },\n                    _1: (function (param) {\n                        persistDraft([\n                              [],\n                              context\n                            ]);\n                      })\n                  };\n          }\n          if (action.TAG !== \"ToggleProviderSelection\") {\n            return {\n                    TAG: \"UpdateWithSideEffects\",\n                    _0: {\n                      selectedProviders: state.selectedProviders,\n                      userLoginStatus: action._0\n                    },\n                    _1: (function (param) {\n                        saveDraftProjectAndContinueLater(state.selectedProviders, context);\n                      })\n                  };\n          }\n          var provider = action._0;\n          var selectedProviders = Js_array.includes(provider.id, state.selectedProviders) ? Js_array.filter((function (id) {\n                    return Caml_obj.notequal(id, provider.id);\n                  }), state.selectedProviders) : Belt_Array.concat(state.selectedProviders, [provider.id]);\n          return {\n                  TAG: \"UpdateWithSideEffects\",\n                  _0: {\n                    selectedProviders: selectedProviders,\n                    userLoginStatus: state.userLoginStatus\n                  },\n                  _1: (function (param) {\n                      persistDraft([\n                            selectedProviders,\n                            context\n                          ]);\n                    })\n                };\n        }));\n  var dispatch = match$1[1];\n  var state = match$1[0];\n  var navigationPreviousControl_1 = function (param) {\n    if (context.TAG === \"Draft\") {\n      return Url.visit(Routes_Project.BareMetal.$$new);\n    } else {\n      return Url.visit(Routes_Project.BareMetal.Configuration.show(context.projectId));\n    }\n  };\n  var navigationPreviousControl = [\n    \"Back\",\n    navigationPreviousControl_1,\n    \"Enabled\"\n  ];\n  var navigationNextControl = React.useMemo((function () {\n          var match = state.selectedProviders;\n          return [\n                  \"Next Step\",\n                  (function () {\n                      submitForm(state.selectedProviders, context);\n                    }),\n                  match.length !== 0 ? \"Enabled\" : \"Disabled\"\n                ];\n        }), [state.selectedProviders]);\n  var navigationContinueLaterControl = React.useMemo((function () {\n          var match = state.userLoginStatus;\n          if (match === \"LoggedIn\" && projectStatus === \"Draft\") {\n            return [\n                    \"Save and Continue Later\",\n                    (function () {\n                        saveDraftProjectAndContinueLater(state.selectedProviders, context);\n                      })\n                  ];\n          }\n          \n        }), [state.selectedProviders]);\n  var tmp;\n  tmp = context.TAG === \"Draft\" ? \"Step 2: Select Bare Metal Providers\" : \"Step 2: Edit Bare Metal Providers\";\n  var tmp$1;\n  tmp$1 = 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            }),\n          setUserData: props.setUserData,\n          subTitle: \"Sign In to save the project detail and continue later\"\n        }) : null;\n  return JsxRuntime.jsxs(\"div\", {\n              children: [\n                JsxRuntime.jsx(ReactNotifications.NotificationContainer, {}),\n                JsxRuntime.jsxs(\"div\", {\n                      children: [\n                        JsxRuntime.jsx(\"h1\", {\n                              children: tmp,\n                              className: css.heading\n                            }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: \"Based on your configurations from the previous step, we've matched your project with the following Bare Metal providers. By default, all providers will be invited to provide solutions and pricing for your bare metal services. You may deselect any providers.\",\n                              className: css.subHeading\n                            }),\n                        JsxRuntime.jsx(CreateBareMetalProjectProvidersSelection_SelectProvidersSection.make, {\n                              providers: providers,\n                              selectedProviders: state.selectedProviders,\n                              onDeselectAll: (function (param) {\n                                  dispatch(\"DeselectAll\");\n                                }),\n                              toggleProviderSelection: (function (provider) {\n                                  dispatch({\n                                        TAG: \"ToggleProviderSelection\",\n                                        _0: provider\n                                      });\n                                }),\n                              userRole: userRole\n                            })\n                      ],\n                      className: css.contentWrapper\n                    }),\n                JsxRuntime.jsx(ProjectWizardNavigation.make, {\n                      stepLabel: \"Step 2 of 3\",\n                      controls: {\n                        TAG: \"PreviousAndNextAndContinueLater\",\n                        next: navigationNextControl,\n                        previous: navigationPreviousControl,\n                        continueLater: navigationContinueLaterControl\n                      },\n                      mobile: props.mobile\n                    }),\n                tmp$1\n              ],\n              className: css.container\n            });\n}\n\nvar make = CreateBareMetalProjectProvidersSelection;\n\nexport {\n  css ,\n  Api$1 as Api,\n  make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as ID from \"../../../../libs/ID.res.js\";\nimport * as React from \"react\";\nimport * as Project from \"../../../../models/Project.res.js\";\nimport * as Provider from \"../../../../models/Provider.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.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 CreateBareMetalProjectProvidersSelection from \"./CreateBareMetalProjectProvidersSelection.res.js\";\n\nfunction CreateBareMetalProjectProvidersSelection__JsBridge$default(props) {\n  var status = props.status;\n  var selectedProvidersIds = props.selectedProvidersIds;\n  var projectId = props.projectId;\n  var providers = props.providers;\n  var railsContext = props.railsContext;\n  var railsContext$1 = React.useMemo((function () {\n          return RailsContext.fromJson(railsContext);\n        }), [railsContext]);\n  var providers$1 = React.useMemo((function () {\n          return Belt_Array.map(providers, Provider.Simple.fromJson);\n        }), [providers]);\n  var projectId$1 = React.useMemo((function () {\n          return Belt_Result.getExn(Json_Decode$JsonCombinators.decode(projectId, Json_Decode$JsonCombinators.option(Project.Id.decoder)));\n        }), [projectId]);\n  var context = React.useMemo((function () {\n          var match = Belt_Array.map(selectedProvidersIds, ID.fromJson);\n          if (projectId$1 !== undefined) {\n            return {\n                    TAG: \"Project\",\n                    projectId: Caml_option.valFromOption(projectId$1),\n                    selectedProvidersIds: match\n                  };\n          } else if (match.length !== 0) {\n            return {\n                    TAG: \"Draft\",\n                    selectedProvidersIds: match\n                  };\n          } else {\n            return {\n                    TAG: \"Draft\",\n                    selectedProvidersIds: undefined\n                  };\n          }\n        }), [\n        projectId$1,\n        selectedProvidersIds\n      ]);\n  var projectStatus = React.useMemo((function () {\n          return Project.Status.fromString(status);\n        }), [status]);\n  return JsxRuntime.jsx(CreateBareMetalProjectProvidersSelection.make, {\n              mobile: railsContext$1.mobile,\n              context: context,\n              providers: providers$1,\n              userLoginStatus: railsContext$1.userLoginStatus,\n              setUserData: props.reduxfunction.setUserData,\n              projectStatus: projectStatus,\n              userRole: railsContext$1.userRole\n            });\n}\n\nvar $$default = CreateBareMetalProjectProvidersSelection__JsBridge$default;\n\nexport {\n  $$default as default,\n}\n/* ID 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 CreateBareMetalProjectProvidersSelection from './CreateBareMetalProjectProvidersSelection__JsBridge.res.js';\n\nconst mapDispatchToProps = dispatch => ({\n  reduxfunction: {\n    setUserData: userData => {\n      dispatch(setUserData(userData));\n    },\n  },\n});\n\nconst CreateBareMetalProjectProvidersSelectionContainer = connect(\n  null,\n  mapDispatchToProps,\n)(CreateBareMetalProjectProvidersSelection);\n\nexport default ({ context, ...props }) => (\n  <ReduxProvider>\n    <CreateBareMetalProjectProvidersSelectionContainer\n      projectId={props.projectId}\n      providers={props.providers}\n      railsContext={context}\n      selectedProvidersIds={props.selectedProvidersIds}\n      status={props.status}\n      reduxfunction={props.reduxfunction}\n    />\n  </ReduxProvider>\n);\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as React from \"react\";\nimport * as Screens from \"../styleguide/styles/Screens.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as $$MediaQueryList from \"./MediaQueryList.res.js\";\n\nfunction usePrevious(v) {\n  var x = React.useRef(undefined);\n  React.useEffect(function () {\n        x.current = Caml_option.some(v);\n      });\n  return x.current;\n}\n\nfunction useReducer(initialState, reducer) {\n  var match = React.useReducer((function (fullState, action) {\n          var sideEffects = fullState.sideEffects;\n          var state = reducer(fullState.state, action);\n          if (typeof state !== \"object\") {\n            return fullState;\n          }\n          switch (state.TAG) {\n            case \"Update\" :\n                return {\n                        state: state._0,\n                        sideEffects: fullState.sideEffects\n                      };\n            case \"UpdateWithSideEffects\" :\n                return {\n                        state: state._0,\n                        sideEffects: {\n                          contents: Belt_Array.concat(sideEffects.contents, [state._1])\n                        }\n                      };\n            case \"SideEffects\" :\n                return {\n                        state: fullState.state,\n                        sideEffects: {\n                          contents: Belt_Array.concat(sideEffects.contents, [state._0])\n                        }\n                      };\n            \n          }\n        }), {\n        state: initialState,\n        sideEffects: {\n          contents: []\n        }\n      });\n  var dispatch = match[1];\n  var match$1 = match[0];\n  var sideEffects = match$1.sideEffects;\n  var state = match$1.state;\n  React.useEffect((function () {\n          if (sideEffects.contents.length !== 0) {\n            Belt_Array.forEach(sideEffects.contents, (function (fn) {\n                    fn({\n                          state: state,\n                          dispatch: dispatch\n                        });\n                  }));\n            sideEffects.contents = [];\n          }\n          \n        }), [sideEffects.contents]);\n  return [\n          state,\n          dispatch\n        ];\n}\n\nfunction useScreenSize() {\n  var match = React.useState(function () {\n        return \"LG\";\n      });\n  var setScreenSize = match[1];\n  var mediaQueries = [\n    {\n      query: Screens.smMq,\n      size: \"SM\"\n    },\n    {\n      query: Screens.mdMq,\n      size: \"MD\"\n    },\n    {\n      query: Screens.lgMq,\n      size: \"LG\"\n    }\n  ];\n  React.useEffect((function () {\n          var listeners = Belt_Array.map(mediaQueries, (function (param) {\n                  return [\n                          window.matchMedia(param.query),\n                          param.size\n                        ];\n                }));\n          var idx = listeners.findIndex(function (param) {\n                return param[0].matches;\n              });\n          var match = Belt_Array.get(listeners, idx);\n          if (match !== undefined) {\n            var size = match[1];\n            setScreenSize(function (param) {\n                  return size;\n                });\n          }\n          var unsubscribeListeners = Belt_Array.map(listeners, (function (param) {\n                  var size = param[1];\n                  return $$MediaQueryList.subscribe(param[0], (function ($$event) {\n                                if ($$event.matches) {\n                                  return setScreenSize(function (param) {\n                                              return size;\n                                            });\n                                }\n                                \n                              }));\n                }));\n          return (function () {\n                    Belt_Array.forEach(unsubscribeListeners, (function (listener) {\n                            if (listener !== undefined) {\n                              return listener();\n                            }\n                            \n                          }));\n                  });\n        }), [mediaQueries]);\n  return match[0];\n}\n\nexport {\n  usePrevious ,\n  useReducer ,\n  useScreenSize ,\n}\n/* react Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\n\nfunction subscribe(mq, handler) {\n  mq.addListener(handler);\n  return (function () {\n            mq.removeListener(handler);\n          });\n}\n\nexport {\n  subscribe ,\n}\n/* No side effect */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Env from \"../libs/Env.res.js\";\nimport * as Role from \"./Role.res.js\";\nimport * as User from \"./User.res.js\";\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              railsEnv: field.required(\"railsEnv\", Env.decoder),\n              inMailer: field.required(\"inMailer\", Json_Decode$JsonCombinators.bool),\n              i18nLocale: field.required(\"i18nLocale\", Json_Decode$JsonCombinators.string),\n              i18nDefaultLocale: field.required(\"i18nDefaultLocale\", Json_Decode$JsonCombinators.string),\n              rorVersion: field.required(\"rorVersion\", Json_Decode$JsonCombinators.string),\n              rorPro: field.required(\"rorPro\", Json_Decode$JsonCombinators.bool),\n              href: field.required(\"href\", Json_Decode$JsonCombinators.string),\n              location: field.required(\"location\", Json_Decode$JsonCombinators.string),\n              scheme: field.required(\"scheme\", Json_Decode$JsonCombinators.string),\n              host: field.required(\"host\", Json_Decode$JsonCombinators.string),\n              port: field.required(\"port\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.$$int)),\n              pathname: field.required(\"pathname\", Json_Decode$JsonCombinators.string),\n              search: field.required(\"search\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.string)),\n              httpAcceptLanguage: field.required(\"httpAcceptLanguage\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.string)),\n              desktop: field.required(\"desktop\", Json_Decode$JsonCombinators.bool),\n              tablet: field.required(\"tablet\", Json_Decode$JsonCombinators.bool),\n              mobile: field.required(\"mobile\", Json_Decode$JsonCombinators.bool),\n              userLoginStatus: field.required(\"isUserSignedIn\", User.LoginStatus.decoder),\n              userIdentifier: field.required(\"userIdentifier\", Json_Decode$JsonCombinators.string),\n              userRole: field.required(\"userRole\", Role.decoder),\n              cookies: field.required(\"cookies\", Json_Decode$JsonCombinators.id),\n              serverSide: field.required(\"serverSide\", Json_Decode$JsonCombinators.bool)\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 ID from \"../../libs/ID.res.js\";\nimport * as Project from \"../../models/Project.res.js\";\n\nfunction detail(projectId) {\n  return \"/projects/\" + projectId + \"/detail\";\n}\n\nfunction show(projectId) {\n  return \"/projects/\" + projectId;\n}\n\nfunction success(projectId) {\n  return \"/projects/\" + projectId + \"/detail?newProject=true\";\n}\n\nfunction update(projectId) {\n  return \"/projects/\" + (projectId + \"/general_info\");\n}\n\nfunction showHashid(hashid) {\n  return \"/projects/\" + hashid;\n}\n\nfunction show$1(projectId) {\n  return \"/projects/\" + (projectId + \"/bare-metal-rfp\");\n}\n\nvar Configuration = {\n  show: show$1\n};\n\nfunction show$2(projectId) {\n  return \"/projects/\" + (projectId + \"/general_info\");\n}\n\nvar GeneralInfo = {\n  $$new: \"/projects/general_info/bare_metal_rfp\",\n  show: show$2\n};\n\nfunction editSelector(projectId) {\n  return \"/projects/\" + (projectId + \"/select_providers/bare_metal_rfp\");\n}\n\nvar Provider = {\n  newSelector: \"/projects/select_providers/bare_metal_rfp\",\n  editSelector: editSelector\n};\n\nvar BareMetal = {\n  $$new: \"/projects/bare-metal-rfp\",\n  Configuration: Configuration,\n  GeneralInfo: GeneralInfo,\n  Provider: Provider\n};\n\nfunction $$new(cloudType) {\n  return \"/projects/cloud-rfp/\" + Project.Cloud.configurationSlug(cloudType);\n}\n\nfunction show$3(projectId, cloudType) {\n  return \"/projects/\" + (projectId + (\"/cloud-rfp/\" + Project.Cloud.configurationSlug(cloudType)));\n}\n\nvar Configuration$1 = {\n  $$new: $$new,\n  show: show$3\n};\n\nfunction $$new$1(cloudType) {\n  return \"/projects/general_info/\" + Project.Cloud.slug(cloudType);\n}\n\nfunction show$4(projectId) {\n  return \"/projects/\" + (projectId + \"/general_info\");\n}\n\nvar GeneralInfo$1 = {\n  $$new: $$new$1,\n  show: show$4\n};\n\nfunction newSelector(cloudType) {\n  return \"/projects/select_providers/\" + Project.Cloud.slug(cloudType);\n}\n\nfunction editSelector$1(projectId, cloudType) {\n  return \"/projects/\" + (projectId + (\"/select_providers/\" + Project.Cloud.slug(cloudType)));\n}\n\nvar Provider$1 = {\n  newSelector: newSelector,\n  editSelector: editSelector$1\n};\n\nvar Cloud = {\n  $$new: \"/projects/cloud-rfp\",\n  Configuration: Configuration$1,\n  GeneralInfo: GeneralInfo$1,\n  Provider: Provider$1\n};\n\nfunction update$1(projectId) {\n  return \"/projects/\" + (projectId + \"/colocation-rfp\");\n}\n\nvar Configuration$2 = {\n  update: update$1\n};\n\nfunction update$2(projectId) {\n  return \"/projects/\" + (projectId + \"/select_locations\");\n}\n\nvar $$Location = {\n  select: \"/projects/select_locations\",\n  update: update$2\n};\n\nvar Colocation = {\n  $$new: \"/projects/colocation-rfp\",\n  Configuration: Configuration$2,\n  $$Location: $$Location\n};\n\nfunction show$5(hashid) {\n  return \"/projects/\" + hashid;\n}\n\nfunction edit(hashid) {\n  return \"/projects/\" + hashid + \"/general_info\";\n}\n\nfunction proposals(hashid) {\n  return \"/projects/\" + hashid + \"/proposals\";\n}\n\nvar Dashboard = {\n  index: \"/dashboard/projects\",\n  conciergeIndex: \"/dashboard/concierge/projects\",\n  providerIndex: \"/dashboard/projects/provider_projects\",\n  show: show$5,\n  edit: edit,\n  proposals: proposals\n};\n\nfunction download(projectId, documentId) {\n  return \"/api/v1/projects/\" + (projectId + (\"/download_document/\" + Project.DocumentId.toString(documentId)));\n}\n\nvar $$Document = {\n  download: download\n};\n\nfunction $$new$2(category) {\n  return \"/projects/general_info/\" + Project.Category.toString(category);\n}\n\nfunction update$3(projectId) {\n  return \"/projects/\" + (projectId + \"/general_info\");\n}\n\nvar GeneralInfo$2 = {\n  $$new: $$new$2,\n  update: update$3\n};\n\nvar IaasServer = {\n  $$new: \"/projects/cloud-rfp/cloud-server-pricing\"\n};\n\nvar IaasStorage = {\n  $$new: \"/projects/cloud-rfp/cloud-storage-pricing\"\n};\n\nfunction show$6(projectId) {\n  return \"/projects/\" + (projectId + \"/business-internet-pricing/\");\n}\n\nvar Configuration$3 = {\n  show: show$6\n};\n\nfunction download$1(projectId, documentId) {\n  return \"/api/v1/projects/\" + (projectId + (\"/download_internet_document/\" + Project.DocumentId.toString(documentId)));\n}\n\nvar $$Document$1 = {\n  download: download$1\n};\n\nfunction show$7(projectId) {\n  return \"/projects/\" + (projectId + \"/general_info\");\n}\n\nvar GeneralInfo$3 = {\n  $$new: \"/projects/general_info/internet_rfp\",\n  show: show$7\n};\n\nfunction editSelector$2(projectId) {\n  return \"/projects/\" + (projectId + \"/select_providers/internet_rfp\");\n}\n\nvar Provider$2 = {\n  newSelector: \"/projects/select_providers/internet_rfp\",\n  editSelector: editSelector$2\n};\n\nvar Internet = {\n  $$new: \"/projects/business-internet-pricing\",\n  Configuration: Configuration$3,\n  $$Document: $$Document$1,\n  GeneralInfo: GeneralInfo$3,\n  Provider: Provider$2\n};\n\nfunction $$new$3(networkType) {\n  return \"/projects/network-rfp/\" + Project.Network.configurationSlug(networkType);\n}\n\nfunction show$8(projectId, networkType) {\n  return \"/projects/\" + (projectId + (\"/network-rfp/\" + Project.Network.configurationSlug(networkType)));\n}\n\nvar Configuration$4 = {\n  $$new: $$new$3,\n  show: show$8\n};\n\nfunction download$2(projectId, documentId) {\n  return \"/api/v1/projects/\" + (projectId + (\"/download_network_document/\" + Project.DocumentId.toString(documentId)));\n}\n\nvar $$Document$2 = {\n  download: download$2\n};\n\nfunction $$new$4(networkType) {\n  return \"/projects/general_info/\" + Project.Network.slug(networkType);\n}\n\nfunction show$9(projectId) {\n  return \"/projects/\" + (projectId + \"/general_info\");\n}\n\nvar GeneralInfo$4 = {\n  $$new: $$new$4,\n  show: show$9\n};\n\nvar Mpls = {\n  $$new: \"/projects/network-rfp/mpls-pricing\"\n};\n\nfunction newSelector$1(networkType) {\n  return \"/projects/select_network_providers/\" + Project.Network.slug(networkType);\n}\n\nfunction editSelector$3(projectId, networkType) {\n  return \"/projects/\" + (projectId + (\"/select_network_providers/\" + Project.Network.slug(networkType)));\n}\n\nvar Provider$3 = {\n  newSelector: newSelector$1,\n  editSelector: editSelector$3\n};\n\nvar PrivateLine = {\n  $$new: \"/projects/network-rfp/private-line-pricing\"\n};\n\nvar SdWan = {\n  $$new: \"/projects/network-rfp/sd-wan-pricing\"\n};\n\nvar Network = {\n  $$new: \"/projects/network-rfp\",\n  Configuration: Configuration$4,\n  $$Document: $$Document$2,\n  GeneralInfo: GeneralInfo$4,\n  Mpls: Mpls,\n  Provider: Provider$3,\n  PrivateLine: PrivateLine,\n  SdWan: SdWan\n};\n\nfunction $$new$5(productId) {\n  return \"/projects/colocation-rfp?productId=\" + ID.toString(productId);\n}\n\nvar Colocation$1 = {\n  $$new: $$new$5\n};\n\nvar Product = {\n  Colocation: Colocation$1\n};\n\nfunction download$3(projectId, proposalId) {\n  return \"/api/v1/projects/\" + (projectId + (\"/proposals/\" + (proposalId + \"/download\")));\n}\n\nfunction downloadHistory(projectId, proposalId, documentId) {\n  return \"/api/v1/projects/\" + (projectId + (\"/proposals/\" + (proposalId + (\"/download_history/\" + Project.DocumentId.toString(documentId)))));\n}\n\nfunction downloadAdditional(projectId, proposalId, documentId) {\n  return \"/api/v1/projects/\" + (projectId + (\"/proposals/\" + (proposalId + (\"/download_additional/\" + Project.DocumentId.toString(documentId)))));\n}\n\nfunction downloadAll(projectId, proposalId) {\n  return \"/api/v1/projects/\" + (projectId + (\"/proposals/\" + (proposalId + \"/download_all\")));\n}\n\nfunction downloadAllAdditional(projectId, proposalId) {\n  return \"/api/v1/projects/\" + (projectId + (\"/proposals/\" + (proposalId + \"/download_additional_and_proposal\")));\n}\n\nfunction index(projectId) {\n  return \"/projects/\" + (projectId + \"/proposals\");\n}\n\nfunction $$new$6(projectId) {\n  return \"/projects/\" + (projectId + \"/proposals/new\");\n}\n\nfunction show$10(projectId, proposalId) {\n  return \"/projects/\" + (projectId + (\"/proposals/\" + proposalId));\n}\n\nfunction update$4(projectId, proposalId) {\n  return \"/projects/\" + (projectId + (\"/proposals/\" + (proposalId + \"/edit\")));\n}\n\nvar Proposal = {\n  download: download$3,\n  downloadHistory: downloadHistory,\n  downloadAdditional: downloadAdditional,\n  downloadAll: downloadAll,\n  downloadAllAdditional: downloadAllAdditional,\n  index: index,\n  $$new: $$new$6,\n  show: show$10,\n  update: update$4\n};\n\nfunction index$1(projectId) {\n  return \"/projects/\" + projectId + \"/providers_projects\";\n}\n\nvar Provider$4 = {\n  index: index$1\n};\n\nvar index$2 = \"/projects\";\n\nvar toCsv = \"/projects.csv\";\n\nexport {\n  detail ,\n  show ,\n  success ,\n  index$2 as index,\n  update ,\n  toCsv ,\n  showHashid ,\n  BareMetal ,\n  Cloud ,\n  Colocation ,\n  Dashboard ,\n  $$Document ,\n  GeneralInfo$2 as GeneralInfo,\n  IaasServer ,\n  IaasStorage ,\n  Internet ,\n  Network ,\n  Product ,\n  Proposal ,\n  Provider$4 as Provider,\n}\n/* ID Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\n\nvar maxWidth = String(767);\n\nvar smMq = \"only screen and (max-width: \" + maxWidth + \"px)\";\n\nvar minWidth = String(1024);\n\nvar maxWidth$1 = String(1279);\n\nvar mdMq = \"only screen and (min-width: \" + minWidth + \"px) and (max-width: \" + maxWidth$1 + \"px)\";\n\nvar minWidth$1 = String(1024);\n\nvar lgMq = \"only screen and (min-width: \" + minWidth$1 + \"px)\";\n\nvar xsSlider = 320;\n\nvar xs = 375;\n\nvar xsSlider2 = 414;\n\nvar smallSlider = 767;\n\nvar small = 768;\n\nvar medium = 1024;\n\nvar large = 1280;\n\nvar xl = 1440;\n\nexport {\n  xsSlider ,\n  xs ,\n  xsSlider2 ,\n  smallSlider ,\n  small ,\n  medium ,\n  large ,\n  xl ,\n  smMq ,\n  mdMq ,\n  lgMq ,\n}\n/* maxWidth Not a pure module */\n"],"names":["LoginMiddleWare","_Component","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_defineProperty","_assertThisInitialized","_callSuper","concat","_this$props","props","userData","setUserData","_","ApiUtils","getIsUserSignedIn","then","response","data","user_log_in","localStorage","clear","window","location","_inherits","Component","connect","state","user","dispatch","setUserDataAction","loginMiddlewareCounter","ReduxProviderClient","_React$PureComponent","key","value","AppStore","ReactOnRails","React","Provider","store","Fragment","LoginMiddleware","this","children","NotificationManager","success","message","title","timeout","ReactNotifications","error","column","contentWrapper","errorMessage","flex","flexColumn","gap1","gap2","gap3","gap4","gap5","nextButton","nextButtonContainer","row","saveAndContinueButton","saveAndContinueContainer","stepButtonsContainer","stepLabel","steps","css","ProjectWizardNavigationScss","ProjectWizardNavigation$ErrorMessage","undefined","JsxRuntime","className","make","tmp","convertButtonClass","mobile","controls","convertClass","TAG","buttonState","_2","handle","_1","Button","size","color","visuallyDisabled","busy","onClick","param","_0","buttonState$1","handle$1","buttonClassName","match","continueLater","match$1","previous","previousButtonState","handlePrevious","previousLabel","match$2","next","nextButtonState","handleNext","nextLabel","handleContinueLater","Control","container","deselectAll","selectProvidersSectionHeading","subHeading","CreateBareMetalProjectProvidersSelectionScss","userRole","toggleProviderSelection","selectedProviders","onDeselectAll","Belt_Array","providers","provider","ProviderSelectionTile","checked","Js_array","id","onToggle","ID","persistDraft","Debounce","$$Promise","Api","x","$$Notification","SentryLogger","rootModule","subModulePath","hd","tl","fullPath","submitForm","selectedProvidersIds","context","Url","Routes_Project","GeneralInfo","$$new","projectId","show","saveDraftProjectAndContinueLater","tmp$1","projectStatus","userLoginStatus","toggleSignInModal","signInModal","initialState","p","Hooks","action","Caml_obj","navigationPreviousControl","Configuration","navigationNextControl","navigationContinueLaterControl","SignInModalContainer","close","Visibility","callback","subTitle","heading","CreateBareMetalProjectProvidersSelection_SelectProvidersSection","ProjectWizardNavigation","$$default","status","railsContext","railsContext$1","RailsContext","providers$1","fromJson","projectId$1","Belt_Result","Json_Decode$JsonCombinators","Project","decoder","Caml_option","fromString","CreateBareMetalProjectProvidersSelection","reduxfunction","CreateBareMetalProjectProvidersSelectionContainer","_ref","_objectWithoutProperties","_excluded","ReduxProvider","usePrevious","v","current","useReducer","reducer","fullState","sideEffects","contents","fn","useScreenSize","setScreenSize","mediaQueries","query","Screens","listeners","matchMedia","idx","findIndex","matches","unsubscribeListeners","mq","handler","$$event","addListener","removeListener","listener","field","railsEnv","required","Env","inMailer","i18nLocale","i18nDefaultLocale","rorVersion","rorPro","href","scheme","host","port","pathname","search","httpAcceptLanguage","desktop","tablet","User","userIdentifier","Role","cookies","serverSide","json","Json$JsonCombinators","detail","update","showHashid","hashid","BareMetal","newSelector","editSelector","Cloud","cloudType","configurationSlug","slug","Colocation","$$Location","select","Dashboard","index","conciergeIndex","providerIndex","edit","proposals","$$Document","download","documentId","toString","GeneralInfo$2","category","IaasServer","IaasStorage","Internet","Network","networkType","Mpls","PrivateLine","SdWan","Product","productId","Proposal","proposalId","downloadHistory","downloadAdditional","downloadAll","downloadAllAdditional","Provider$4","index$2","toCsv","smMq","String","mdMq","lgMq","smallSlider","small","medium","large"],"sourceRoot":""}