{"version":3,"file":"js/rescript-bundles-user-dashboard-projects-user-colocation-rfp-project-40697278151a579f7dff.chunk.js","mappings":"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","sources":["webpack://datacenters/./client/app/bundles/Client/common/global.js","webpack://datacenters/./client/app/rescript/bindings/GoogleMap.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-colocation-rfp-project/UserColocationRfpProject.scss?9170","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-colocation-rfp-project/UserColocationRfpProject_Details.scss?48f3","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-colocation-rfp-project/UserColocationRfpProject_Details_Locations.scss?75ff","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-colocation-rfp-project/UserColocationRfpProject_Details_Locations_Map.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-colocation-rfp-project/UserColocationRfpProject_Details_Locations_ProviderDataCentersLocationPanel.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-colocation-rfp-project/UserColocationRfpProject_Details_Locations.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-colocation-rfp-project/UserColocationRfpProject_Details_RequiredProducts.scss?f9bb","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-colocation-rfp-project/UserColocationRfpProject_Details_RequiredProducts_ProductServiceDescription.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-colocation-rfp-project/UserColocationRfpProject_Details_RequiredProducts_RackDetail.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-colocation-rfp-project/UserColocationRfpProject_Details_RequiredProducts_CrossConnectDetail.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-colocation-rfp-project/UserColocationRfpProject_Details_RequiredProducts_CloudDirectConnectDetail.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-colocation-rfp-project/UserColocationRfpProject_Details_RequiredProducts_InternetConnectivityDetail.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-colocation-rfp-project/UserColocationRfpProject_Details_RequiredProducts_ProductPanel.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-colocation-rfp-project/UserColocationRfpProject_Details.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-colocation-rfp-project/UserColocationRfpProject.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-colocation-rfp-project/UserColocationRfpProject__JsBridge.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/user-colocation-rfp-project/index.js","webpack://datacenters/./client/app/rescript/models/ColocationRfpProjectId.res.js","webpack://datacenters/./client/app/rescript/models/ColocationRfpProject.res.js","webpack://datacenters/./client/app/rescript/styleguide/components/GoogleMap/GoogleMapWithBounds.res.js","webpack://datacenters/./client/app/rescript/styleguide/icons/IconSorting.res.js","webpack://datacenters/./client/app/rescript/styleguide/styles/GoogleMapStyles.res.js"],"sourcesContent":["export const RecaptchaSitekey = '6LfC-FYUAAAAAE7ZjgpKKxqsgJW72n5gskwIx2oe';\n\nexport const DCLinkedInURL = 'https://www.linkedin.com/company/3567716/';\nexport const DCTwitterURL = 'https://twitter.com/datacenterscom?lang=en';\nexport const DCYouTubeURL = 'https://www.youtube.com/user/datacenterscom';\nexport const DCFacebookURL = 'https://www.facebook.com/datacenters/';\n\nexport const DCContactNumber = '+1 833-471-7100';\nexport const DCContactNumberHRef = 'tel:+1-833-471-7100';\n\nexport const GoogleMapAPI = process.env.GOOGLE_MAPS_API;\nexport const GoogleMapLibraries = ['drawing'];\nexport const ImageErrorPlaceholder = CloudinaryCloudName =>\n `https://res.cloudinary.com/${CloudinaryCloudName}/image-not-found.png`;\nexport const VideoUploadLimit = 6;\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as Cloudinary from \"../libs/Cloudinary.res.js\";\nimport * as Belt_Option from \"rescript/lib/es6/belt_Option.js\";\nimport * as GoogleMapStyles from \"../styleguide/styles/GoogleMapStyles.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as Api from \"@react-google-maps/api\";\nimport * as Json_Encode$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json_Encode.res.js\";\n\nfunction fromLocation($$location) {\n return {\n lat: $$location.latitude,\n lng: $$location.longitude\n };\n}\n\nfunction fromLocationForMap($$location) {\n return {\n lat: $$location.latitude,\n lng: $$location.longitude\n };\n}\n\nfunction fromPreloadedSearchLocationForMap(preloadedSearchLocation) {\n return {\n lat: preloadedSearchLocation.latitude,\n lng: preloadedSearchLocation.longitude\n };\n}\n\nfunction fromLocationShowForMap($$location) {\n return {\n lat: $$location.latitude,\n lng: $$location.longitude\n };\n}\n\nfunction fromLocationForProject($$location) {\n return {\n lat: $$location.latitude,\n lng: $$location.longitude\n };\n}\n\nfunction fromLocationForProjectsMap($$location) {\n return {\n lat: $$location.latitude,\n lng: $$location.longitude\n };\n}\n\nfunction toString(coordinates) {\n return String(coordinates.lat) + (\";\" + String(coordinates.lng));\n}\n\nvar Coordinates = {\n fromLocation: fromLocation,\n fromLocationForMap: fromLocationForMap,\n fromPreloadedSearchLocationForMap: fromPreloadedSearchLocationForMap,\n fromLocationShowForMap: fromLocationShowForMap,\n fromLocationForProject: fromLocationForProject,\n fromLocationForProjectsMap: fromLocationForProjectsMap,\n toString: toString\n};\n\nvar LatLng = {};\n\nvar LatLngBounds = {};\n\nfunction toJs(options) {\n return {\n position: options.position\n };\n}\n\nvar ZoomControlOptions = {\n toJs: toJs\n};\n\nfunction toJs$1(options) {\n return {\n mapTypeControl: options.mapTypeControl,\n zoomControl: options.zoomControl,\n zoomControlOptions: toJs(options.zoomControlOptions),\n streetViewControl: options.streetViewControl,\n fullscreenControl: options.fullscreenControl\n };\n}\n\nvar Options = {\n toJs: toJs$1\n};\n\nvar addStyledMap = (function(map, name, mapType){map.mapTypes.set(name, mapType)});\n\nfunction setStyle(map, style) {\n var name = \"DCMapStyled\";\n var mapType = new (google.maps.StyledMapType)(style, {\n name: name\n });\n addStyledMap(map, name, mapType);\n return map.setMapTypeId(name);\n}\n\nvar $$Map = {\n addStyledMap: addStyledMap,\n setStyle: setStyle\n};\n\nfunction setStyle$1(map, style) {\n if (Belt_Option.isSome(style)) {\n return setStyle(map, GoogleMapStyles.toJs(Belt_Option.getExn(style)));\n }\n \n}\n\nfunction fitBounds(map, coordinates) {\n if (coordinates === undefined) {\n return ;\n }\n if (coordinates.length === 0) {\n return map.setZoom(map.getZoom());\n }\n var bounds = new (google.maps.LatLngBounds)(undefined);\n Belt_Array.forEach(coordinates, (function (coordinate) {\n bounds.extend(new (google.maps.LatLng)(coordinate.lat, coordinate.lng));\n }));\n map.fitBounds(bounds);\n}\n\nfunction onLoad(map, zoom, style) {\n if (!Belt_Option.isSome(zoom)) {\n map.setZoom(2);\n }\n setStyle$1(map, style);\n}\n\nvar Helpers = {\n setStyle: setStyle$1,\n fitBounds: fitBounds,\n onLoad: onLoad\n};\n\nvar JsComponent = {};\n\nfunction GoogleMap(props) {\n var onLoad$1 = props.onLoad;\n var mapContainerClassName = props.mapContainerClassName;\n var options = props.options;\n var style = props.style;\n var center = props.center;\n var zoom = props.zoom;\n var jsProps = {\n onLoad: (function (map) {\n onLoad(map, zoom, style);\n onLoad$1(map);\n }),\n children: props.children\n };\n if (Belt_Option.isSome(zoom)) {\n jsProps.zoom = zoom;\n }\n if (Belt_Option.isSome(center)) {\n jsProps.center = center;\n }\n if (Belt_Option.isSome(style)) {\n jsProps.style = style;\n }\n if (Belt_Option.isSome(options)) {\n jsProps.options = Belt_Option.map(options, toJs$1);\n }\n if (Belt_Option.isSome(mapContainerClassName)) {\n jsProps.mapContainerClassName = mapContainerClassName;\n }\n return JsxRuntime.jsx(Api.GoogleMap, jsProps);\n}\n\nvar LoadScript = {};\n\nvar overlayPaneName = \"floatPane\";\n\nvar OverlayView = {\n overlayPaneName: overlayPaneName\n};\n\nvar Clusterer = {};\n\nfunction toJs$2(icon) {\n return {\n url: icon.url,\n size: new (google.maps.Size)(icon.size[0], icon.size[1]),\n origin: new (google.maps.Point)(icon.origin[0], icon.origin[1]),\n anchor: new (google.maps.Point)(icon.anchor[0], icon.anchor[1])\n };\n}\n\nvar default_url = Cloudinary.imageUrl(\"f_auto,w_28,h_28/static/maps/marker-purple.png\");\n\nvar default_size = [\n 28,\n 28\n];\n\nvar default_origin = [\n 0,\n 0\n];\n\nvar default_anchor = [\n 14,\n 14\n];\n\nvar $$default = {\n url: default_url,\n size: default_size,\n origin: default_origin,\n anchor: default_anchor\n};\n\nvar disabled_url = Cloudinary.imageUrl(\"f_auto,w_28,h_28/static/maps/marker-grey.png\");\n\nvar disabled_size = [\n 28,\n 28\n];\n\nvar disabled_origin = [\n 0,\n 0\n];\n\nvar disabled_anchor = [\n 14,\n 14\n];\n\nvar disabled = {\n url: disabled_url,\n size: disabled_size,\n origin: disabled_origin,\n anchor: disabled_anchor\n};\n\nvar sponsored_url = Cloudinary.imageUrl(\"f_auto,w_28,h_28/static/maps/marker-orange.png\");\n\nvar sponsored_size = [\n 28,\n 28\n];\n\nvar sponsored_origin = [\n 0,\n 0\n];\n\nvar sponsored_anchor = [\n 14,\n 14\n];\n\nvar sponsored = {\n url: sponsored_url,\n size: sponsored_size,\n origin: sponsored_origin,\n anchor: sponsored_anchor\n};\n\nvar red_url = Cloudinary.imageUrl(\"f_auto,w_28,h_28/static/maps/marker-red.png\");\n\nvar red_size = [\n 28,\n 28\n];\n\nvar red_origin = [\n 0,\n 0\n];\n\nvar red_anchor = [\n 14,\n 14\n];\n\nvar red = {\n url: red_url,\n size: red_size,\n origin: red_origin,\n anchor: red_anchor\n};\n\nvar orange_url = Cloudinary.imageUrl(\"f_auto,w_28,h_28/static/maps/marker-orange-new.png\");\n\nvar orange_size = [\n 28,\n 28\n];\n\nvar orange_origin = [\n 0,\n 0\n];\n\nvar orange_anchor = [\n 14,\n 14\n];\n\nvar orange = {\n url: orange_url,\n size: orange_size,\n origin: orange_origin,\n anchor: orange_anchor\n};\n\nvar Icon = {\n toJs: toJs$2,\n $$default: $$default,\n disabled: disabled,\n sponsored: sponsored,\n red: red,\n orange: orange\n};\n\nvar JsComponent$1 = {};\n\nfunction GoogleMap$Marker(props) {\n var noClustererRedraw = props.noClustererRedraw;\n var clusterer = props.clusterer;\n var icon = props.icon;\n var jsProps = {\n position: props.position,\n onClick: props.onClick,\n onLoad: props.onLoad,\n children: props.children\n };\n if (Belt_Option.isSome(icon)) {\n jsProps.icon = Belt_Option.map(icon, toJs$2);\n }\n if (Belt_Option.isSome(clusterer)) {\n jsProps.clusterer = clusterer;\n }\n if (Belt_Option.isSome(noClustererRedraw)) {\n jsProps.noClustererRedraw = noClustererRedraw;\n }\n return JsxRuntime.jsx(Api.Marker, jsProps);\n}\n\nvar Marker = {\n Icon: Icon,\n JsComponent: JsComponent$1,\n make: GoogleMap$Marker\n};\n\nvar Cluster = {};\n\nvar sponsoredImageUrl = Cloudinary.imageUrl(\"f_auto,w_46,h_46/static/maps/cluster-sponsored-purple.png\");\n\nvar $$default$1 = [{\n textColor: \"#ffffff\",\n height: 46,\n width: 46,\n url: Cloudinary.imageUrl(\"f_auto,w_46,h_46/static/maps/cluster-purple.png\")\n }];\n\nvar red$1 = [{\n textColor: \"#ffffff\",\n height: 46,\n width: 46,\n url: Cloudinary.imageUrl(\"f_auto,w_46,h_46/static/maps/cluster-red.png\")\n }];\n\nvar orange$1 = [{\n textColor: \"#ffffff\",\n height: 46,\n width: 46,\n url: Cloudinary.imageUrl(\"f_auto,w_46,h_46/static/maps/cluster-orange.png\")\n }];\n\nvar sponsored$1 = [{\n textColor: \"#ffffff\",\n height: 46,\n width: 46,\n url: sponsoredImageUrl\n }];\n\nvar Style = {\n $$default: $$default$1,\n red: red$1,\n orange: orange$1,\n sponsored: sponsored$1\n};\n\nvar JsComponent$2 = {};\n\nfunction GoogleMap$MarkerClusterer(props) {\n var __zoomOnClick = props.zoomOnClick;\n var zoomOnClick = __zoomOnClick !== undefined ? __zoomOnClick : true;\n return JsxRuntime.jsx(Api.MarkerClusterer, {\n averageCenter: props.averageCenter,\n enableRetinaIcons: props.enableRetinaIcons,\n gridSize: props.gridSize,\n minimumClusterSize: props.minimumClusterSize,\n imagePath: props.imagePath,\n styles: props.styles,\n zoomOnClick: zoomOnClick,\n onClick: props.onClick,\n onClusteringEnd: props.onClusteringEnd,\n children: props.children\n });\n}\n\nvar MarkerClusterer = {\n sponsoredImageUrl: sponsoredImageUrl,\n Style: Style,\n JsComponent: JsComponent$2,\n make: GoogleMap$MarkerClusterer\n};\n\nfunction toJson(latLngBound) {\n return Json_Encode$JsonCombinators.object([\n [\n \"north\",\n latLngBound.north\n ],\n [\n \"east\",\n latLngBound.east\n ],\n [\n \"south\",\n latLngBound.south\n ],\n [\n \"west\",\n latLngBound.west\n ]\n ]);\n}\n\nvar LatLngBoundsLiteral = {\n toJson: toJson\n};\n\nfunction toJson$1(circleBounds) {\n return Json_Encode$JsonCombinators.object([\n [\n \"latitude\",\n circleBounds.latitude\n ],\n [\n \"longitude\",\n circleBounds.longitude\n ],\n [\n \"radius\",\n circleBounds.radius\n ]\n ]);\n}\n\nvar CircleBounds = {\n toJson: toJson$1\n};\n\nvar ControlOptions = {};\n\nfunction toJs$3(options) {\n return {\n draggable: options.draggable,\n editable: options.editable,\n fillColor: options.fillColor,\n fillOpacity: options.fillOpacity,\n strokeColor: options.strokeColor,\n strokeOpacity: options.strokeOpacity,\n strokeWeight: options.strokeWeight,\n geodesic: true\n };\n}\n\nvar OverlayOptions = {\n toJs: toJs$3\n};\n\nfunction toJs$4(options) {\n return {\n drawingControl: options.drawingControl,\n drawingControlOptions: options.drawingControlOptions,\n rectangleOptions: toJs$3(options.overlayOptions),\n circleOptions: toJs$3(options.overlayOptions),\n polygonOptions: toJs$3(options.overlayOptions)\n };\n}\n\nvar Options$1 = {\n toJs: toJs$4\n};\n\nvar JsComponent$3 = {};\n\nfunction GoogleMap$DrawingManager(props) {\n return JsxRuntime.jsx(Api.DrawingManager, {\n drawingMode: props.drawingMode,\n options: Belt_Option.map(props.options, toJs$4),\n onRectangleComplete: props.onRectangleComplete,\n onCircleComplete: props.onCircleComplete,\n onPolygonComplete: props.onPolygonComplete,\n children: props.children\n });\n}\n\nvar DrawingManager = {\n LatLngBoundsLiteral: LatLngBoundsLiteral,\n CircleBounds: CircleBounds,\n ControlOptions: ControlOptions,\n OverlayOptions: OverlayOptions,\n Options: Options$1,\n JsComponent: JsComponent$3,\n make: GoogleMap$DrawingManager\n};\n\nfunction getPixelPositionOffset(width, height) {\n return {\n x: width / -2.0,\n y: height * -1.0 - 5.0\n };\n}\n\nfunction panBox(overlayView, position, contentWidth, contentHeight) {\n var map = overlayView.getMap();\n var mapBounds = map.getBounds();\n var offset = getPixelPositionOffset(contentWidth, contentHeight);\n if (!mapBounds.contains(position)) {\n map.setCenter(position);\n }\n var padding = {\n top: contentHeight + 40.0,\n bottom: offset.y + 40.0,\n left: offset.x * -1.0 + 20.0,\n right: contentWidth + offset.x + 20.0\n };\n return map.panToBounds(new (google.maps.LatLngBounds)(position), padding);\n}\n\nvar Helpers$1 = {\n widthPadding: 20.0,\n heightPadding: 40.0,\n getPixelPositionOffset: getPixelPositionOffset,\n panBox: panBox\n};\n\nfunction GoogleMap$InfoBox(props) {\n var contentHeight = props.contentHeight;\n var contentWidth = props.contentWidth;\n var position = props.position;\n return JsxRuntime.jsx(Api.OverlayView, {\n position: position,\n mapPaneName: overlayPaneName,\n getPixelPositionOffset: getPixelPositionOffset,\n onLoad: (function (overlayView) {\n panBox(overlayView, position, contentWidth, contentHeight);\n }),\n children: props.children\n });\n}\n\nvar InfoBox = {\n Helpers: Helpers$1,\n make: GoogleMap$InfoBox\n};\n\nvar Options$2 = {};\n\nvar KmlLayer = {\n Options: Options$2\n};\n\nvar make = GoogleMap;\n\nexport {\n Coordinates ,\n LatLng ,\n LatLngBounds ,\n ZoomControlOptions ,\n Options ,\n $$Map ,\n Helpers ,\n JsComponent ,\n make ,\n LoadScript ,\n OverlayView ,\n Clusterer ,\n Marker ,\n Cluster ,\n MarkerClusterer ,\n DrawingManager ,\n InfoBox ,\n KmlLayer ,\n}\n/* default Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var column = \"UserColocationRfpProject__column__bqpDq\";\nexport var container = \"UserColocationRfpProject__container__HjEcg\";\nexport var contentWrapper = \"UserColocationRfpProject__contentWrapper__SVM4s\";\nexport var flex = \"UserColocationRfpProject__flex__CwLof\";\nexport var flexColumn = \"UserColocationRfpProject__flexColumn__FtPn6\";\nexport var gap1 = \"UserColocationRfpProject__gap1__YJPfR\";\nexport var gap2 = \"UserColocationRfpProject__gap2__kWTyu\";\nexport var gap3 = \"UserColocationRfpProject__gap3__dezgR\";\nexport var gap4 = \"UserColocationRfpProject__gap4__JM7Q4\";\nexport var gap5 = \"UserColocationRfpProject__gap5__TT7z3\";\nexport var row = \"UserColocationRfpProject__row__AC70j\";","// extracted by mini-css-extract-plugin\nexport var colLeft = \"UserColocationRfpProject_Details__colLeft__hZla6\";\nexport var colRight = \"UserColocationRfpProject_Details__colRight__QSf4I\";\nexport var column = \"UserColocationRfpProject_Details__column__SQb8u\";\nexport var columnWrapper = \"UserColocationRfpProject_Details__columnWrapper__z3xRF\";\nexport var descriptionContent = \"UserColocationRfpProject_Details__descriptionContent__GiOwQ\";\nexport var descriptionHeading = \"UserColocationRfpProject_Details__descriptionHeading__EbLoH\";\nexport var flex = \"UserColocationRfpProject_Details__flex__dsVw7\";\nexport var flexColumn = \"UserColocationRfpProject_Details__flexColumn__z9BO5\";\nexport var gap1 = \"UserColocationRfpProject_Details__gap1__hPo6d\";\nexport var gap2 = \"UserColocationRfpProject_Details__gap2__x6vav\";\nexport var gap3 = \"UserColocationRfpProject_Details__gap3__Gmt5X\";\nexport var gap4 = \"UserColocationRfpProject_Details__gap4__OBcRp\";\nexport var gap5 = \"UserColocationRfpProject_Details__gap5__MeaTl\";\nexport var lastUpdated = \"UserColocationRfpProject_Details__lastUpdated__a0XsR\";\nexport var reviewStatusWarning = \"UserColocationRfpProject_Details__reviewStatusWarning__wIBlj\";\nexport var row = \"UserColocationRfpProject_Details__row__PLnvq\";","// extracted by mini-css-extract-plugin\nexport var column = \"UserColocationRfpProject_Details_Locations__column__zze3r\";\nexport var datacentersCountText = \"UserColocationRfpProject_Details_Locations__datacentersCountText__XTNrx\";\nexport var editButton = \"UserColocationRfpProject_Details_Locations__editButton__dhbuG\";\nexport var emptyProviders = \"UserColocationRfpProject_Details_Locations__emptyProviders__mUq6n\";\nexport var flex = \"UserColocationRfpProject_Details_Locations__flex__omA_X\";\nexport var flexColumn = \"UserColocationRfpProject_Details_Locations__flexColumn__Nb56Z\";\nexport var gap1 = \"UserColocationRfpProject_Details_Locations__gap1__He5Ol\";\nexport var gap2 = \"UserColocationRfpProject_Details_Locations__gap2__Tnl9z\";\nexport var gap3 = \"UserColocationRfpProject_Details_Locations__gap3__SqCa7\";\nexport var gap4 = \"UserColocationRfpProject_Details_Locations__gap4__wJvtd\";\nexport var gap5 = \"UserColocationRfpProject_Details_Locations__gap5__D1Zgk\";\nexport var headingContentWrapper = \"UserColocationRfpProject_Details_Locations__headingContentWrapper__ftniM\";\nexport var locationHeading = \"UserColocationRfpProject_Details_Locations__locationHeading__MWZiV\";\nexport var mapContainer = \"UserColocationRfpProject_Details_Locations__mapContainer__c5MdY\";\nexport var mapElement = \"UserColocationRfpProject_Details_Locations__mapElement__q_joi\";\nexport var providerDetailRow = \"UserColocationRfpProject_Details_Locations__providerDetailRow__vfmQe\";\nexport var providerImage = \"UserColocationRfpProject_Details_Locations__providerImage__P5NWq\";\nexport var providerName = \"UserColocationRfpProject_Details_Locations__providerName__JTDCE\";\nexport var providerPanel = \"UserColocationRfpProject_Details_Locations__providerPanel__BW_BW\";\nexport var providerPanelBody = \"UserColocationRfpProject_Details_Locations__providerPanelBody__vjulR\";\nexport var providerPanelHeadingContainer = \"UserColocationRfpProject_Details_Locations__providerPanelHeadingContainer__bST65\";\nexport var providerPanelImageAndNameWrapper = \"UserColocationRfpProject_Details_Locations__providerPanelImageAndNameWrapper__VLAS5\";\nexport var providerTable = \"UserColocationRfpProject_Details_Locations__providerTable__TCBTj\";\nexport var providerTableHead = \"UserColocationRfpProject_Details_Locations__providerTableHead__s9T8d\";\nexport var providerTableHeadingContainer = \"UserColocationRfpProject_Details_Locations__providerTableHeadingContainer__ht37d\";\nexport var providerTitle = \"UserColocationRfpProject_Details_Locations__providerTitle__J8qXW\";\nexport var providersWrapper = \"UserColocationRfpProject_Details_Locations__providersWrapper__h_QEX\";\nexport var quantityText = \"UserColocationRfpProject_Details_Locations__quantityText__MBofK\";\nexport var roleText = \"UserColocationRfpProject_Details_Locations__roleText__o0MlH\";\nexport var row = \"UserColocationRfpProject_Details_Locations__row__c2ei6\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as ID from \"../../../../libs/ID.res.js\";\nimport * as GoogleMap from \"../../../../bindings/GoogleMap.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 GoogleMapStyles from \"../../../../styleguide/styles/GoogleMapStyles.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as GoogleMapWithBounds from \"../../../../styleguide/components/GoogleMap/GoogleMapWithBounds.res.js\";\nimport * as Global from \"Client/common/global\";\nimport * as Api from \"@react-google-maps/api\";\nimport * as UserColocationRfpProject_Details_LocationsScss from \"./UserColocationRfpProject_Details_Locations.scss\";\n\nvar css = UserColocationRfpProject_Details_LocationsScss;\n\nfunction getBounds(locations) {\n return Belt_Array.map(locations, (function ($$location) {\n return GoogleMap.Coordinates.fromLocationForProject($$location);\n }));\n}\n\nfunction UserColocationRfpProject_Details_Locations_Map(props) {\n var serverSide = props.serverSide;\n var locations = props.locations;\n return JsxRuntime.jsx(Api.LoadScript, {\n googleMapsApiKey: Global.GoogleMapAPI,\n libraries: Global.GoogleMapLibraries,\n children: JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(GoogleMapWithBounds.make, {\n mapContainerClassName: css.mapElement,\n style: GoogleMapStyles.standard,\n options: {\n mapTypeControl: false,\n zoomControl: true,\n zoomControlOptions: {\n position: 5\n },\n streetViewControl: false,\n fullscreenControl: false\n },\n bounds: getBounds(locations),\n children: JsxRuntime.jsx(GoogleMap.MarkerClusterer.make, {\n averageCenter: true,\n enableRetinaIcons: true,\n gridSize: 60,\n minimumClusterSize: 3,\n styles: GoogleMap.MarkerClusterer.Style.$$default,\n children: (function (clusterer) {\n return Belt_Array.map(locations, (function ($$location) {\n return JsxRuntime.jsx(GoogleMap.Marker.make, {\n position: {\n lat: $$location.latitude,\n lng: $$location.longitude\n },\n icon: serverSide ? undefined : GoogleMap.Marker.Icon.$$default,\n clusterer: Caml_option.some(clusterer)\n }, ID.toString($$location.id));\n }));\n })\n })\n }),\n className: css.mapContainer\n })\n });\n}\n\nvar make = UserColocationRfpProject_Details_Locations_Map;\n\nexport {\n css ,\n getBounds ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as A from \"../../../../styleguide/components/Link/A.res.js\";\nimport * as P from \"../../../../styleguide/components/Paragraph/P.res.js\";\nimport * as Caml from \"rescript/lib/es6/caml.js\";\nimport * as React from \"react\";\nimport * as Picture from \"../../../../styleguide/forms/Picture/Picture.res.js\";\nimport * as $$Location from \"../../../../models/Location.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as IconSorting from \"../../../../styleguide/icons/IconSorting.res.js\";\nimport * as Belt_SortArray from \"rescript/lib/es6/belt_SortArray.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as UserProjectDetailsPanel from \"../_components/UserProjectDetailsPanel/UserProjectDetailsPanel.res.js\";\nimport * as UserColocationRfpProject_Details_LocationsScss from \"./UserColocationRfpProject_Details_Locations.scss\";\n\nvar css = UserColocationRfpProject_Details_LocationsScss;\n\nfunction datacenterTextWithCountDistinction(x) {\n if (x !== 1) {\n return \" data centers\";\n } else {\n return \" data center\";\n }\n}\n\nfunction UserColocationRfpProject_Details_Locations_ProviderDataCentersLocationPanel$PanelHeading(props) {\n var dataCentersCount = props.dataCentersCount;\n var providerName = props.providerName;\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"img\", {\n className: css.providerImage,\n alt: providerName,\n src: props.providerImage\n }),\n JsxRuntime.jsx(\"h5\", {\n children: providerName,\n className: css.providerName\n })\n ],\n className: css.providerPanelImageAndNameWrapper\n }),\n JsxRuntime.jsx(\"p\", {\n children: String(dataCentersCount) + datacenterTextWithCountDistinction(dataCentersCount),\n className: css.datacentersCountText\n })\n ],\n className: css.providerPanelHeadingContainer\n });\n}\n\nvar PanelHeading = {\n make: UserColocationRfpProject_Details_Locations_ProviderDataCentersLocationPanel$PanelHeading\n};\n\nfunction UserColocationRfpProject_Details_Locations_ProviderDataCentersLocationPanel$PanelBody(props) {\n var toggleDirection = props.toggleDirection;\n var sortDirection = props.sortDirection;\n var sortedLocations = Belt_SortArray.stableSortBy(props.locations, (function (x1, x2) {\n if (sortDirection === \"Desc\") {\n return Caml.string_compare(x2.name, x1.name);\n } else {\n return Caml.string_compare(x1.name, x2.name);\n }\n }));\n return JsxRuntime.jsxs(\"table\", {\n children: [\n JsxRuntime.jsxs(\"colgroup\", {\n children: [\n JsxRuntime.jsx(\"col\", {\n width: \"50%\"\n }),\n JsxRuntime.jsx(\"col\", {\n width: \"50%\"\n })\n ]\n }),\n JsxRuntime.jsx(\"thead\", {\n children: JsxRuntime.jsxs(\"tr\", {\n children: [\n JsxRuntime.jsxs(\"td\", {\n children: [\n JsxRuntime.jsx(P.make, {\n children: \"Title\"\n }),\n JsxRuntime.jsx(IconSorting.make, {\n size: \"XS\",\n direction: sortDirection\n })\n ],\n className: css.providerTableHeadingContainer,\n onClick: (function (param) {\n toggleDirection();\n })\n }),\n JsxRuntime.jsx(\"td\", {\n children: JsxRuntime.jsx(P.make, {\n children: \"Address\"\n }),\n className: css.providerTableHeadingContainer\n })\n ]\n }),\n className: css.providerTableHead\n }),\n JsxRuntime.jsx(\"tbody\", {\n children: Belt_Array.map(sortedLocations, (function ($$location) {\n return JsxRuntime.jsxs(\"tr\", {\n children: [\n JsxRuntime.jsxs(\"td\", {\n children: [\n JsxRuntime.jsx(Picture.make, {\n src: $$location.image,\n large: [\n 60,\n 40\n ],\n fallbackSrc: $$Location.imageNotFoundUrl\n }),\n JsxRuntime.jsx(P.make, {\n children: JsxRuntime.jsx(A.make, {\n href: $$location.url,\n targetBlank: true,\n children: $$location.name\n })\n })\n ],\n className: css.providerTitle\n }),\n JsxRuntime.jsx(\"td\", {\n children: $$location.fullAddress\n })\n ],\n className: css.providerDetailRow\n }, $$location.name + $$location.fullAddress);\n }))\n })\n ],\n className: css.providerTable\n });\n}\n\nvar PanelBody = {\n make: UserColocationRfpProject_Details_Locations_ProviderDataCentersLocationPanel$PanelBody\n};\n\nfunction toggleDirection(x) {\n if (x === \"Desc\") {\n return \"Asc\";\n } else {\n return \"Desc\";\n }\n}\n\nfunction UserColocationRfpProject_Details_Locations_ProviderDataCentersLocationPanel(props) {\n var provider = props.provider;\n var match = React.useReducer((function (state, action) {\n return {\n sortDirection: toggleDirection(state.sortDirection)\n };\n }), {\n sortDirection: \"Asc\"\n });\n var dispatch = match[1];\n return JsxRuntime.jsx(UserProjectDetailsPanel.make, {\n className: css.providerPanel,\n bodyClassName: css.providerPanelBody,\n heading: JsxRuntime.jsx(UserColocationRfpProject_Details_Locations_ProviderDataCentersLocationPanel$PanelHeading, {\n providerName: provider.name,\n providerImage: provider.providerImage,\n dataCentersCount: provider.locations.length\n }),\n children: JsxRuntime.jsx(UserColocationRfpProject_Details_Locations_ProviderDataCentersLocationPanel$PanelBody, {\n locations: provider.locations,\n sortDirection: match[0].sortDirection,\n toggleDirection: (function () {\n dispatch(\"ToggleSortDirection\");\n })\n })\n });\n}\n\nvar make = UserColocationRfpProject_Details_Locations_ProviderDataCentersLocationPanel;\n\nexport {\n css ,\n datacenterTextWithCountDistinction ,\n PanelHeading ,\n PanelBody ,\n toggleDirection ,\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 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 UserColocationRfpProject_Details_Locations_Map from \"./UserColocationRfpProject_Details_Locations_Map.res.js\";\nimport * as UserColocationRfpProject_Details_LocationsScss from \"./UserColocationRfpProject_Details_Locations.scss\";\nimport * as UserColocationRfpProject_Details_Locations_ProviderDataCentersLocationPanel from \"./UserColocationRfpProject_Details_Locations_ProviderDataCentersLocationPanel.res.js\";\n\nvar css = UserColocationRfpProject_Details_LocationsScss;\n\nfunction providerTextWithCountDistinction(x) {\n if (x !== 1) {\n return \" providers\";\n } else {\n return \" provider\";\n }\n}\n\nfunction getHeadingQuantityTextForUser(userRole, locations, providers) {\n switch (userRole) {\n case \"User\" :\n case \"Agent\" :\n break;\n default:\n return \"\";\n }\n return String(locations.length) + (\" from \" + (String(providers.length) + providerTextWithCountDistinction(providers.length)));\n}\n\nfunction UserColocationRfpProject_Details_Locations(props) {\n var providers = props.providers;\n var userRole = props.userRole;\n var locations = props.locations;\n var tmp;\n var exit = 0;\n switch (userRole) {\n case \"User\" :\n case \"Agent\" :\n exit = 1;\n break;\n default:\n tmp = null;\n }\n if (exit === 1) {\n tmp = JsxRuntime.jsx(Button.AsLink.make, {\n href: Routes_Project.Colocation.$$Location.update(props.projectId),\n size: \"SM\",\n color: \"Teal\",\n ghost: true,\n buttonClassName: css.editButton,\n children: \"Edit Locations\"\n });\n }\n var tmp$1;\n switch (userRole) {\n case \"Provider\" :\n tmp$1 = \"The list of your locations requested by the project owner. \";\n break;\n case \"Visitor\" :\n tmp$1 = \"\";\n break;\n case \"Admin\" :\n case \"Concierge\" :\n tmp$1 = \"The list of locations and providers requested by the project owner. Only locations from providers that have accepted registration are shown.\";\n break;\n case \"User\" :\n case \"Agent\" :\n tmp$1 = \"The list of providers that you requested. Providers may be added or removed at the discretion of Datacenters.com. Only locations from providers that have accepted to participate in this project are shown.\";\n break;\n \n }\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"h2\", {\n children: \"Providers and Locations\",\n className: css.locationHeading\n }),\n JsxRuntime.jsx(\"p\", {\n children: getHeadingQuantityTextForUser(userRole, locations, providers),\n className: css.quantityText\n })\n ]\n }),\n tmp\n ],\n className: css.headingContentWrapper\n }),\n JsxRuntime.jsx(\"p\", {\n children: tmp$1,\n className: css.roleText\n }),\n providers.length !== 0 ? JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(UserColocationRfpProject_Details_Locations_Map.make, {\n locations: locations,\n serverSide: props.serverSide\n }),\n JsxRuntime.jsx(\"div\", {\n children: Belt_Array.map(providers, (function (provider) {\n return JsxRuntime.jsx(UserColocationRfpProject_Details_Locations_ProviderDataCentersLocationPanel.make, {\n provider: provider\n }, provider.name + \"-panel\");\n })),\n className: css.providersWrapper\n })\n ]\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 ]\n });\n}\n\nvar make = UserColocationRfpProject_Details_Locations;\n\nexport {\n css ,\n providerTextWithCountDistinction ,\n getHeadingQuantityTextForUser ,\n make ,\n}\n/* css Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var additionalNotes = \"UserColocationRfpProject_Details_RequiredProducts__additionalNotes__ocVIk\";\nexport var checkboxes = \"UserColocationRfpProject_Details_RequiredProducts__checkboxes__Uuwfw\";\nexport var checkboxesContainer = \"UserColocationRfpProject_Details_RequiredProducts__checkboxesContainer__Lctao\";\nexport var column = \"UserColocationRfpProject_Details_RequiredProducts__column__Ce2oO\";\nexport var descriptionHeading = \"UserColocationRfpProject_Details_RequiredProducts__descriptionHeading__IX38Y\";\nexport var flex = \"UserColocationRfpProject_Details_RequiredProducts__flex__Soidp\";\nexport var flexColumn = \"UserColocationRfpProject_Details_RequiredProducts__flexColumn__KOujA\";\nexport var gap1 = \"UserColocationRfpProject_Details_RequiredProducts__gap1__MxajN\";\nexport var gap2 = \"UserColocationRfpProject_Details_RequiredProducts__gap2__RZ2lo\";\nexport var gap3 = \"UserColocationRfpProject_Details_RequiredProducts__gap3__rPgEi\";\nexport var gap4 = \"UserColocationRfpProject_Details_RequiredProducts__gap4__kxrAG\";\nexport var gap5 = \"UserColocationRfpProject_Details_RequiredProducts__gap5__BPBw6\";\nexport var lightBackground = \"UserColocationRfpProject_Details_RequiredProducts__lightBackground__O7aGf\";\nexport var notesContainer = \"UserColocationRfpProject_Details_RequiredProducts__notesContainer__Lfa1_\";\nexport var panel = \"UserColocationRfpProject_Details_RequiredProducts__panel__Vo22F\";\nexport var panelBody = \"UserColocationRfpProject_Details_RequiredProducts__panelBody__z1sTz\";\nexport var panelHeading = \"UserColocationRfpProject_Details_RequiredProducts__panelHeading__oy6eY\";\nexport var productName = \"UserColocationRfpProject_Details_RequiredProducts__productName__lxrWW\";\nexport var productRow = \"UserColocationRfpProject_Details_RequiredProducts__productRow__dtTuz\";\nexport var productServiceLabel = \"UserColocationRfpProject_Details_RequiredProducts__productServiceLabel__C8Yl6\";\nexport var productServiceValue = \"UserColocationRfpProject_Details_RequiredProducts__productServiceValue__Ls_TS\";\nexport var productsServiceWrapper = \"UserColocationRfpProject_Details_RequiredProducts__productsServiceWrapper__u4Nbj\";\nexport var propertiesContainer = \"UserColocationRfpProject_Details_RequiredProducts__propertiesContainer__G5VNx\";\nexport var propertyLeft = \"UserColocationRfpProject_Details_RequiredProducts__propertyLeft__Nhl0N\";\nexport var propertyRight = \"UserColocationRfpProject_Details_RequiredProducts__propertyRight__IOCEv\";\nexport var row = \"UserColocationRfpProject_Details_RequiredProducts__row__WfESW\";\nexport var stayShaded = \"UserColocationRfpProject_Details_RequiredProducts__stayShaded___Qgra\";\nexport var switchLight = \"UserColocationRfpProject_Details_RequiredProducts__switchLight__YOWXe\";\nexport var switchShaded = \"UserColocationRfpProject_Details_RequiredProducts__switchShaded__c9yYS\";\nexport var tickmarkIcon = \"UserColocationRfpProject_Details_RequiredProducts__tickmarkIcon__qx89j\";\nexport var withColon = \"UserColocationRfpProject_Details_RequiredProducts__withColon__qR8Xd\";","// 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 UserColocationRfpProject_Details_RequiredProductsScss from \"./UserColocationRfpProject_Details_RequiredProducts.scss\";\n\nvar css = UserColocationRfpProject_Details_RequiredProductsScss;\n\nfunction UserColocationRfpProject_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 = UserColocationRfpProject_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 $$Date from \"../../../../libs/Date.res.js\";\nimport * as Belt_Option from \"rescript/lib/es6/belt_Option.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectRequiredProducts_CheckmarkableOptions from \"../_components/ProjectRequiredProducts/ProjectRequiredProducts_CheckmarkableOptions.res.js\";\nimport * as UserColocationRfpProject_Details_RequiredProductsScss from \"./UserColocationRfpProject_Details_RequiredProducts.scss\";\nimport * as UserColocationRfpProject_Details_RequiredProducts_ProductServiceDescription from \"./UserColocationRfpProject_Details_RequiredProducts_ProductServiceDescription.res.js\";\n\nvar css = UserColocationRfpProject_Details_RequiredProductsScss;\n\nfunction UserColocationRfpProject_Details_RequiredProducts_RackDetail(props) {\n var contractLength = props.contractLength;\n var startDate = props.startDate;\n var rackDetails = props.rackDetails;\n var q = rackDetails.quantity;\n var match = rackDetails.powerValue;\n var match$1 = rackDetails.powerUnits;\n var tmp;\n var exit = 0;\n if (match !== undefined && match$1 !== undefined) {\n tmp = JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(UserColocationRfpProject_Details_RequiredProducts_ProductServiceDescription.make, {\n label: \"Power in \" + match$1,\n value: String(match)\n }),\n className: css.propertyLeft\n });\n } else {\n exit = 1;\n }\n if (exit === 1) {\n tmp = JsxRuntime.jsx(\"div\", {\n className: css.propertyLeft\n });\n }\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"p\", {\n children: \"Space & Power Requirements #\" + String(props.index + 1 | 0),\n className: css.productName\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(UserColocationRfpProject_Details_RequiredProducts_ProductServiceDescription.make, {\n label: \"Quantity\",\n value: q !== undefined ? String(q) : \"\"\n }),\n className: Cx.cx([\n css.propertyLeft,\n css.stayShaded\n ])\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(UserColocationRfpProject_Details_RequiredProducts_ProductServiceDescription.make, {\n label: \"Colocation Space\",\n value: Belt_Option.getWithDefault(rackDetails.colocationSpace, \"\")\n }),\n className: Cx.cx([\n css.propertyRight,\n css.switchShaded\n ])\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(UserColocationRfpProject_Details_RequiredProducts_ProductServiceDescription.make, {\n label: \"Circuit Type\",\n value: Belt_Option.getWithDefault(rackDetails.powerCircuit, \"\")\n }),\n className: Cx.cx([\n css.propertyRight,\n css.switchLight\n ])\n }),\n tmp,\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(UserColocationRfpProject_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(UserColocationRfpProject_Details_RequiredProducts_ProductServiceDescription.make, {\n label: \"Contract Length\",\n value: contractLength !== undefined ? String(contractLength) + \" months\" : \"\"\n }),\n className: Cx.cx([\n css.propertyLeft,\n css.switchShaded\n ])\n }),\n JsxRuntime.jsx(ProjectRequiredProducts_CheckmarkableOptions.make, {\n options: rackDetails.additionalOptions,\n cssStart: \"SwitchLight\"\n })\n ],\n className: css.propertiesContainer\n })\n ]\n });\n}\n\nvar make = UserColocationRfpProject_Details_RequiredProducts_RackDetail;\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 Belt_Option from \"rescript/lib/es6/belt_Option.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as UserColocationRfpProject_Details_RequiredProductsScss from \"./UserColocationRfpProject_Details_RequiredProducts.scss\";\nimport * as UserColocationRfpProject_Details_RequiredProducts_ProductServiceDescription from \"./UserColocationRfpProject_Details_RequiredProducts_ProductServiceDescription.res.js\";\n\nvar css = UserColocationRfpProject_Details_RequiredProductsScss;\n\nfunction UserColocationRfpProject_Details_RequiredProducts_CrossConnectDetail(props) {\n var crossConnect = props.crossConnect;\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"p\", {\n children: \"Cross Connect #\" + String(props.index + 1 | 0),\n className: css.productName\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(UserColocationRfpProject_Details_RequiredProducts_ProductServiceDescription.make, {\n label: \"Quantity\",\n value: String(Belt_Option.getWithDefault(crossConnect.quantity, 0))\n }),\n className: Cx.cx([\n css.propertyLeft,\n css.stayShaded\n ])\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(UserColocationRfpProject_Details_RequiredProducts_ProductServiceDescription.make, {\n label: \"Access Type\",\n value: Belt_Option.getWithDefault(crossConnect.interconnect, \"\")\n }),\n className: Cx.cx([\n css.propertyRight,\n css.switchShaded\n ])\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(UserColocationRfpProject_Details_RequiredProducts_ProductServiceDescription.make, {\n label: \"Preferred Provider\",\n value: Belt_Option.getWithDefault(crossConnect.provider, \"\")\n }),\n className: Cx.cx([\n css.propertyLeft,\n css.switchLight\n ])\n })\n ],\n className: css.propertiesContainer\n })\n ]\n });\n}\n\nvar make = UserColocationRfpProject_Details_RequiredProducts_CrossConnectDetail;\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 Belt_Option from \"rescript/lib/es6/belt_Option.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectRequiredProducts_CheckmarkableOptions from \"../_components/ProjectRequiredProducts/ProjectRequiredProducts_CheckmarkableOptions.res.js\";\nimport * as UserColocationRfpProject_Details_RequiredProductsScss from \"./UserColocationRfpProject_Details_RequiredProducts.scss\";\nimport * as UserColocationRfpProject_Details_RequiredProducts_ProductServiceDescription from \"./UserColocationRfpProject_Details_RequiredProducts_ProductServiceDescription.res.js\";\n\nvar css = UserColocationRfpProject_Details_RequiredProductsScss;\n\nfunction UserColocationRfpProject_Details_RequiredProducts_CloudDirectConnectDetail(props) {\n var cloudDirectConnect = props.cloudDirectConnect;\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"p\", {\n children: \"Cloud Direct Connect #\" + String(props.index + 1 | 0),\n className: css.productName\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(UserColocationRfpProject_Details_RequiredProducts_ProductServiceDescription.make, {\n label: \"Access Type\",\n value: Belt_Option.getWithDefault(cloudDirectConnect.interconnect, \"\")\n }),\n className: Cx.cx([\n css.propertyLeft,\n css.stayShaded\n ])\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(UserColocationRfpProject_Details_RequiredProducts_ProductServiceDescription.make, {\n label: \"Bandwidth\",\n value: Belt_Option.getWithDefault(cloudDirectConnect.bandwidth, \"\")\n }),\n className: Cx.cx([\n css.propertyRight,\n css.switchShaded\n ])\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(UserColocationRfpProject_Details_RequiredProducts_ProductServiceDescription.make, {\n label: \"Cloud Platform\",\n value: Belt_Option.getWithDefault(cloudDirectConnect.cloudPlatform, \"\")\n }),\n className: Cx.cx([\n css.propertyLeft,\n css.switchLight\n ])\n }),\n JsxRuntime.jsx(\"div\", {\n className: css.propertyRight\n }),\n JsxRuntime.jsx(ProjectRequiredProducts_CheckmarkableOptions.make, {\n options: cloudDirectConnect.additionalOptions,\n cssStart: \"StayShaded\"\n })\n ],\n className: css.propertiesContainer\n })\n ]\n });\n}\n\nvar make = UserColocationRfpProject_Details_RequiredProducts_CloudDirectConnectDetail;\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 Belt_Option from \"rescript/lib/es6/belt_Option.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectRequiredProducts_CheckmarkableOptions from \"../_components/ProjectRequiredProducts/ProjectRequiredProducts_CheckmarkableOptions.res.js\";\nimport * as UserColocationRfpProject_Details_RequiredProductsScss from \"./UserColocationRfpProject_Details_RequiredProducts.scss\";\nimport * as UserColocationRfpProject_Details_RequiredProducts_ProductServiceDescription from \"./UserColocationRfpProject_Details_RequiredProducts_ProductServiceDescription.res.js\";\n\nvar css = UserColocationRfpProject_Details_RequiredProductsScss;\n\nfunction UserColocationRfpProject_Details_RequiredProducts_InternetConnectivityDetail(props) {\n var internetConnectivity = props.internetConnectivity;\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"p\", {\n children: \"Bandwidth Requirement #\" + String(props.index + 1 | 0),\n className: css.productName\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(UserColocationRfpProject_Details_RequiredProducts_ProductServiceDescription.make, {\n label: \"Access Type\",\n value: Belt_Option.getWithDefault(internetConnectivity.interconnect, \"\")\n }),\n className: Cx.cx([\n css.propertyLeft,\n css.stayShaded\n ])\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(UserColocationRfpProject_Details_RequiredProducts_ProductServiceDescription.make, {\n label: \"Bandwidth\",\n value: Belt_Option.getWithDefault(internetConnectivity.bandwidth, \"\")\n }),\n className: Cx.cx([\n css.propertyRight,\n css.switchShaded\n ])\n }),\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(UserColocationRfpProject_Details_RequiredProducts_ProductServiceDescription.make, {\n label: \"Provider\",\n value: Belt_Option.getWithDefault(internetConnectivity.provider, \"\")\n }),\n className: Cx.cx([\n css.propertyLeft,\n css.switchLight\n ])\n }),\n JsxRuntime.jsx(\"div\", {\n className: css.propertyRight\n }),\n JsxRuntime.jsx(ProjectRequiredProducts_CheckmarkableOptions.make, {\n options: internetConnectivity.additionalOptions,\n cssStart: \"StayShaded\"\n })\n ],\n className: css.propertiesContainer\n })\n ]\n });\n}\n\nvar make = UserColocationRfpProject_Details_RequiredProducts_InternetConnectivityDetail;\n\nexport {\n css ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Js_array from \"rescript/lib/es6/js_array.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as Belt_Option from \"rescript/lib/es6/belt_Option.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as UserProjectDetailsPanel from \"../_components/UserProjectDetailsPanel/UserProjectDetailsPanel.res.js\";\nimport * as RackTypesAndPowerDensity from \"../../../../models/RackTypesAndPowerDensity.res.js\";\nimport * as ProjectRequiredProducts_CheckmarkableOptions from \"../_components/ProjectRequiredProducts/ProjectRequiredProducts_CheckmarkableOptions.res.js\";\nimport * as UserColocationRfpProject_Details_RequiredProductsScss from \"./UserColocationRfpProject_Details_RequiredProducts.scss\";\nimport * as UserColocationRfpProject_Details_RequiredProducts_RackDetail from \"./UserColocationRfpProject_Details_RequiredProducts_RackDetail.res.js\";\nimport * as UserColocationRfpProject_Details_RequiredProducts_CrossConnectDetail from \"./UserColocationRfpProject_Details_RequiredProducts_CrossConnectDetail.res.js\";\nimport * as UserColocationRfpProject_Details_RequiredProducts_CloudDirectConnectDetail from \"./UserColocationRfpProject_Details_RequiredProducts_CloudDirectConnectDetail.res.js\";\nimport * as UserColocationRfpProject_Details_RequiredProducts_InternetConnectivityDetail from \"./UserColocationRfpProject_Details_RequiredProducts_InternetConnectivityDetail.res.js\";\n\nvar css = UserColocationRfpProject_Details_RequiredProductsScss;\n\nfunction panelHeading(rackTypesAndPowerDensities) {\n var rackDetails = Js_array.joinWith(\", \", Belt_Array.map(rackTypesAndPowerDensities, (function (rack) {\n return RackTypesAndPowerDensity.rackQuantityAndPowerDetailText(rack);\n })));\n return JsxRuntime.jsx(\"h4\", {\n children: rackDetails,\n className: css.panelHeading\n });\n}\n\nfunction UserColocationRfpProject_Details_RequiredProducts_ProductPanel$CheckmarkableOptionsWithHeading(props) {\n var options = props.options;\n if (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: UserColocationRfpProject_Details_RequiredProducts_ProductPanel$CheckmarkableOptionsWithHeading\n};\n\nfunction UserColocationRfpProject_Details_RequiredProducts_ProductPanel(props) {\n var __isExpanded = props.isExpanded;\n var colocationSpaceConfiguration = props.colocationSpaceConfiguration;\n var isExpanded = __isExpanded !== undefined ? __isExpanded : false;\n var notes = colocationSpaceConfiguration.additionalNotesOrRequirements;\n return JsxRuntime.jsx(UserProjectDetailsPanel.make, {\n className: css.panel,\n heading: panelHeading(colocationSpaceConfiguration.rackTypesAndPowerDensities),\n isExpanded: isExpanded,\n children: JsxRuntime.jsxs(\"div\", {\n children: [\n Belt_Array.mapWithIndex(colocationSpaceConfiguration.rackTypesAndPowerDensities, (function (index, rackDetails) {\n return JsxRuntime.jsx(UserColocationRfpProject_Details_RequiredProducts_RackDetail.make, {\n index: index,\n rackDetails: rackDetails,\n startDate: colocationSpaceConfiguration.startDate,\n contractLength: colocationSpaceConfiguration.contractLength\n }, Belt_Option.getWithDefault(rackDetails.colocationSpace, \"\") + String(index));\n })),\n Belt_Array.mapWithIndex(colocationSpaceConfiguration.internetConnectivities, (function (index, internetConnectivity) {\n var match = internetConnectivity.bandwidth;\n var match$1 = internetConnectivity.interconnect;\n var match$2 = internetConnectivity.provider;\n var match$3 = Belt_Array.get(internetConnectivity.additionalOptions, 0);\n if (match === undefined && match$1 === undefined && match$2 === undefined && match$3 === undefined) {\n return null;\n }\n return JsxRuntime.jsx(UserColocationRfpProject_Details_RequiredProducts_InternetConnectivityDetail.make, {\n index: index,\n internetConnectivity: internetConnectivity\n }, String(index) + \"-connectivity\");\n })),\n Belt_Array.mapWithIndex(colocationSpaceConfiguration.crossConnects, (function (index, crossConnect) {\n var match = crossConnect.quantity;\n var match$1 = crossConnect.interconnect;\n var match$2 = crossConnect.provider;\n if (match === undefined && match$1 === undefined && match$2 === undefined) {\n return null;\n }\n return JsxRuntime.jsx(UserColocationRfpProject_Details_RequiredProducts_CrossConnectDetail.make, {\n index: index,\n crossConnect: crossConnect\n }, String(index) + \"-crossConnect\");\n })),\n Belt_Array.mapWithIndex(colocationSpaceConfiguration.cloudDirectConnects, (function (index, cloudDirectConnect) {\n var match = cloudDirectConnect.bandwidth;\n var match$1 = cloudDirectConnect.interconnect;\n var match$2 = cloudDirectConnect.cloudPlatform;\n var match$3 = Belt_Array.get(cloudDirectConnect.additionalOptions, 0);\n if (match === undefined && match$1 === undefined && match$2 === undefined && match$3 === undefined) {\n return null;\n }\n return JsxRuntime.jsx(UserColocationRfpProject_Details_RequiredProducts_CloudDirectConnectDetail.make, {\n index: index,\n cloudDirectConnect: cloudDirectConnect\n }, String(index) + \"-cloudDirectConnects\");\n })),\n JsxRuntime.jsx(UserColocationRfpProject_Details_RequiredProducts_ProductPanel$CheckmarkableOptionsWithHeading, {\n heading: \"Certification Requirements\",\n options: colocationSpaceConfiguration.certificationRequirements\n }),\n JsxRuntime.jsx(UserColocationRfpProject_Details_RequiredProducts_ProductPanel$CheckmarkableOptionsWithHeading, {\n heading: \"Data Center Features\",\n options: colocationSpaceConfiguration.datacenterFeatures\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.notesContainer\n }) : null\n ],\n className: css.panelBody\n })\n });\n}\n\nvar make = UserColocationRfpProject_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 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 UserColocationRfpProject_DetailsScss from \"./UserColocationRfpProject_Details.scss\";\nimport * as UserColocationRfpProject_Details_Locations from \"./UserColocationRfpProject_Details_Locations.res.js\";\nimport * as UserProjectDetailsBusinessContactInformation from \"../_components/UserProjectDetailsContactInformation/UserProjectDetailsBusinessContactInformation.res.js\";\nimport * as UserColocationRfpProject_Details_RequiredProducts_ProductPanel from \"./UserColocationRfpProject_Details_RequiredProducts_ProductPanel.res.js\";\n\nvar css = UserColocationRfpProject_DetailsScss;\n\nfunction UserColocationRfpProject_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.colocationConfigurations, (function (index, colocationSpaceConfiguration) {\n return JsxRuntime.jsx(UserColocationRfpProject_Details_RequiredProducts_ProductPanel.make, {\n colocationSpaceConfiguration: colocationSpaceConfiguration,\n isExpanded: index === 0\n }, \"product-panel-\" + 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(UserColocationRfpProject_Details_Locations.make, {\n projectId: project.id,\n locations: project.locations,\n userRole: props.userRole,\n providers: project.providers,\n serverSide: props.serverSide\n })\n ]\n });\n}\n\nvar make = UserColocationRfpProject_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 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 UserColocationRfpProjectScss from \"./UserColocationRfpProject.scss\";\nimport * as UserColocationRfpProject_Details from \"./UserColocationRfpProject_Details.res.js\";\n\nvar css = UserColocationRfpProjectScss;\n\nfunction UserColocationRfpProject(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(ProjectHeader.make, {\n title: project.title,\n businessName: project.businessName,\n userRole: stickyBarUserRole,\n projectId: project.id,\n viewContext: viewContext,\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(UserColocationRfpProject_Details.make, {\n project: project,\n concierges: props.concierges,\n userRole: stickyBarUserRole,\n serverSide: props.serverSide,\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 = UserColocationRfpProject;\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 ColocationRfpProject from \"../../../../models/ColocationRfpProject.res.js\";\nimport * as ProjectStickyBarData from \"../_components/ProjectStickyBar/ProjectStickyBarData.res.js\";\nimport * as UserColocationRfpProject from \"./UserColocationRfpProject.res.js\";\n\nfunction UserColocationRfpProject__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 ColocationRfpProject.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(UserColocationRfpProject.make, {\n project: project,\n concierges: concierges,\n serverSide: railsContext$1.serverSide,\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 = UserColocationRfpProject__JsBridge$default;\n\nexport {\n $$default as default,\n}\n/* User Not a pure module */\n","import * as React from 'react';\n\nimport UserColocationRfpProject from './UserColocationRfpProject__JsBridge.res.js';\n\nexport default ({ context, ...props }) => <UserColocationRfpProject jsProps={props} railsContext={context} />;\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as ID from \"../libs/ID.res.js\";\n\nvar include = ID.$$String({});\n\nvar T = include.T;\n\nvar eq = include.eq;\n\nvar toJson = include.toJson;\n\nvar decoder = include.decoder;\n\nvar fromJson = include.fromJson;\n\nvar Comparable = include.Comparable;\n\nvar $$Map = include.$$Map;\n\nvar $$Set = include.$$Set;\n\nexport {\n T ,\n eq ,\n toJson ,\n decoder ,\n fromJson ,\n Comparable ,\n $$Map ,\n $$Set ,\n}\n/* include 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 LocationForProject from \"./LocationForProject.res.js\";\nimport * as ProviderForProject from \"./ProviderForProject.res.js\";\nimport * as Json$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json.res.js\";\nimport * as ColocationRfpProjectId from \"./ColocationRfpProjectId.res.js\";\nimport * as ColocationConfiguration from \"./ColocationConfiguration.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 id: field.required(\"id\", ColocationRfpProjectId.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 totalLocations: field.required(\"totalLocations\", Json_Decode$JsonCombinators.option(Json_Decode$JsonCombinators.$$int)),\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 colocationConfigurations: field.required(\"colocationConfigurations\", Json_Decode$JsonCombinators.array(ColocationConfiguration.decoder)),\n providers: field.required(\"providers\", Json_Decode$JsonCombinators.array(ProviderForProject.decoder)),\n locations: field.required(\"locations\", Json_Decode$JsonCombinators.array(LocationForProject.decoder))\n };\n });\n\nfunction fromJson(json) {\n return Belt_Result.getExn(Json$JsonCombinators.decode(json, decoder));\n}\n\nvar decoder$1 = Json_Decode$JsonCombinators.object(function (field) {\n return {\n label: field.required(\"label\", Json_Decode$JsonCombinators.string),\n value: field.required(\"value\", Json_Decode$JsonCombinators.$$int)\n };\n });\n\nfunction fromJson$1(json) {\n return Belt_Result.getExn(Json$JsonCombinators.decode(json, decoder$1));\n}\n\nvar ContractLength = {\n decoder: decoder$1,\n fromJson: fromJson$1\n};\n\nvar decoder$2 = Json_Decode$JsonCombinators.object(function (field) {\n return {\n contractLengths: field.required(\"contractLengths\", Json_Decode$JsonCombinators.array(decoder$1)),\n colocationSpace: field.required(\"colocationSpace\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n powerCircuit: field.required(\"powerCircuit\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n powerUnits: field.required(\"powerUnits\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n additionalSpaceAndPower: field.required(\"additionalSpaceAndPower\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n interconnect: field.required(\"interconnect\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n bandwidths: field.required(\"bandwidths\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n providers: field.required(\"providers\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n additionalInternetConnectivity: field.required(\"additionalInternetConnectivity\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n crossConnectProviders: field.required(\"crossConnectProviders\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n additionalCloudDirectConnects: field.required(\"additionalCloudDirectConnects\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n cloudPlatforms: field.required(\"cloudPlatforms\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n certificationRequirements: field.required(\"certificationRequirements\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n dataCenterFeatures: field.required(\"dataCenterFeatures\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string))\n };\n });\n\nfunction fromJson$2(json) {\n return Belt_Result.getExn(Json$JsonCombinators.decode(json, decoder$2));\n}\n\nvar ConfigurationOptions = {\n ContractLength: ContractLength,\n decoder: decoder$2,\n fromJson: fromJson$2\n};\n\nexport {\n decoder ,\n fromJson ,\n ConfigurationOptions ,\n}\n/* decoder Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as React from \"react\";\nimport * as Digest from \"rescript/lib/es6/digest.js\";\nimport * as Js_array from \"rescript/lib/es6/js_array.js\";\nimport * as GoogleMap from \"../../../bindings/GoogleMap.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 JsxRuntime from \"react/jsx-runtime\";\n\nfunction coordinatesHash(coordinates) {\n return Digest.string(Js_array.joinWith(\"|\", coordinates !== undefined ? Belt_Array.map(coordinates, GoogleMap.Coordinates.toString) : []));\n}\n\nfunction onLoad(map, bounds) {\n GoogleMap.Helpers.fitBounds(map, bounds);\n}\n\nvar Helpers = {\n coordinatesHash: coordinatesHash,\n onLoad: onLoad\n};\n\nfunction GoogleMapWithBounds(props) {\n var bounds = props.bounds;\n var mapRef = React.useRef(undefined);\n React.useEffect((function () {\n var map = mapRef.current;\n if (map !== undefined) {\n GoogleMap.Helpers.fitBounds(Caml_option.valFromOption(map), bounds);\n }\n \n }), [coordinatesHash(bounds)]);\n return JsxRuntime.jsx(GoogleMap.make, {\n zoom: props.zoom,\n center: props.center,\n style: props.style,\n options: props.options,\n mapContainerClassName: props.mapContainerClassName,\n onLoad: (function (map) {\n onLoad(map, bounds);\n mapRef.current = Caml_option.some(map);\n }),\n children: props.children\n });\n}\n\nvar make = GoogleMapWithBounds;\n\nexport {\n Helpers ,\n make ,\n}\n/* react Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Icon from \"../components/Icon/Icon.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nfunction IconSorting(props) {\n var direction = props.direction;\n var __title = props.title;\n var title = __title !== undefined ? __title : \"Sort\";\n return JsxRuntime.jsxs(Icon.make, {\n title: title,\n size: props.size,\n className: props.className,\n children: [\n JsxRuntime.jsx(\"path\", {\n d: \"M3 10L8 16L13 10H3Z\",\n fill: direction === \"Desc\" ? Icon.mapColor(\"Gray\") : Icon.mapColor(\"LighterGray\")\n }),\n JsxRuntime.jsx(\"path\", {\n d: \"M3 7L8 0L13 7H3Z\",\n fill: direction !== undefined && direction !== \"Desc\" ? Icon.mapColor(\"Gray\") : Icon.mapColor(\"LighterGray\")\n })\n ]\n });\n}\n\nvar make = IconSorting;\n\nexport {\n make ,\n}\n/* Icon Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Belt_List from \"rescript/lib/es6/belt_List.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 Js_null_undefined from \"rescript/lib/es6/js_null_undefined.js\";\n\nfunction toJs(style) {\n return {\n hue: Js_null_undefined.fromOption(Caml_option.undefined_to_opt(style.hue)),\n lightness: Js_null_undefined.fromOption(Caml_option.undefined_to_opt(style.lightness)),\n saturation: Js_null_undefined.fromOption(Caml_option.undefined_to_opt(style.saturation)),\n gamma: Js_null_undefined.fromOption(Caml_option.undefined_to_opt(style.gamma)),\n visibility: Js_null_undefined.fromOption(Caml_option.undefined_to_opt(style.visibility)),\n color: Js_null_undefined.fromOption(Caml_option.undefined_to_opt(style.color)),\n weight: Js_null_undefined.fromOption(Caml_option.undefined_to_opt(style.weight))\n };\n}\n\nvar Styler = {\n toJs: toJs\n};\n\nfunction toJs$1(record) {\n return {\n featureType: Js_null_undefined.fromOption(Caml_option.undefined_to_opt(record.featureType)),\n elementType: Js_null_undefined.fromOption(Caml_option.undefined_to_opt(record.elementType)),\n stylers: Belt_Array.map(Belt_List.toArray(record.stylers), toJs)\n };\n}\n\nvar Style = {\n toJs: toJs$1\n};\n\nfunction toJs$2(styles) {\n return Belt_Array.map(Belt_List.toArray(styles), toJs$1);\n}\n\nvar grey_0 = {\n elementType: \"geometry\",\n stylers: {\n hd: {\n color: \"#f5f5f5\"\n },\n tl: /* [] */0\n }\n};\n\nvar grey_1 = {\n hd: {\n elementType: \"labels.text.fill\",\n stylers: {\n hd: {\n color: \"#616161\"\n },\n tl: /* [] */0\n }\n },\n tl: {\n hd: {\n elementType: \"labels.text.stroke\",\n stylers: {\n hd: {\n color: \"#f5f5f5\"\n },\n tl: /* [] */0\n }\n },\n tl: {\n hd: {\n featureType: \"administrative.land_parcel\",\n elementType: \"labels.text.fill\",\n stylers: {\n hd: {\n color: \"#bdbdbd\"\n },\n tl: /* [] */0\n }\n },\n tl: {\n hd: {\n featureType: \"poi\",\n stylers: {\n hd: {\n visibility: \"off\"\n },\n tl: /* [] */0\n }\n },\n tl: {\n hd: {\n featureType: \"poi\",\n elementType: \"geometry\",\n stylers: {\n hd: {\n color: \"#eeeeee\"\n },\n tl: /* [] */0\n }\n },\n tl: {\n hd: {\n featureType: \"poi\",\n elementType: \"labels.text.fill\",\n stylers: {\n hd: {\n color: \"#757575\"\n },\n tl: /* [] */0\n }\n },\n tl: {\n hd: {\n featureType: \"poi.park\",\n elementType: \"geometry\",\n stylers: {\n hd: {\n color: \"#e5e5e5\"\n },\n tl: /* [] */0\n }\n },\n tl: {\n hd: {\n featureType: \"poi.park\",\n elementType: \"labels.text.fill\",\n stylers: {\n hd: {\n color: \"#9e9e9e\"\n },\n tl: /* [] */0\n }\n },\n tl: {\n hd: {\n featureType: \"poi.business\",\n elementType: \"geometry\",\n stylers: {\n hd: {\n visibility: \"off\"\n },\n tl: /* [] */0\n }\n },\n tl: {\n hd: {\n featureType: \"road\",\n elementType: \"geometry\",\n stylers: {\n hd: {\n color: \"#ffffff\"\n },\n tl: /* [] */0\n }\n },\n tl: {\n hd: {\n featureType: \"road\",\n elementType: \"labels.icon\",\n stylers: {\n hd: {\n saturation: -80.0\n },\n tl: {\n hd: {\n visibility: \"on\"\n },\n tl: /* [] */0\n }\n }\n },\n tl: {\n hd: {\n featureType: \"road.arterial\",\n elementType: \"labels.text.fill\",\n stylers: {\n hd: {\n color: \"#757575\"\n },\n tl: /* [] */0\n }\n },\n tl: {\n hd: {\n featureType: \"road.highway\",\n elementType: \"geometry\",\n stylers: {\n hd: {\n color: \"#dadada\"\n },\n tl: /* [] */0\n }\n },\n tl: {\n hd: {\n featureType: \"road.highway\",\n elementType: \"labels.text.fill\",\n stylers: {\n hd: {\n color: \"#616161\"\n },\n tl: /* [] */0\n }\n },\n tl: {\n hd: {\n featureType: \"road.local\",\n elementType: \"labels.text.fill\",\n stylers: {\n hd: {\n color: \"#9e9e9e\"\n },\n tl: /* [] */0\n }\n },\n tl: {\n hd: {\n featureType: \"transit.line\",\n elementType: \"geometry\",\n stylers: {\n hd: {\n color: \"#e5e5e5\"\n },\n tl: /* [] */0\n }\n },\n tl: {\n hd: {\n featureType: \"transit.station\",\n elementType: \"geometry\",\n stylers: {\n hd: {\n color: \"#eeeeee\"\n },\n tl: /* [] */0\n }\n },\n tl: {\n hd: {\n featureType: \"water\",\n elementType: \"geometry\",\n stylers: {\n hd: {\n color: \"#e9edf0\"\n },\n tl: /* [] */0\n }\n },\n tl: {\n hd: {\n featureType: \"water\",\n elementType: \"labels.text.fill\",\n stylers: {\n hd: {\n color: \"#9e9e9e\"\n },\n tl: /* [] */0\n }\n },\n tl: /* [] */0\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n};\n\nvar grey = {\n hd: grey_0,\n tl: grey_1\n};\n\nvar standard_0 = {\n featureType: \"administrative.land_parcel\",\n elementType: \"labels\",\n stylers: {\n hd: {\n visibility: \"off\"\n },\n tl: /* [] */0\n }\n};\n\nvar standard_1 = {\n hd: {\n featureType: \"poi\",\n elementType: \"labels.text\",\n stylers: {\n hd: {\n visibility: \"off\"\n },\n tl: /* [] */0\n }\n },\n tl: {\n hd: {\n featureType: \"poi.business\",\n stylers: {\n hd: {\n visibility: \"off\"\n },\n tl: /* [] */0\n }\n },\n tl: {\n hd: {\n featureType: \"road\",\n elementType: \"labels.icon\",\n stylers: {\n hd: {\n visibility: \"off\"\n },\n tl: /* [] */0\n }\n },\n tl: {\n hd: {\n featureType: \"road.local\",\n elementType: \"labels\",\n stylers: {\n hd: {\n visibility: \"off\"\n },\n tl: /* [] */0\n }\n },\n tl: {\n hd: {\n featureType: \"transit\",\n stylers: {\n hd: {\n visibility: \"off\"\n },\n tl: /* [] */0\n }\n },\n tl: /* [] */0\n }\n }\n }\n }\n};\n\nvar standard = {\n hd: standard_0,\n tl: standard_1\n};\n\nexport {\n Styler ,\n Style ,\n toJs$2 as toJs,\n grey ,\n standard ,\n}\n/* No side effect */\n"],"names":["DCLinkedInURL","DCTwitterURL","DCYouTubeURL","DCFacebookURL","DCContactNumber","DCContactNumberHRef","GoogleMapAPI","process","GoogleMapLibraries","Coordinates","fromLocation","$$location","lat","latitude","lng","longitude","fromLocationForMap","fromPreloadedSearchLocationForMap","preloadedSearchLocation","fromLocationShowForMap","fromLocationForProject","fromLocationForProjectsMap","toString","coordinates","String","toJs","options","position","toJs$1","mapTypeControl","zoomControl","zoomControlOptions","streetViewControl","fullscreenControl","addStyledMap","map","name","mapType","mapTypes","set","setStyle","style","google","maps","StyledMapType","setMapTypeId","setStyle$1","Belt_Option","GoogleMapStyles","onLoad","zoom","setZoom","Helpers","fitBounds","undefined","length","getZoom","bounds","LatLngBounds","Belt_Array","coordinate","extend","LatLng","overlayPaneName","toJs$2","icon","url","size","Size","origin","Point","anchor","Marker","Icon","$$default","Cloudinary","disabled","sponsored","red","orange","JsComponent","make","props","noClustererRedraw","clusterer","jsProps","onClick","children","JsxRuntime","Api","sponsoredImageUrl","MarkerClusterer","Style","textColor","height","width","__zoomOnClick","zoomOnClick","averageCenter","enableRetinaIcons","gridSize","minimumClusterSize","imagePath","styles","onClusteringEnd","getPixelPositionOffset","x","y","panBox","overlayView","contentWidth","contentHeight","getMap","mapBounds","getBounds","offset","contains","setCenter","padding","top","bottom","left","right","panToBounds","InfoBox","widthPadding","heightPadding","mapPaneName","onLoad$1","mapContainerClassName","center","column","container","contentWrapper","flex","flexColumn","gap1","gap2","gap3","gap4","gap5","row","colLeft","colRight","columnWrapper","descriptionContent","descriptionHeading","lastUpdated","reviewStatusWarning","datacentersCountText","editButton","emptyProviders","headingContentWrapper","locationHeading","mapContainer","mapElement","providerDetailRow","providerImage","providerName","providerPanel","providerPanelBody","providerPanelHeadingContainer","providerPanelImageAndNameWrapper","providerTable","providerTableHead","providerTableHeadingContainer","providerTitle","providersWrapper","quantityText","roleText","css","UserColocationRfpProject_Details_LocationsScss","locations","GoogleMap","serverSide","googleMapsApiKey","Global","libraries","GoogleMapWithBounds","Caml_option","ID","id","className","UserColocationRfpProject_Details_Locations_ProviderDataCentersLocationPanel$PanelHeading","dataCentersCount","alt","src","UserColocationRfpProject_Details_Locations_ProviderDataCentersLocationPanel$PanelBody","toggleDirection","sortDirection","sortedLocations","Belt_SortArray","x1","x2","Caml","P","IconSorting","direction","param","Picture","image","large","fallbackSrc","$$Location","A","href","targetBlank","fullAddress","provider","match","React","state","action","dispatch","UserProjectDetailsPanel","bodyClassName","heading","getHeadingQuantityTextForUser","userRole","providers","tmp","tmp$1","exit","Button","Routes_Project","update","projectId","color","ghost","buttonClassName","UserColocationRfpProject_Details_Locations_Map","UserColocationRfpProject_Details_Locations_ProviderDataCentersLocationPanel","IconBuilding","additionalNotes","checkboxes","checkboxesContainer","lightBackground","notesContainer","panel","panelBody","panelHeading","productName","productRow","productServiceLabel","productServiceValue","productsServiceWrapper","propertiesContainer","propertyLeft","propertyRight","stayShaded","switchLight","switchShaded","tickmarkIcon","withColon","UserColocationRfpProject_Details_RequiredProductsScss","label","Cx","value","contractLength","startDate","rackDetails","q","quantity","powerValue","match$1","powerUnits","UserColocationRfpProject_Details_RequiredProducts_ProductServiceDescription","index","colocationSpace","powerCircuit","$$Date","format","ProjectRequiredProducts_CheckmarkableOptions","additionalOptions","cssStart","crossConnect","interconnect","cloudDirectConnect","bandwidth","cloudPlatform","internetConnectivity","UserColocationRfpProject_Details_RequiredProducts_ProductPanel$CheckmarkableOptionsWithHeading","rackTypesAndPowerDensities","__isExpanded","isExpanded","colocationSpaceConfiguration","notes","additionalNotesOrRequirements","Js_array","rack","RackTypesAndPowerDensity","UserColocationRfpProject_Details_RequiredProducts_RackDetail","internetConnectivities","match$2","match$3","UserColocationRfpProject_Details_RequiredProducts_InternetConnectivityDetail","crossConnects","UserColocationRfpProject_Details_RequiredProducts_CrossConnectDetail","cloudDirectConnects","UserColocationRfpProject_Details_RequiredProducts_CloudDirectConnectDetail","certificationRequirements","datacenterFeatures","UserColocationRfpProject_DetailsScss","project","status","description","Format","updatedAt","colocationConfigurations","UserColocationRfpProject_Details_RequiredProducts_ProductPanel","documents","UserProjectDetailsDocuments","ProjectEstimatedDates","estimatedDates","UserProjectDetailsOwner","owner","isAgent","contacts","UserProjectDetailsContactInformation","UserProjectDetailsBusinessContactInformation","businessName","businessEmail","businessPhone","businessContactName","headquartersAddress","UserProjectConciergesInformation","concierges","UserColocationRfpProject_Details_Locations","UserColocationRfpProjectScss","projectStickyBarData","viewContext","stickyBarUserRole","Project","toRole","userProjectRole","total","totalProposals","ProjectTopNavbar","ProjectHeader","title","projectStatus","ProjectNavbar","activeTab","UserColocationRfpProject_Details","ProjectStickyBar","canSendProposals","desktop","tablet","mobile","railsContext","railsContext$1","RailsContext","ColocationRfpProject","ProjectsViewContext","ProjectStickyBarData","projectStickyBar","User","fromJson","UserColocationRfpProject","_ref","context","_objectWithoutProperties","_excluded","include","decoder","T","eq","toJson","Comparable","$$Map","$$Set","Json_Decode$JsonCombinators","field","required","ColocationRfpProjectId","category","totalLocations","totalProviders","endDate","createdAt","UserContact","ColocationConfiguration","ProviderForProject","LocationForProject","json","Belt_Result","Json$JsonCombinators","decoder$1","ContractLength","decoder$2","contractLengths","additionalSpaceAndPower","bandwidths","additionalInternetConnectivity","crossConnectProviders","additionalCloudDirectConnects","cloudPlatforms","dataCenterFeatures","ConfigurationOptions","coordinatesHash","Digest","mapRef","current","__title","d","fill","hue","Js_null_undefined","lightness","saturation","gamma","visibility","weight","record","featureType","elementType","stylers","Belt_List","grey","hd","tl","standard"],"sourceRoot":""}