{"version":3,"file":"js/rescript-bundles-user-dashboard-projects-user-cloud-iaas-server-60363e0c0726c0e5d3b8.chunk.js","mappings":"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","sources":["webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/_components/ProjectProviderTile/ProjectProviderTile.scss?9d1e","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/_components/ProjectProviderTile/ProjectProviderTile.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/_components/ProjectDetailsProviders/ProjectDetailsProviders.scss?fffb","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/_components/ProjectDetailsProviders/ProjectDetailsProviders.res.js","webpack://datacenters/./client/app/rescript/models/CloudServerVolume.res.js","webpack://datacenters/./client/app/rescript/models/CloudServerInstance.res.js","webpack://datacenters/./client/app/rescript/models/CloudIaasServerConfiguration.res.js","webpack://datacenters/./client/app/rescript/models/CloudIaasServerProject.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-cloud-iaas-server/UserCloudIaasServerProject.scss?96e4","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-cloud-iaas-server/UserCloudIaasServerProject_Details.scss?0f57","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-cloud-iaas-server/UserCloudIaasServerProject_Details_RequiredProducts.scss?b455","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-cloud-iaas-server/UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-cloud-iaas-server/UserCloudIaasServerProject_Details_RequiredProducts_Volume.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-cloud-iaas-server/UserCloudIaasServerProject_Details_RequiredProducts_ServerInstance.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-cloud-iaas-server/UserCloudIaasServerProject_Details_RequiredProducts_ProductPanel.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-cloud-iaas-server/UserCloudIaasServerProject_Details.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-cloud-iaas-server/UserCloudIaasServerProject.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-cloud-iaas-server/UserCloudIaasServerProject__JsBridge.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-cloud-iaas-server/index.js"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport var column = \"ProjectProviderTile__column__KStEJ\";\nexport var container = \"ProjectProviderTile__container__jYSX3\";\nexport var flex = \"ProjectProviderTile__flex__pKfuU\";\nexport var flexColumn = \"ProjectProviderTile__flexColumn__qvmxz\";\nexport var gap1 = \"ProjectProviderTile__gap1__QHq_h\";\nexport var gap2 = \"ProjectProviderTile__gap2__KwNBi\";\nexport var gap3 = \"ProjectProviderTile__gap3__tVg4a\";\nexport var gap4 = \"ProjectProviderTile__gap4__kkyVj\";\nexport var gap5 = \"ProjectProviderTile__gap5__WutcL\";\nexport var logo = \"ProjectProviderTile__logo__HEFUv\";\nexport var providerName = \"ProjectProviderTile__providerName__z3QoW\";\nexport var row = \"ProjectProviderTile__row__aTxfr\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectProviderTileScss from \"./ProjectProviderTile.scss\";\n\nvar css = ProjectProviderTileScss;\n\nfunction ProjectProviderTile(props) {\n  var __className = props.className;\n  var provider = props.provider;\n  var className = __className !== undefined ? __className : \"\";\n  return JsxRuntime.jsxs(\"div\", {\n              children: [\n                JsxRuntime.jsx(\"img\", {\n                      className: css.logo,\n                      alt: provider.name,\n                      src: provider.providerImage\n                    }),\n                JsxRuntime.jsx(\"h5\", {\n                      children: provider.name,\n                      className: css.providerName\n                    })\n              ],\n              className: Cx.cx([\n                    css.container,\n                    className\n                  ])\n            });\n}\n\nvar make = ProjectProviderTile;\n\nexport {\n  css ,\n  make ,\n}\n/* css Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var column = \"ProjectDetailsProviders__column__JGC3Q\";\nexport var datacentersCountText = \"ProjectDetailsProviders__datacentersCountText__eZumS\";\nexport var editButton = \"ProjectDetailsProviders__editButton__vcfai\";\nexport var emptyProviders = \"ProjectDetailsProviders__emptyProviders__l7YcD\";\nexport var flex = \"ProjectDetailsProviders__flex__NJSu6\";\nexport var flexColumn = \"ProjectDetailsProviders__flexColumn__qeGDl\";\nexport var gap1 = \"ProjectDetailsProviders__gap1__ue2BP\";\nexport var gap2 = \"ProjectDetailsProviders__gap2__K20yj\";\nexport var gap3 = \"ProjectDetailsProviders__gap3__Z5ToY\";\nexport var gap4 = \"ProjectDetailsProviders__gap4__k3f8l\";\nexport var gap5 = \"ProjectDetailsProviders__gap5__G0iDF\";\nexport var headingContentWrapper = \"ProjectDetailsProviders__headingContentWrapper__vS0W1\";\nexport var mapContainer = \"ProjectDetailsProviders__mapContainer__PMZOD\";\nexport var mapElement = \"ProjectDetailsProviders__mapElement__fg4x8\";\nexport var providerDetailRow = \"ProjectDetailsProviders__providerDetailRow__ndAoQ\";\nexport var providerHeading = \"ProjectDetailsProviders__providerHeading__tz3h4\";\nexport var providerImage = \"ProjectDetailsProviders__providerImage__mCvya\";\nexport var providerName = \"ProjectDetailsProviders__providerName__LYYjd\";\nexport var providerPanel = \"ProjectDetailsProviders__providerPanel__TsJrF\";\nexport var providerPanelBody = \"ProjectDetailsProviders__providerPanelBody__Cxbet\";\nexport var providerPanelHeadingContainer = \"ProjectDetailsProviders__providerPanelHeadingContainer__vWTZg\";\nexport var providerPanelImageAndNameWrapper = \"ProjectDetailsProviders__providerPanelImageAndNameWrapper__bRySq\";\nexport var providerTable = \"ProjectDetailsProviders__providerTable__sABev\";\nexport var providerTableHead = \"ProjectDetailsProviders__providerTableHead__wAbdz\";\nexport var providerTableHeadingContainer = \"ProjectDetailsProviders__providerTableHeadingContainer__O4q82\";\nexport var providerTitle = \"ProjectDetailsProviders__providerTitle__uXtOF\";\nexport var providersContentWrapper = \"ProjectDetailsProviders__providersContentWrapper__VgKvh\";\nexport var providersWrapper = \"ProjectDetailsProviders__providersWrapper__xvbAU\";\nexport var quantityText = \"ProjectDetailsProviders__quantityText__bZXOU\";\nexport var roleText = \"ProjectDetailsProviders__roleText__eejPB\";\nexport var row = \"ProjectDetailsProviders__row__jC2aj\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as P from \"../../../../../styleguide/components/Paragraph/P.res.js\";\nimport * as ID from \"../../../../../libs/ID.res.js\";\nimport * as Button from \"../../../../../styleguide/components/Button/Button.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as IconBuilding from \"../../../../../styleguide/icons/IconBuilding.res.js\";\nimport * as Routes_Project from \"../../../../../routes/common/Routes_Project.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectProviderTile from \"../ProjectProviderTile/ProjectProviderTile.res.js\";\nimport * as ProjectDetailsProvidersScss from \"./ProjectDetailsProviders.scss\";\n\nvar css = ProjectDetailsProvidersScss;\n\nfunction providerTextWithCountDistinction(x) {\n  if (x !== 1) {\n    return \" providers\";\n  } else {\n    return \" provider\";\n  }\n}\n\nfunction ProjectDetailsProviders(props) {\n  var providers = props.providers;\n  var userRole = props.userRole;\n  var tmp;\n  switch (userRole) {\n    case \"Provider\" :\n    case \"Visitor\" :\n        tmp = null;\n        break;\n    default:\n      tmp = JsxRuntime.jsx(Button.AsLink.make, {\n            href: Routes_Project.update(props.projectId),\n            size: \"SM\",\n            color: \"Teal\",\n            ghost: true,\n            buttonClassName: css.editButton,\n            children: \"Edit Providers\"\n          });\n  }\n  var tmp$1;\n  switch (userRole) {\n    case \"Provider\" :\n        tmp$1 = \"Your provider has been invited to respond to this project.\";\n        break;\n    case \"Visitor\" :\n        tmp$1 = \"\";\n        break;\n    default:\n      tmp$1 = \"The following providers have been matched to your project. Providers may be added or removed at the discretion of Datacenters.com. Only providers that have accepted to participate are shown.\";\n  }\n  return JsxRuntime.jsxs(\"div\", {\n              children: [\n                JsxRuntime.jsxs(\"div\", {\n                      children: [\n                        JsxRuntime.jsx(\"div\", {\n                              children: JsxRuntime.jsx(\"h2\", {\n                                    children: \"Providers\",\n                                    className: css.providerHeading\n                                  })\n                            }),\n                        tmp\n                      ],\n                      className: css.headingContentWrapper\n                    }),\n                JsxRuntime.jsx(\"p\", {\n                      children: tmp$1,\n                      className: css.roleText\n                    }),\n                JsxRuntime.jsx(\"div\", {\n                      children: providers.length !== 0 ? Belt_Array.map(providers, (function (provider) {\n                                return JsxRuntime.jsx(ProjectProviderTile.make, {\n                                            provider: provider\n                                          }, ID.toString(provider.id) + \"-Provider-Selection-Tile\");\n                              })) : JsxRuntime.jsxs(\"div\", {\n                              children: [\n                                JsxRuntime.jsx(IconBuilding.make, {\n                                      size: \"XXXXXL\",\n                                      color: \"Teal\"\n                                    }),\n                                JsxRuntime.jsx(P.make, {\n                                      children: \"Providers are still reviewing this project and acceptance is pending.\"\n                                    })\n                              ],\n                              className: css.emptyProviders\n                            }),\n                      className: css.providersWrapper\n                    })\n              ],\n              className: css.providersContentWrapper\n            });\n}\n\nvar make = ProjectDetailsProviders;\n\nexport {\n  css ,\n  providerTextWithCountDistinction ,\n  make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Belt_Result from \"rescript/lib/es6/belt_Result.js\";\nimport * as 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              diskType: field.required(\"diskType\", Json_Decode$JsonCombinators.string),\n              diskSize: field.required(\"diskSize\", Json_Decode$JsonCombinators.string),\n              maxIops: field.required(\"maxIops\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.$$int)),\n              throughput: field.required(\"throughput\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.$$int)),\n              throughputUnit: field.required(\"throughputUnit\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.string)),\n              description: field.required(\"description\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.string))\n            };\n    });\n\nfunction fromJson(json) {\n  return Belt_Result.getExn(Json$JsonCombinators.decode(json, decoder));\n}\n\nexport {\n  decoder ,\n  fromJson ,\n}\n/* decoder Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as 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              vmNumber: field.required(\"vmNumber\", Json_Decode$JsonCombinators.$$int),\n              cpu: field.required(\"cpu\", Json_Decode$JsonCombinators.$$int),\n              ram: field.required(\"ram\", Json_Decode$JsonCombinators.string),\n              operatingSystem: field.required(\"operatingSystem\", Json_Decode$JsonCombinators.string),\n              image: field.required(\"image\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.string)),\n              hypervisor: field.required(\"hypervisor\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.string)),\n              database: field.required(\"database\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.string)),\n              region: field.required(\"region\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.string)),\n              types: field.required(\"type\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.string)),\n              description: field.required(\"description\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.string)),\n              visibility: field.required(\"visibility\", Json_Decode$JsonCombinators.string),\n              availability: field.required(\"availability\", Json_Decode$JsonCombinators.string)\n            };\n    });\n\nfunction fromJson(json) {\n  return Belt_Result.getExn(Json$JsonCombinators.decode(json, decoder));\n}\n\nexport {\n  decoder ,\n  fromJson ,\n}\n/* decoder Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as $$Date from \"../libs/Date.res.js\";\nimport * as Belt_Result from \"rescript/lib/es6/belt_Result.js\";\nimport * as CloudServerVolume from \"./CloudServerVolume.res.js\";\nimport * as CloudServerInstance from \"./CloudServerInstance.res.js\";\nimport * as Json$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json.res.js\";\nimport * as Json_Decode$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json_Decode.res.js\";\n\nvar decoder = Json_Decode$JsonCombinators.object(function (field) {\n      return {\n              startDate: field.required(\"startDate\", Json_Decode$JsonCombinators.option($$Date.Naive.decoder)),\n              contractLength: field.required(\"contractLength\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.$$int)),\n              serverInstances: field.required(\"serverInstances\", Json_Decode$JsonCombinators.option(CloudServerInstance.decoder)),\n              volumes: field.required(\"volumes\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.array(CloudServerVolume.decoder))),\n              features: field.required(\"features\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string))),\n              certifications: field.required(\"certifications\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string))),\n              billingTypes: field.required(\"billingTypes\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string))),\n              additionalRequirements: field.required(\"additionalRequirements\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.string))\n            };\n    });\n\nfunction fromJson(json) {\n  return Belt_Result.getExn(Json$JsonCombinators.decode(json, decoder));\n}\n\nexport {\n  decoder ,\n  fromJson ,\n}\n/* decoder Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as $$Date from \"../libs/Date.res.js\";\nimport * as Project from \"./Project.res.js\";\nimport * as Belt_Result from \"rescript/lib/es6/belt_Result.js\";\nimport * as UserContact from \"./UserContact.res.js\";\nimport * as ProviderForProject from \"./ProviderForProject.res.js\";\nimport * as Json$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json.res.js\";\nimport * as Json_Decode$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json_Decode.res.js\";\nimport * as CloudIaasServerConfiguration from \"./CloudIaasServerConfiguration.res.js\";\n\nvar decoder = Json_Decode$JsonCombinators.object(function (field) {\n      return {\n              id: field.required(\"id\", Project.Id.decoder),\n              title: field.required(\"title\", Json_Decode$JsonCombinators.string),\n              description: field.required(\"description\", Json_Decode$JsonCombinators.string),\n              category: field.required(\"category\", Json_Decode$JsonCombinators.string),\n              status: field.required(\"status\", Project.Status.decoder),\n              totalProviders: field.required(\"totalProviders\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.$$int)),\n              totalProposals: field.required(\"totalProposals\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.$$int)),\n              startDate: field.required(\"startDate\", $$Date.Naive.decoder),\n              endDate: field.required(\"endDate\", $$Date.Naive.decoder),\n              isAgent: field.required(\"isAgent\", Json_Decode$JsonCombinators.bool),\n              businessName: field.required(\"businessName\", Json_Decode$JsonCombinators.string),\n              businessContactName: field.required(\"businessContactName\", Json_Decode$JsonCombinators.string),\n              headquartersAddress: field.required(\"headquartersAddress\", Json_Decode$JsonCombinators.string),\n              businessEmail: field.required(\"businessEmail\", Json_Decode$JsonCombinators.string),\n              businessPhone: field.required(\"businessPhone\", Json_Decode$JsonCombinators.string),\n              createdAt: field.required(\"createdAt\", $$Date.Naive.decoder),\n              updatedAt: field.required(\"updatedAt\", $$Date.Naive.decoder),\n              owner: field.required(\"owner\", Project.Owner.decoder),\n              contacts: field.required(\"contacts\", Json_Decode$JsonCombinators.array(UserContact.decoder)),\n              documents: field.required(\"documents\", Json_Decode$JsonCombinators.array(Project.$$Document.decoder)),\n              cloudIaasServersConfigurations: field.required(\"cloudIaasServersConfigurations\", Json_Decode$JsonCombinators.array(CloudIaasServerConfiguration.decoder)),\n              providers: field.required(\"providers\", Json_Decode$JsonCombinators.array(ProviderForProject.decoder))\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","// extracted by mini-css-extract-plugin\nexport var cloudHeader = \"UserCloudIaasServerProject__cloudHeader__pQfHA\";\nexport var column = \"UserCloudIaasServerProject__column__vzJZT\";\nexport var container = \"UserCloudIaasServerProject__container__wmhmu\";\nexport var contentWrapper = \"UserCloudIaasServerProject__contentWrapper__PYnnA\";\nexport var flex = \"UserCloudIaasServerProject__flex__HHQgQ\";\nexport var flexColumn = \"UserCloudIaasServerProject__flexColumn__GH3dv\";\nexport var gap1 = \"UserCloudIaasServerProject__gap1__snqdv\";\nexport var gap2 = \"UserCloudIaasServerProject__gap2__kMckq\";\nexport var gap3 = \"UserCloudIaasServerProject__gap3__xV5pm\";\nexport var gap4 = \"UserCloudIaasServerProject__gap4__c0LTc\";\nexport var gap5 = \"UserCloudIaasServerProject__gap5__mHYjy\";\nexport var row = \"UserCloudIaasServerProject__row__y5wYd\";\nexport var tag = \"UserCloudIaasServerProject__tag__mF8KZ\";","// extracted by mini-css-extract-plugin\nexport var colLeft = \"UserCloudIaasServerProject_Details__colLeft__nr1W9\";\nexport var colRight = \"UserCloudIaasServerProject_Details__colRight__G8ZkI\";\nexport var column = \"UserCloudIaasServerProject_Details__column__YldRi\";\nexport var columnWrapper = \"UserCloudIaasServerProject_Details__columnWrapper__o__hV\";\nexport var descriptionContent = \"UserCloudIaasServerProject_Details__descriptionContent__C8ms1\";\nexport var descriptionHeading = \"UserCloudIaasServerProject_Details__descriptionHeading__PneEQ\";\nexport var flex = \"UserCloudIaasServerProject_Details__flex__YbDP2\";\nexport var flexColumn = \"UserCloudIaasServerProject_Details__flexColumn__KSn03\";\nexport var gap1 = \"UserCloudIaasServerProject_Details__gap1__cW6fX\";\nexport var gap2 = \"UserCloudIaasServerProject_Details__gap2__G2KuB\";\nexport var gap3 = \"UserCloudIaasServerProject_Details__gap3__WZivp\";\nexport var gap4 = \"UserCloudIaasServerProject_Details__gap4__YkiM0\";\nexport var gap5 = \"UserCloudIaasServerProject_Details__gap5__nVOr3\";\nexport var lastUpdated = \"UserCloudIaasServerProject_Details__lastUpdated__yxHg0\";\nexport var reviewStatusWarning = \"UserCloudIaasServerProject_Details__reviewStatusWarning__vEfE_\";\nexport var row = \"UserCloudIaasServerProject_Details__row__QsZeY\";","// extracted by mini-css-extract-plugin\nexport var additionalNotes = \"UserCloudIaasServerProject_Details_RequiredProducts__additionalNotes__yWlxd\";\nexport var checkboxes = \"UserCloudIaasServerProject_Details_RequiredProducts__checkboxes__HGJAS\";\nexport var checkboxesContainer = \"UserCloudIaasServerProject_Details_RequiredProducts__checkboxesContainer__cYLxE\";\nexport var column = \"UserCloudIaasServerProject_Details_RequiredProducts__column__QqOLv\";\nexport var description = \"UserCloudIaasServerProject_Details_RequiredProducts__description__G7Fyg\";\nexport var descriptionHeading = \"UserCloudIaasServerProject_Details_RequiredProducts__descriptionHeading__UIGZL\";\nexport var flex = \"UserCloudIaasServerProject_Details_RequiredProducts__flex__L5eAy\";\nexport var flexColumn = \"UserCloudIaasServerProject_Details_RequiredProducts__flexColumn__nby1N\";\nexport var gap1 = \"UserCloudIaasServerProject_Details_RequiredProducts__gap1__HkbrN\";\nexport var gap2 = \"UserCloudIaasServerProject_Details_RequiredProducts__gap2__Nld1K\";\nexport var gap3 = \"UserCloudIaasServerProject_Details_RequiredProducts__gap3__YghBq\";\nexport var gap4 = \"UserCloudIaasServerProject_Details_RequiredProducts__gap4__DIweI\";\nexport var gap5 = \"UserCloudIaasServerProject_Details_RequiredProducts__gap5__IrMz9\";\nexport var lightBackground = \"UserCloudIaasServerProject_Details_RequiredProducts__lightBackground__xqP11\";\nexport var notesContainer = \"UserCloudIaasServerProject_Details_RequiredProducts__notesContainer__oEU8S\";\nexport var panel = \"UserCloudIaasServerProject_Details_RequiredProducts__panel__eZ8Ek\";\nexport var panelBody = \"UserCloudIaasServerProject_Details_RequiredProducts__panelBody__a7udv\";\nexport var panelHeading = \"UserCloudIaasServerProject_Details_RequiredProducts__panelHeading__zqfwz\";\nexport var productName = \"UserCloudIaasServerProject_Details_RequiredProducts__productName__FbS94\";\nexport var productRow = \"UserCloudIaasServerProject_Details_RequiredProducts__productRow__P0jHB\";\nexport var productServiceLabel = \"UserCloudIaasServerProject_Details_RequiredProducts__productServiceLabel__uYA05\";\nexport var productServiceValue = \"UserCloudIaasServerProject_Details_RequiredProducts__productServiceValue__ea2B7\";\nexport var productsServiceWrapper = \"UserCloudIaasServerProject_Details_RequiredProducts__productsServiceWrapper__hLHGa\";\nexport var propertiesContainer = \"UserCloudIaasServerProject_Details_RequiredProducts__propertiesContainer__aG8kj\";\nexport var propertyLeft = \"UserCloudIaasServerProject_Details_RequiredProducts__propertyLeft__gKpFO\";\nexport var propertyRight = \"UserCloudIaasServerProject_Details_RequiredProducts__propertyRight__fqcrx\";\nexport var row = \"UserCloudIaasServerProject_Details_RequiredProducts__row__sUGXv\";\nexport var stayShaded = \"UserCloudIaasServerProject_Details_RequiredProducts__stayShaded__XNpMJ\";\nexport var switchLight = \"UserCloudIaasServerProject_Details_RequiredProducts__switchLight__Q8rO9\";\nexport var switchShaded = \"UserCloudIaasServerProject_Details_RequiredProducts__switchShaded__gIGB7\";\nexport var tickmarkIcon = \"UserCloudIaasServerProject_Details_RequiredProducts__tickmarkIcon__I28PX\";\nexport var withColon = \"UserCloudIaasServerProject_Details_RequiredProducts__withColon__qGXHh\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as UserCloudIaasServerProject_Details_RequiredProductsScss from \"./UserCloudIaasServerProject_Details_RequiredProducts.scss\";\n\nvar css = UserCloudIaasServerProject_Details_RequiredProductsScss;\n\nfunction UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription(props) {\n  return JsxRuntime.jsxs(\"div\", {\n              children: [\n                JsxRuntime.jsx(\"p\", {\n                      children: props.label,\n                      className: Cx.cx([\n                            css.productServiceLabel,\n                            css.withColon\n                          ])\n                    }),\n                JsxRuntime.jsx(\"p\", {\n                      children: props.value,\n                      className: css.productServiceValue\n                    })\n              ],\n              className: css.productsServiceWrapper\n            });\n}\n\nvar make = UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription;\n\nexport {\n  css ,\n  make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as UserCloudIaasServerProject_Details_RequiredProductsScss from \"./UserCloudIaasServerProject_Details_RequiredProducts.scss\";\nimport * as UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription from \"./UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription.res.js\";\n\nvar css = UserCloudIaasServerProject_Details_RequiredProductsScss;\n\nfunction UserCloudIaasServerProject_Details_RequiredProducts_Volume(props) {\n  var volume = props.volume;\n  var iops = volume.maxIops;\n  var match = volume.throughput;\n  var match$1 = volume.throughputUnit;\n  var description = volume.description;\n  return JsxRuntime.jsxs(\"div\", {\n              children: [\n                JsxRuntime.jsx(\"p\", {\n                      children: \"Volume #\" + String(props.index + 1 | 0),\n                      className: css.productName\n                    }),\n                JsxRuntime.jsxs(\"div\", {\n                      children: [\n                        JsxRuntime.jsx(\"div\", {\n                              children: JsxRuntime.jsx(UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription.make, {\n                                    label: \"Disk/Storage Type\",\n                                    value: volume.diskType\n                                  }),\n                              className: Cx.cx([\n                                    css.propertyLeft,\n                                    css.stayShaded\n                                  ])\n                            }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: JsxRuntime.jsx(UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription.make, {\n                                    label: \"Disk/Storage Size\",\n                                    value: volume.diskSize\n                                  }),\n                              className: Cx.cx([\n                                    css.propertyRight,\n                                    css.switchShaded\n                                  ])\n                            }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: JsxRuntime.jsx(UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription.make, {\n                                    label: \"Max IOPS\",\n                                    value: iops !== undefined ? String(iops) + \" GB\" : \"\"\n                                  }),\n                              className: Cx.cx([\n                                    css.propertyRight,\n                                    css.switchLight\n                                  ])\n                            }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: JsxRuntime.jsx(UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription.make, {\n                                    label: \"Throughput\",\n                                    value: match !== undefined && match$1 !== undefined ? String(match) + (\" \" + match$1) : \"\"\n                                  }),\n                              className: Cx.cx([\n                                    css.propertyLeft,\n                                    css.stayShaded\n                                  ])\n                            }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: JsxRuntime.jsx(UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription.make, {\n                                    label: \"Description\",\n                                    value: description !== undefined ? description : \"\"\n                                  }),\n                              className: Cx.cx([\n                                    css.propertyRight,\n                                    css.switchShaded\n                                  ])\n                            })\n                      ],\n                      className: css.propertiesContainer\n                    })\n              ]\n            });\n}\n\nvar make = UserCloudIaasServerProject_Details_RequiredProducts_Volume;\n\nexport {\n  css ,\n  make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as $$Date from \"../../../../libs/Date.res.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectRequiredProducts_CheckmarkableOptions from \"../_components/ProjectRequiredProducts/ProjectRequiredProducts_CheckmarkableOptions.res.js\";\nimport * as UserCloudIaasServerProject_Details_RequiredProductsScss from \"./UserCloudIaasServerProject_Details_RequiredProducts.scss\";\nimport * as UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription from \"./UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription.res.js\";\n\nvar css = UserCloudIaasServerProject_Details_RequiredProductsScss;\n\nfunction getContractLengthText(contractLength) {\n  var years = contractLength / 12 | 0;\n  return String(years) + (\n          years > 1 ? \" years\" : \" year\"\n        );\n}\n\nfunction UserCloudIaasServerProject_Details_RequiredProducts_ServerInstance$CheckmarkableOptionsWithHeading(props) {\n  var options = props.options;\n  if (options.length !== 0) {\n    return JsxRuntime.jsx(\"div\", {\n                children: JsxRuntime.jsx(\"div\", {\n                      children: JsxRuntime.jsx(ProjectRequiredProducts_CheckmarkableOptions.make, {\n                            options: options,\n                            cssStart: \"StayShaded\"\n                          }),\n                      className: css.checkboxes\n                    }),\n                className: css.propertiesContainer\n              });\n  } else {\n    return null;\n  }\n}\n\nvar CheckmarkableOptionsWithHeading = {\n  make: UserCloudIaasServerProject_Details_RequiredProducts_ServerInstance$CheckmarkableOptionsWithHeading\n};\n\nfunction UserCloudIaasServerProject_Details_RequiredProducts_ServerInstance(props) {\n  var startDate = props.startDate;\n  var contractLength = props.contractLength;\n  var serverInstance = props.serverInstance;\n  var image = serverInstance.image;\n  var hypervisor = serverInstance.hypervisor;\n  var db = serverInstance.database;\n  var region = serverInstance.region;\n  var types = serverInstance.types;\n  var description = serverInstance.description;\n  return JsxRuntime.jsxs(\"div\", {\n              children: [\n                JsxRuntime.jsx(\"p\", {\n                      children: \"Server Instances\",\n                      className: css.productName\n                    }),\n                JsxRuntime.jsxs(\"div\", {\n                      children: [\n                        JsxRuntime.jsx(\"div\", {\n                              children: JsxRuntime.jsx(UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription.make, {\n                                    label: \"Quantity\",\n                                    value: String(serverInstance.vmNumber)\n                                  }),\n                              className: Cx.cx([\n                                    css.propertyLeft,\n                                    css.stayShaded\n                                  ])\n                            }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: JsxRuntime.jsx(UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription.make, {\n                                    label: \"vCPUs\",\n                                    value: String(serverInstance.cpu)\n                                  }),\n                              className: Cx.cx([\n                                    css.propertyRight,\n                                    css.switchShaded\n                                  ])\n                            }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: JsxRuntime.jsx(UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription.make, {\n                                    label: \"RAM\",\n                                    value: serverInstance.ram\n                                  }),\n                              className: Cx.cx([\n                                    css.propertyLeft,\n                                    css.switchLight\n                                  ])\n                            }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: JsxRuntime.jsx(UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription.make, {\n                                    label: \"Operating System\",\n                                    value: serverInstance.operatingSystem\n                                  }),\n                              className: Cx.cx([\n                                    css.propertyRight,\n                                    css.stayLight\n                                  ])\n                            }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: JsxRuntime.jsx(UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription.make, {\n                                    label: \"Image\",\n                                    value: image !== undefined ? image : \"\"\n                                  }),\n                              className: Cx.cx([\n                                    css.propertyLeft,\n                                    css.stayShaded\n                                  ])\n                            }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: JsxRuntime.jsx(UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription.make, {\n                                    label: \"Hypervisor\",\n                                    value: hypervisor !== undefined ? hypervisor : \"\"\n                                  }),\n                              className: Cx.cx([\n                                    css.propertyRight,\n                                    css.switchShaded\n                                  ])\n                            }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: JsxRuntime.jsx(UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription.make, {\n                                    label: \"Database\",\n                                    value: db !== undefined ? db : \"\"\n                                  }),\n                              className: Cx.cx([\n                                    css.propertyLeft,\n                                    css.switchLight\n                                  ])\n                            }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: JsxRuntime.jsx(UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription.make, {\n                                    label: \"Region\",\n                                    value: region !== undefined ? region : \"\"\n                                  }),\n                              className: Cx.cx([\n                                    css.propertyRight,\n                                    css.stayLight\n                                  ])\n                            }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: JsxRuntime.jsx(UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription.make, {\n                                    label: \"Start Date\",\n                                    value: startDate !== undefined ? $$Date.Naive.format(Caml_option.valFromOption(startDate), \"dd MMM yyyy\") : \"\"\n                                  }),\n                              className: Cx.cx([\n                                    css.propertyLeft,\n                                    css.stayShaded\n                                  ])\n                            }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: JsxRuntime.jsx(UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription.make, {\n                                    label: \"Reservation Term\",\n                                    value: contractLength !== undefined ? getContractLengthText(contractLength) : \"\"\n                                  }),\n                              className: Cx.cx([\n                                    css.propertyRight,\n                                    css.switchShaded\n                                  ])\n                            }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: JsxRuntime.jsx(UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription.make, {\n                                    label: \"Type\",\n                                    value: types !== undefined ? types : \"\"\n                                  }),\n                              className: Cx.cx([\n                                    css.propertyLeft,\n                                    css.switchLight\n                                  ])\n                            }),\n                        JsxRuntime.jsx(UserCloudIaasServerProject_Details_RequiredProducts_ServerInstance$CheckmarkableOptionsWithHeading, {\n                              options: [\n                                serverInstance.visibility,\n                                serverInstance.availability\n                              ]\n                            }),\n                        JsxRuntime.jsx(\"div\", {\n                              children: JsxRuntime.jsx(UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription.make, {\n                                    label: \"Description\",\n                                    value: description !== undefined ? description : \"\"\n                                  }),\n                              className: Cx.cx([\n                                    css.description,\n                                    css.stayLight\n                                  ])\n                            })\n                      ],\n                      className: css.propertiesContainer\n                    })\n              ]\n            });\n}\n\nvar make = UserCloudIaasServerProject_Details_RequiredProducts_ServerInstance;\n\nexport {\n  css ,\n  getContractLengthText ,\n  CheckmarkableOptionsWithHeading ,\n  make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as UserProjectDetailsPanel from \"../_components/UserProjectDetailsPanel/UserProjectDetailsPanel.res.js\";\nimport * as ProjectRequiredProducts_CheckmarkableOptions from \"../_components/ProjectRequiredProducts/ProjectRequiredProducts_CheckmarkableOptions.res.js\";\nimport * as UserCloudIaasServerProject_Details_RequiredProductsScss from \"./UserCloudIaasServerProject_Details_RequiredProducts.scss\";\nimport * as UserCloudIaasServerProject_Details_RequiredProducts_Volume from \"./UserCloudIaasServerProject_Details_RequiredProducts_Volume.res.js\";\nimport * as UserCloudIaasServerProject_Details_RequiredProducts_ServerInstance from \"./UserCloudIaasServerProject_Details_RequiredProducts_ServerInstance.res.js\";\n\nvar css = UserCloudIaasServerProject_Details_RequiredProductsScss;\n\nfunction panelHeading(configuration) {\n  var instance = configuration.serverInstances;\n  if (instance !== undefined) {\n    return JsxRuntime.jsx(\"h4\", {\n                children: String(instance.vmNumber) + (\" x \" + (String(instance.cpu) + ((\n                        instance.cpu > 1 ? \" vCPUs, \" : \" vCPU, \"\n                      ) + (instance.ram + (\" RAM, \" + (instance.operatingSystem + (\", \" + (instance.visibility + (\", \" + instance.availability))))))))),\n                className: css.panelHeading\n              });\n  } else {\n    return JsxRuntime.jsx(\"h4\", {\n                children: \"\"\n              });\n  }\n}\n\nfunction UserCloudIaasServerProject_Details_RequiredProducts_ProductPanel$CheckmarkableOptionsWithHeading(props) {\n  var options = props.options;\n  if (options !== undefined && options.length !== 0) {\n    return JsxRuntime.jsxs(\"div\", {\n                children: [\n                  JsxRuntime.jsx(\"p\", {\n                        children: props.heading,\n                        className: css.productName\n                      }),\n                  JsxRuntime.jsx(\"div\", {\n                        children: JsxRuntime.jsx(ProjectRequiredProducts_CheckmarkableOptions.make, {\n                              options: options\n                            }),\n                        className: css.checkboxes\n                      })\n                ],\n                className: css.checkboxesContainer\n              });\n  } else {\n    return null;\n  }\n}\n\nvar CheckmarkableOptionsWithHeading = {\n  make: UserCloudIaasServerProject_Details_RequiredProducts_ProductPanel$CheckmarkableOptionsWithHeading\n};\n\nfunction UserCloudIaasServerProject_Details_RequiredProducts_ProductPanel(props) {\n  var __isExpanded = props.isExpanded;\n  var configuration = props.configuration;\n  var isExpanded = __isExpanded !== undefined ? __isExpanded : false;\n  var instance = configuration.serverInstances;\n  var volumes = configuration.volumes;\n  var notes = configuration.additionalRequirements;\n  return JsxRuntime.jsx(UserProjectDetailsPanel.make, {\n              className: css.panel,\n              heading: panelHeading(configuration),\n              isExpanded: isExpanded,\n              children: JsxRuntime.jsxs(\"div\", {\n                    children: [\n                      instance !== undefined ? JsxRuntime.jsx(UserCloudIaasServerProject_Details_RequiredProducts_ServerInstance.make, {\n                              serverInstance: instance,\n                              contractLength: configuration.contractLength,\n                              startDate: configuration.startDate\n                            }) : \"\",\n                      volumes !== undefined ? Belt_Array.mapWithIndex(volumes, (function (index, volume) {\n                                return JsxRuntime.jsx(UserCloudIaasServerProject_Details_RequiredProducts_Volume.make, {\n                                            volume: volume,\n                                            index: index\n                                          }, String(index));\n                              })) : null,\n                      JsxRuntime.jsx(UserCloudIaasServerProject_Details_RequiredProducts_ProductPanel$CheckmarkableOptionsWithHeading, {\n                            heading: \"Features\",\n                            options: configuration.features\n                          }),\n                      JsxRuntime.jsx(UserCloudIaasServerProject_Details_RequiredProducts_ProductPanel$CheckmarkableOptionsWithHeading, {\n                            heading: \"Certifications\",\n                            options: configuration.certifications\n                          }),\n                      JsxRuntime.jsx(UserCloudIaasServerProject_Details_RequiredProducts_ProductPanel$CheckmarkableOptionsWithHeading, {\n                            heading: \"Billing Types\",\n                            options: configuration.billingTypes\n                          }),\n                      notes !== undefined ? JsxRuntime.jsxs(\"div\", {\n                              children: [\n                                JsxRuntime.jsx(\"p\", {\n                                      children: \"Custom Note or Requirements\",\n                                      className: css.productName\n                                    }),\n                                JsxRuntime.jsx(\"p\", {\n                                      children: notes,\n                                      className: css.additionalNotes\n                                    })\n                              ],\n                              className: css.propertiesContainer\n                            }) : null\n                    ],\n                    className: css.panelBody\n                  })\n            });\n}\n\nvar make = UserCloudIaasServerProject_Details_RequiredProducts_ProductPanel;\n\nexport {\n  css ,\n  panelHeading ,\n  CheckmarkableOptionsWithHeading ,\n  make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as P from \"../../../../styleguide/components/Paragraph/P.res.js\";\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport Format from \"date-fns/format\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectEstimatedDates from \"../_components/ProjectEstimatedDates/ProjectEstimatedDates.res.js\";\nimport * as ProjectDetailsProviders from \"../_components/ProjectDetailsProviders/ProjectDetailsProviders.res.js\";\nimport * as UserProjectDetailsOwner from \"../_components/UserProjectDetailsOwner/UserProjectDetailsOwner.res.js\";\nimport * as UserProjectDetailsDocuments from \"../_components/UserProjectDetailsDocuments/UserProjectDetailsDocuments.res.js\";\nimport * as UserProjectConciergesInformation from \"../_components/UserProjectDetailsContactInformation/UserProjectConciergesInformation.res.js\";\nimport * as UserProjectDetailsContactInformation from \"../_components/UserProjectDetailsContactInformation/UserProjectDetailsContactInformation.res.js\";\nimport * as UserCloudIaasServerProject_DetailsScss from \"./UserCloudIaasServerProject_Details.scss\";\nimport * as UserProjectDetailsBusinessContactInformation from \"../_components/UserProjectDetailsContactInformation/UserProjectDetailsBusinessContactInformation.res.js\";\nimport * as UserCloudIaasServerProject_Details_RequiredProducts_ProductPanel from \"./UserCloudIaasServerProject_Details_RequiredProducts_ProductPanel.res.js\";\n\nvar css = UserCloudIaasServerProject_DetailsScss;\n\nfunction UserCloudIaasServerProject_Details(props) {\n  var project = props.project;\n  var match = project.status;\n  var tmp;\n  tmp = match === \"Review\" ? JsxRuntime.jsxs(\"p\", {\n          children: [\n            \"NOTE: Please be advised that this project is in review. \",\n            \"A member of Datacenters.com will reach out to discuss this project before \",\n            \"it becomes active.\"\n          ],\n          className: Cx.cx([\n                css.reviewStatusWarning,\n                \"mb-4\"\n              ])\n        }) : null;\n  return JsxRuntime.jsxs(JsxRuntime.Fragment, {\n              children: [\n                JsxRuntime.jsxs(\"div\", {\n                      children: [\n                        JsxRuntime.jsxs(\"div\", {\n                              children: [\n                                JsxRuntime.jsx(\"h2\", {\n                                      children: \"Description\",\n                                      className: css.descriptionHeading\n                                    }),\n                                tmp,\n                                JsxRuntime.jsx(P.make, {\n                                      children: project.description\n                                    }),\n                                JsxRuntime.jsx(P.make, {\n                                      children: \"Project Last Updated \" + Format(project.updatedAt, \"MMM dd, yyyy, h:mm a\")\n                                    }),\n                                JsxRuntime.jsx(\"h2\", {\n                                      children: \"Required Products\",\n                                      className: css.descriptionHeading\n                                    }),\n                                Belt_Array.mapWithIndex(project.cloudIaasServersConfigurations, (function (index, configuration) {\n                                        return JsxRuntime.jsx(UserCloudIaasServerProject_Details_RequiredProducts_ProductPanel.make, {\n                                                    configuration: configuration,\n                                                    isExpanded: index === 0\n                                                  }, String(index));\n                                      })),\n                                project.documents.length !== 0 ? JsxRuntime.jsx(UserProjectDetailsDocuments.make, {\n                                        documents: project.documents,\n                                        projectId: project.id\n                                      }) : null\n                              ],\n                              className: css.colLeft\n                            }),\n                        JsxRuntime.jsxs(\"div\", {\n                              children: [\n                                JsxRuntime.jsx(ProjectEstimatedDates.make, {\n                                      estimatedDates: props.estimatedDates\n                                    }),\n                                JsxRuntime.jsx(UserProjectDetailsOwner.make, {\n                                      owner: project.owner,\n                                      isAgent: project.isAgent\n                                    }),\n                                project.contacts.length !== 0 ? JsxRuntime.jsx(UserProjectDetailsContactInformation.make, {\n                                        contacts: project.contacts\n                                      }) : null,\n                                JsxRuntime.jsx(UserProjectDetailsBusinessContactInformation.make, {\n                                      businessName: project.businessName,\n                                      businessEmail: project.businessEmail,\n                                      businessPhone: project.businessPhone,\n                                      businessContactName: project.businessContactName,\n                                      headquartersAddress: project.headquartersAddress\n                                    }),\n                                JsxRuntime.jsx(UserProjectConciergesInformation.make, {\n                                      concierges: props.concierges\n                                    })\n                              ],\n                              className: css.colRight\n                            })\n                      ],\n                      className: css.columnWrapper\n                    }),\n                JsxRuntime.jsx(ProjectDetailsProviders.make, {\n                      projectId: project.id,\n                      userRole: props.userRole,\n                      providers: project.providers\n                    })\n              ]\n            });\n}\n\nvar make = UserCloudIaasServerProject_Details;\n\nexport {\n  css ,\n  make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Tag from \"../../../../styleguide/components/Tag/Tag.res.js\";\nimport * as Project from \"../../../../models/Project.res.js\";\nimport * as ProjectHeader from \"../_components/ProjectHeader/ProjectHeader.res.js\";\nimport * as ProjectNavbar from \"../_components/ProjectNavbar/ProjectNavbar.res.js\";\nimport * as ProjectStickyBar from \"../_components/ProjectStickyBar/ProjectStickyBar.res.js\";\nimport * as ProjectTopNavbar from \"../_components/ProjectTopNavbar/ProjectTopNavbar.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as UserCloudIaasServerProjectScss from \"./UserCloudIaasServerProject.scss\";\nimport * as UserCloudIaasServerProject_Details from \"./UserCloudIaasServerProject_Details.res.js\";\n\nvar css = UserCloudIaasServerProjectScss;\n\nfunction UserCloudIaasServerProject(props) {\n  var projectStickyBarData = props.projectStickyBarData;\n  var userRole = props.userRole;\n  var viewContext = props.viewContext;\n  var project = props.project;\n  var stickyBarUserRole = Project.Role.toRole(projectStickyBarData.userProjectRole);\n  if (userRole === \"Visitor\") {\n    return null;\n  }\n  var total = project.totalProposals;\n  return JsxRuntime.jsxs(\"div\", {\n              children: [\n                JsxRuntime.jsx(ProjectTopNavbar.make, {\n                      viewContext: viewContext,\n                      userRole: userRole,\n                      projectStickyBarData: projectStickyBarData\n                    }),\n                JsxRuntime.jsxs(\"div\", {\n                      children: [\n                        JsxRuntime.jsx(Tag.make, {\n                              text: \"Cloud: IaaS Servers\",\n                              className: css.tag\n                            }),\n                        JsxRuntime.jsx(ProjectHeader.make, {\n                              title: project.title,\n                              businessName: project.businessName,\n                              userRole: stickyBarUserRole,\n                              projectId: project.id,\n                              viewContext: viewContext,\n                              className: css.cloudHeader,\n                              projectStatus: projectStickyBarData.project.status\n                            }),\n                        JsxRuntime.jsx(ProjectNavbar.make, {\n                              activeTab: \"Details\",\n                              userRole: stickyBarUserRole,\n                              projectId: project.id,\n                              totalProposals: total !== undefined ? total : 0,\n                              viewContext: viewContext\n                            }),\n                        JsxRuntime.jsx(UserCloudIaasServerProject_Details.make, {\n                              project: project,\n                              concierges: props.concierges,\n                              userRole: stickyBarUserRole,\n                              estimatedDates: props.estimatedDates\n                            }),\n                        JsxRuntime.jsx(ProjectStickyBar.make, {\n                              userRole: stickyBarUserRole,\n                              projectStickyBarData: projectStickyBarData,\n                              canSendProposals: props.canSendProposals,\n                              viewContext: viewContext,\n                              desktop: props.desktop,\n                              tablet: props.tablet,\n                              mobile: props.mobile\n                            })\n                      ],\n                      className: css.contentWrapper\n                    })\n              ],\n              className: css.container\n            });\n}\n\nvar make = UserCloudIaasServerProject;\n\nexport {\n  css ,\n  make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as User from \"../../../../models/User.res.js\";\nimport * as React from \"react\";\nimport * as Project from \"../../../../models/Project.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as RailsContext from \"../../../../models/RailsContext.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectsViewContext from \"../../../../models/ProjectsViewContext.res.js\";\nimport * as ProjectStickyBarData from \"../_components/ProjectStickyBar/ProjectStickyBarData.res.js\";\nimport * as CloudIaasServerProject from \"../../../../models/CloudIaasServerProject.res.js\";\nimport * as UserCloudIaasServerProject from \"./UserCloudIaasServerProject.res.js\";\n\nfunction UserCloudIaasServerProject__JsBridge$default(props) {\n  var railsContext = props.railsContext;\n  var jsProps = props.jsProps;\n  var railsContext$1 = React.useMemo((function () {\n          return RailsContext.fromJson(railsContext);\n        }), [railsContext]);\n  var project = React.useMemo((function () {\n          return CloudIaasServerProject.fromJson(jsProps.project);\n        }), [jsProps.project]);\n  var viewContext = React.useMemo((function () {\n          return ProjectsViewContext.fromString(jsProps.viewContext);\n        }), [jsProps.viewContext]);\n  var projectStickyBarData = React.useMemo((function () {\n          return ProjectStickyBarData.fromJson(jsProps.projectStickyBar);\n        }), [jsProps.projectStickyBar]);\n  var concierges = React.useMemo((function () {\n          return Belt_Array.map(jsProps.concierges, User.fromJson);\n        }), [jsProps.concierges]);\n  var estimatedDates = React.useMemo((function () {\n          return Project.EstimatedDates.fromJson(jsProps.estimatedDates);\n        }), [jsProps.estimatedDates]);\n  return JsxRuntime.jsx(UserCloudIaasServerProject.make, {\n              project: project,\n              concierges: concierges,\n              canSendProposals: jsProps.canSendProposals,\n              viewContext: viewContext,\n              userRole: railsContext$1.userRole,\n              projectStickyBarData: projectStickyBarData,\n              desktop: railsContext$1.desktop,\n              tablet: railsContext$1.tablet,\n              mobile: railsContext$1.mobile,\n              estimatedDates: estimatedDates\n            });\n}\n\nvar $$default = UserCloudIaasServerProject__JsBridge$default;\n\nexport {\n  $$default as default,\n}\n/* User Not a pure module */\n","import * as React from 'react';\n\nimport UserCloudIaasServerProject from './UserCloudIaasServerProject__JsBridge.res.js';\n\nexport default ({ context, ...props }) => (\n  <UserCloudIaasServerProject jsProps={props} railsContext={context} />\n);\n"],"names":["column","container","flex","flexColumn","gap1","gap2","gap3","gap4","gap5","logo","providerName","row","css","ProjectProviderTileScss","make","props","__className","className","provider","undefined","JsxRuntime","children","alt","name","src","providerImage","Cx","datacentersCountText","editButton","emptyProviders","headingContentWrapper","mapContainer","mapElement","providerDetailRow","providerHeading","providerPanel","providerPanelBody","providerPanelHeadingContainer","providerPanelImageAndNameWrapper","providerTable","providerTableHead","providerTableHeadingContainer","providerTitle","providersContentWrapper","providersWrapper","quantityText","roleText","ProjectDetailsProvidersScss","tmp","tmp$1","providers","userRole","Button","href","Routes_Project","projectId","size","color","ghost","buttonClassName","length","Belt_Array","ProjectProviderTile","ID","id","IconBuilding","P","decoder","Json_Decode$JsonCombinators","field","diskType","required","diskSize","maxIops","throughput","throughputUnit","description","vmNumber","cpu","ram","operatingSystem","image","hypervisor","database","region","types","visibility","availability","startDate","$$Date","contractLength","serverInstances","CloudServerInstance","volumes","CloudServerVolume","features","certifications","billingTypes","additionalRequirements","Project","title","category","status","totalProviders","totalProposals","endDate","isAgent","businessName","businessContactName","headquartersAddress","businessEmail","businessPhone","createdAt","updatedAt","owner","contacts","UserContact","documents","cloudIaasServersConfigurations","CloudIaasServerConfiguration","ProviderForProject","cloudHeader","contentWrapper","tag","colLeft","colRight","columnWrapper","descriptionContent","descriptionHeading","lastUpdated","reviewStatusWarning","additionalNotes","checkboxes","checkboxesContainer","lightBackground","notesContainer","panel","panelBody","panelHeading","productName","productRow","productServiceLabel","productServiceValue","productsServiceWrapper","propertiesContainer","propertyLeft","propertyRight","stayShaded","switchLight","switchShaded","tickmarkIcon","withColon","UserCloudIaasServerProject_Details_RequiredProductsScss","label","value","volume","iops","match","match$1","String","index","UserCloudIaasServerProject_Details_RequiredProducts_ProductServiceDescription","getContractLengthText","years","UserCloudIaasServerProject_Details_RequiredProducts_ServerInstance$CheckmarkableOptionsWithHeading","options","ProjectRequiredProducts_CheckmarkableOptions","cssStart","serverInstance","db","stayLight","format","Caml_option","configuration","instance","UserCloudIaasServerProject_Details_RequiredProducts_ProductPanel$CheckmarkableOptionsWithHeading","heading","__isExpanded","isExpanded","notes","UserProjectDetailsPanel","UserCloudIaasServerProject_Details_RequiredProducts_ServerInstance","UserCloudIaasServerProject_Details_RequiredProducts_Volume","UserCloudIaasServerProject_DetailsScss","project","Format","UserCloudIaasServerProject_Details_RequiredProducts_ProductPanel","UserProjectDetailsDocuments","ProjectEstimatedDates","estimatedDates","UserProjectDetailsOwner","UserProjectDetailsContactInformation","UserProjectDetailsBusinessContactInformation","UserProjectConciergesInformation","concierges","ProjectDetailsProviders","UserCloudIaasServerProjectScss","projectStickyBarData","viewContext","stickyBarUserRole","toRole","userProjectRole","total","ProjectTopNavbar","Tag","text","ProjectHeader","projectStatus","ProjectNavbar","activeTab","UserCloudIaasServerProject_Details","ProjectStickyBar","canSendProposals","desktop","tablet","mobile","$$default","railsContext","jsProps","railsContext$1","React","RailsContext","json","Belt_Result","Json$JsonCombinators","ProjectsViewContext","ProjectStickyBarData","projectStickyBar","User","fromJson","UserCloudIaasServerProject","_ref","context","_objectWithoutProperties","_excluded"],"sourceRoot":""}