{"version":3,"file":"js/rescript-bundles-user-dashboard-projects-create-cloud-project-providers-selection-384afef4cf996a1a0d80.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/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-cloud-project-providers-selection/CreateCloudProjectProvidersSelection.scss?a3bb","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-cloud-project-providers-selection/CreateCloudProjectProvidersSelection_SelectProvidersSection.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-cloud-project-providers-selection/CreateCloudProjectProvidersSelection.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-cloud-project-providers-selection/CreateCloudProjectProvidersSelection__JsBridge.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-cloud-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","// 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 = \"CreateCloudProjectProvidersSelection__column__r09cK\";\nexport var container = \"CreateCloudProjectProvidersSelection__container__N4lDt\";\nexport var contentWrapper = \"CreateCloudProjectProvidersSelection__contentWrapper__Ksr7n\";\nexport var deselectAll = \"CreateCloudProjectProvidersSelection__deselectAll___khMb\";\nexport var flex = \"CreateCloudProjectProvidersSelection__flex__FBYw5\";\nexport var flexColumn = \"CreateCloudProjectProvidersSelection__flexColumn__urAah\";\nexport var gap1 = \"CreateCloudProjectProvidersSelection__gap1__FMG21\";\nexport var gap2 = \"CreateCloudProjectProvidersSelection__gap2__wD6HQ\";\nexport var gap3 = \"CreateCloudProjectProvidersSelection__gap3__TAgDP\";\nexport var gap4 = \"CreateCloudProjectProvidersSelection__gap4__iOOm_\";\nexport var gap5 = \"CreateCloudProjectProvidersSelection__gap5__xcpCd\";\nexport var row = \"CreateCloudProjectProvidersSelection__row__ekKcW\";\nexport var selectProvidersSectionHeading = \"CreateCloudProjectProvidersSelection__selectProvidersSectionHeading__SkkjW\";\nexport var subHeading = \"CreateCloudProjectProvidersSelection__subHeading__iL9jZ\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as ID from \"../../../../libs/ID.res.js\";\nimport * as Project from \"../../../../models/Project.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 CreateCloudProjectProvidersSelectionScss from \"./CreateCloudProjectProvidersSelection.scss\";\n\nvar css = CreateCloudProjectProvidersSelectionScss;\n\nfunction CreateCloudProjectProvidersSelection_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 \" + (Project.Cloud.toString(props.cloudType) + \" 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 = CreateCloudProjectProvidersSelection_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 Project from \"../../../../models/Project.res.js\";\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 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 CreateCloudProjectProvidersSelectionScss from \"./CreateCloudProjectProvidersSelection.scss\";\nimport * as CreateCloudProjectProvidersSelection_SelectProvidersSection from \"./CreateCloudProjectProvidersSelection_SelectProvidersSection.res.js\";\n\nvar css = CreateCloudProjectProvidersSelectionScss;\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                          \"Draft saved!\".success(undefined, 1000, ReactNotifications.NotificationManager);\n                          return ;\n                        }\n                        SentryLogger.error1({\n                              rootModule: \"CreateCloudProjectProvidersSelection\",\n                              subModulePath: {\n                                hd: \"Api\",\n                                tl: /* [] */0\n                              },\n                              value: \"persistDraft\",\n                              fullPath: \"CreateCloudProjectProvidersSelection.Api.persistDraft\"\n                            }, \"SaveCloudProjectProvidersSelectionDraft::Error\", [\n                              \"Error\",\n                              x._0\n                            ]);\n                        \"Something went wrong trying to save the draft\".error(undefined, 1000, ReactNotifications.NotificationManager);\n                      }));\n        }\n        \n      }));\n\nfunction submitForm(selectedProvidersIds, cloudType, 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.Cloud.GeneralInfo.$$new(cloudType));\n                  }\n                  SentryLogger.error1({\n                        rootModule: \"CreateCloudProjectProvidersSelection\",\n                        subModulePath: {\n                          hd: \"Api\",\n                          tl: /* [] */0\n                        },\n                        value: \"submitForm\",\n                        fullPath: \"CreateCloudProjectProvidersSelection.Api.submitForm\"\n                      }, \"SaveCloudProjectProvidersSelection::Error\", [\n                        \"Error\",\n                        x._0\n                      ]);\n                  \"Something went wrong trying to save the draft\".error(undefined, 1000, ReactNotifications.NotificationManager);\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.Cloud.GeneralInfo.show(projectId));\n          }\n          SentryLogger.error1({\n                rootModule: \"CreateCloudProjectProvidersSelection\",\n                subModulePath: {\n                  hd: \"Api\",\n                  tl: /* [] */0\n                },\n                value: \"submitForm\",\n                fullPath: \"CreateCloudProjectProvidersSelection.Api.submitForm\"\n              }, \"UpdateCloudProjectProvidersSelection::Error\", [\n                \"Error\",\n                x._0\n              ]);\n          \"Something went wrong trying to update the project\".error(undefined, 1000, ReactNotifications.NotificationManager);\n        }));\n}\n\nfunction saveDraftProjectAndContinueLater(selectedProvidersIds, context) {\n  if (context.TAG === \"Draft\") {\n    return $$Promise.wait(Api.saveCloudDraftProjectProvidersSelection(selectedProvidersIds), (function (x) {\n                  if (x.TAG === \"Ok\") {\n                    return Url.visit(Routes_Project.index);\n                  }\n                  SentryLogger.error1({\n                        rootModule: \"CreateCloudProjectProvidersSelection\",\n                        subModulePath: {\n                          hd: \"Api\",\n                          tl: /* [] */0\n                        },\n                        value: \"saveDraftProjectAndContinueLater\",\n                        fullPath: \"CreateCloudProjectProvidersSelection.Api.saveDraftProjectAndContinueLater\"\n                      }, \"saveDraftProjectAndContinueLater::saveProjectDraft::Error\", [\n                        \"Error\",\n                        x._0\n                      ]);\n                  \"Something went wrong trying to save the draft\".error(undefined, 1000, ReactNotifications.NotificationManager);\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: \"CreateCloudProjectProvidersSelection\",\n                        subModulePath: {\n                          hd: \"Api\",\n                          tl: /* [] */0\n                        },\n                        value: \"saveDraftProjectAndContinueLater\",\n                        fullPath: \"CreateCloudProjectProvidersSelection.Api.saveDraftProjectAndContinueLater\"\n                      }, \"UpdateCloudProjectProvidersSelection::Error\", [\n                        \"Error\",\n                        x._0\n                      ]);\n                  \"Something went wrong trying to update the project\".error(undefined, 1000, ReactNotifications.NotificationManager);\n                }));\n  }\n}\n\nvar Api$1 = {\n  persistDraft: persistDraft,\n  submitForm: submitForm,\n  saveDraftProjectAndContinueLater: saveDraftProjectAndContinueLater\n};\n\nfunction CreateCloudProjectProvidersSelection(props) {\n  var userRole = props.userRole;\n  var projectStatus = props.projectStatus;\n  var userLoginStatus = props.userLoginStatus;\n  var cloudType = props.cloudType;\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 = React.useMemo((function () {\n          return [\n                  \"Back\",\n                  (function () {\n                      if (context.TAG === \"Draft\") {\n                        return Url.visit(Routes_Project.Cloud.Configuration.$$new(cloudType));\n                      } else {\n                        return Url.visit(Routes_Project.Cloud.Configuration.show(context.projectId, cloudType));\n                      }\n                    }),\n                  \"Enabled\"\n                ];\n        }), [cloudType]);\n  var navigationNextControl = React.useMemo((function () {\n          var match = state.selectedProviders;\n          return [\n                  \"Next Step\",\n                  (function () {\n                      submitForm(state.selectedProviders, cloudType, context);\n                    }),\n                  match.length !== 0 ? \"Enabled\" : \"Disabled\"\n                ];\n        }), [\n        state.selectedProviders,\n        cloudType\n      ]);\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\" ? \"Select\" : \"Edit\";\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.jsxs(\"div\", {\n                      children: [\n                        JsxRuntime.jsx(\"h1\", {\n                              children: \"Step 2: \" + (tmp + (\" Your Cloud \" + (Project.Cloud.toString(cloudType) + \" Providers\"))),\n                              className: css.heading\n                            }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: \"Based on your configurations from Step 1, we've matched your project with the following \" + (Project.Cloud.toString(cloudType) + \" providers. By default, all providers will be invited to respond to your quote request. You may deselect any providers.\"),\n                              className: css.subHeading\n                            }),\n                        JsxRuntime.jsx(CreateCloudProjectProvidersSelection_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                              cloudType: cloudType,\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 = CreateCloudProjectProvidersSelection;\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 CreateCloudProjectProvidersSelection from \"./CreateCloudProjectProvidersSelection.res.js\";\n\nfunction CreateCloudProjectProvidersSelection__JsBridge$default(props) {\n  var status = props.status;\n  var selectedProvidersIds = props.selectedProvidersIds;\n  var cloudType = props.cloudType;\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 cloudType$1 = React.useMemo((function () {\n          return Project.Cloud.fromString(cloudType);\n        }), [cloudType]);\n  var projectId = Belt_Result.getExn(Json_Decode$JsonCombinators.decode(props.projectId, Json_Decode$JsonCombinators.option(Project.Id.decoder)));\n  var context = React.useMemo((function () {\n          var match = Belt_Array.map(selectedProvidersIds, ID.fromJson);\n          if (projectId !== undefined) {\n            return {\n                    TAG: \"Project\",\n                    projectId: Caml_option.valFromOption(projectId),\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,\n        selectedProvidersIds\n      ]);\n  var projectStatus = React.useMemo((function () {\n          return Project.Status.fromString(status);\n        }), [status]);\n  return JsxRuntime.jsx(CreateCloudProjectProvidersSelection.make, {\n              mobile: railsContext$1.mobile,\n              context: context,\n              providers: providers$1,\n              cloudType: cloudType$1,\n              userLoginStatus: railsContext$1.userLoginStatus,\n              setUserData: props.reduxfunction.setUserData,\n              projectStatus: projectStatus,\n              userRole: railsContext$1.userRole\n            });\n}\n\nvar $$default = CreateCloudProjectProvidersSelection__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 CreateCloudProjectProvidersSelection from './CreateCloudProjectProvidersSelection__JsBridge.res.js';\n\nconst mapDispatchToProps = dispatch => ({\n  reduxfunction: {\n    setUserData: userData => {\n      dispatch(setUserData(userData));\n    },\n  },\n});\n\nconst CreateCloudProjectProvidersSelectionContainer = connect(\n  null,\n  mapDispatchToProps,\n)(CreateCloudProjectProvidersSelection);\n\nexport default ({ context, ...props }) => (\n  <ReduxProvider>\n    <CreateCloudProjectProvidersSelectionContainer\n      projectId={props.projectId}\n      providers={props.providers}\n      railsContext={context}\n      cloudType={props.cloudType}\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","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","CreateCloudProjectProvidersSelectionScss","userRole","toggleProviderSelection","selectedProviders","Project","toString","cloudType","onDeselectAll","Belt_Array","providers","provider","ProviderSelectionTile","checked","Js_array","id","onToggle","ID","persistDraft","Debounce","$$Promise","Api","x","SentryLogger","rootModule","subModulePath","hd","tl","fullPath","error","ReactNotifications","success","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","CreateCloudProjectProvidersSelection_SelectProvidersSection","ProjectWizardNavigation","$$default","status","railsContext","railsContext$1","RailsContext","providers$1","fromJson","cloudType$1","fromString","Belt_Result","Json_Decode$JsonCombinators","decoder","Caml_option","CreateCloudProjectProvidersSelection","reduxfunction","CreateCloudProjectProvidersSelectionContainer","_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","configurationSlug","slug","Colocation","$$Location","select","Dashboard","index","conciergeIndex","providerIndex","edit","proposals","$$Document","download","documentId","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":""}