{"version":3,"file":"static/js/1890.bf0c52df.chunk.js","mappings":"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","sources":["shared/parking-carpark-summary/carpark-pricing-summary-component.jsx","shared/parking-carpark-summary/carpark-pricing-summary-module.jsx"],"sourcesContent":["import React, { useState } from \"react\"\nimport Svg from \"../../shared/_svgs/svg\"\nimport ReactHtmlParser from \"react-html-parser\"\nimport * as SelectionFactoryHelper from \"../helpers/SelectionFactoryHelper\"\nimport OutsideClickTrigger from \"../../booking/components/common/OutsideClickTrigger\"\nimport PropTypes, { string } from \"prop-types\"\nimport { object } from \"underscore\"\n\nexport default function CarparkPricingSummaryComponent({\n parkingProductsCards,\n contentReferences,\n defaultSortingLabel,\n distanceShortToLongLabel,\n distanceLongToShortLabel,\n priceCheapToExpensiveLabel,\n priceExpensiveToCheapLabel,\n resultLabel,\n resultsLabel,\n}) {\n const [selectedCategory, setSelectedCategory] = useState(undefined)\n const [selectedSorting, setSelectedSorting] = useState(defaultSortingLabel)\n const [selectedCategoryReference, setSelectedCategoryReference] = useState(undefined)\n const [selectedLatitude, setSelectedLatitude] = useState(undefined)\n const [selectedLongitude, setSelectedLongitude] = useState(undefined)\n const [activatedMap, setActivatedMap] = useState(false)\n\n const sortedProducts = [...parkingProductsCards].sort((a, b) => {\n if (selectedSorting == defaultSortingLabel) return 0\n if (a.__type__ === \"ParkingGenericCardBlock\") return 1\n if (b.__type__ === \"ParkingGenericCardBlock\") return -1\n\n switch (selectedSorting) {\n case priceCheapToExpensiveLabel:\n return a.minimumBookingPrice - b.minimumBookingPrice\n case priceExpensiveToCheapLabel:\n return b.minimumBookingPrice - a.minimumBookingPrice\n case distanceShortToLongLabel:\n return a.minimumDistanceToAirport - b.minimumDistanceToAirport\n case distanceLongToShortLabel:\n return b.maximumDistanceToAirport - a.maximumDistanceToAirport\n default:\n return 0\n }\n })\n\n const htmlCategoryPills =\n contentReferences && contentReferences.length > 0\n ? contentReferences.map((reference) => {\n return (\n <CategoryPill\n key={reference.ContentId}\n selectedCategory={selectedCategory}\n setSelectedCategory={setSelectedCategory}\n selectedCategoryReference={selectedCategoryReference}\n setSelectedCategoryReference={setSelectedCategoryReference}\n contentReference={reference}\n />\n )\n })\n : undefined\n\n const htmlProductCards =\n sortedProducts && sortedProducts.length > 0\n ? sortedProducts\n .filter((card) => {\n if (!selectedCategory) {\n return true\n }\n const numberSelectedCategory = Number(selectedCategory)\n if (card && card.selectedParkingProductCardCategories && card.selectedParkingProductCardCategories.length > 0)\n return card.selectedParkingProductCardCategories.includes(numberSelectedCategory)\n\n return\n })\n .map((card, index) => {\n if (card.__type__ === \"ParkingProductCardBlock\") {\n return (\n <ParkingProductCardBlock\n key={card.carparkCode + \"-\" + index}\n setActivatedMap={setActivatedMap}\n setSelectedLatitude={setSelectedLatitude}\n selectedLatitude={selectedLatitude}\n setSelectedLongitude={setSelectedLongitude}\n selectedLongitude={selectedLongitude}\n {...card}\n />\n )\n } else if (card.__type__ === \"ParkingGenericCardBlock\") {\n return <ParkingGenericCardBlock key={card.productName + \"-\" + index} {...card} />\n }\n return null\n })\n : undefined\n\n return (\n <section className={\"carpark-summary-section w--wider\"}>\n <div className=\"category-container-outer\">\n <div className=\"category-container\">{htmlCategoryPills}</div>\n {contentReferences && contentReferences.length > 0\n ? contentReferences.map((reference, index) => {\n return (\n <div\n key={reference.ContentId + \"-\" + index}\n className={`explainer-section rich-text w--narrow ${selectedCategoryReference && selectedCategoryReference.ContentId == reference.ContentId ? \"selected\" : \"hidden\"}`}\n >\n {ReactHtmlParser(reference.CategoryExplainerText)}\n </div>\n )\n })\n : undefined}\n </div>\n <div className=\"results-sorting-outer\">\n <div className=\"results-sorting\">\n <div className=\"sorting-options\">\n <SortOptions\n defaultSortingLabel={defaultSortingLabel}\n distanceLongToShortLabel={distanceLongToShortLabel}\n distanceShortToLongLabel={distanceShortToLongLabel}\n priceCheapToExpensiveLabel={priceCheapToExpensiveLabel}\n priceExpensiveToCheapLabel={priceExpensiveToCheapLabel}\n selectedSorting={selectedSorting}\n setSelectedSorting={setSelectedSorting}\n />\n </div>\n <div className=\"product-cards-results\">\n <p>\n {htmlProductCards && htmlProductCards.length != 1 ? (\n <span>\n {htmlProductCards.length} {resultsLabel}\n </span>\n ) : (\n <span>\n {htmlProductCards.length} {resultLabel}\n </span>\n )}\n </p>\n </div>\n </div>\n </div>\n <div className=\"product-card-outer-container\">\n <div className=\"product-card-container\">{htmlProductCards}</div>\n </div>\n {activatedMap ? (\n <div className=\"summary-map-overlay\">\n <div className={\"overlay overlay--modal overlay--fixed is-active\"}>\n <div className={\"modal modal--iframe-modal\"}>\n <OutsideClickTrigger\n onOutsideClick={() => {\n setActivatedMap(false)\n setSelectedLatitude(undefined)\n setSelectedLongitude(undefined)\n }}\n >\n <React.Fragment>\n <button\n autoFocus={true}\n className=\"button button--icon modal-close close-map\"\n onClick={() => {\n setActivatedMap(false)\n setSelectedLatitude(undefined)\n setSelectedLongitude(undefined)\n }}\n >\n <span className=\"icon\">\n <svg className=\"svg-icon svg-icon--close-new\">\n <use xmlnsXlink=\"http://www.w3.org/1999/xlink\" xlinkHref=\"/dist/svg/symbols.svg#svg-close-new\">\n \n </use>\n </svg>\n </span>\n </button>\n <div className=\"modal__content modal__content--no-padding\">\n <div className=\"modal__content__inner\">\n <div className=\"modal__middle\" style={{ padding: \"0px\", margin: \"0px\" }}>\n <div className=\"modal__middle__inner\">\n <iframe\n title=\"Google Maps Modal\"\n id=\"gmap_canvas\"\n src={`https://maps.google.com/maps?q=${selectedLatitude},${selectedLongitude}&output=embed`}\n width=\"100%\"\n height=\"500\"\n />\n </div>\n </div>\n </div>\n </div>\n </React.Fragment>\n </OutsideClickTrigger>\n </div>\n </div>\n </div>\n ) : undefined}\n </section>\n )\n}\n\nCarparkPricingSummaryComponent.propTypes = {\n parkingProductsCards: PropTypes.arrayOf(object),\n contentReferences: PropTypes.arrayOf(object),\n defaultSortingLabel: PropTypes.string,\n distanceShortToLongLabel: PropTypes.string,\n distanceLongToShortLabel: PropTypes.string,\n priceCheapToExpensiveLabel: PropTypes.string,\n priceExpensiveToCheapLabel: PropTypes.string,\n resultLabel: PropTypes.string,\n resultsLabel: PropTypes.string,\n}\n\nfunction ParkingProductCardBlock({\n bookingPricingType,\n carparkCode,\n driveInPrice,\n latitude,\n selectedLatitude,\n setSelectedLatitude,\n longitude,\n selectedLongitude,\n setSelectedLongitude,\n setActivatedMap,\n mapLinkLabel,\n minimumBookingPrice,\n pricingDescription,\n productName,\n readMoreButtonLabel,\n readMoreButtonLink,\n readMoreButtonLinkTitle,\n uspTexts,\n activateCampaign,\n campaignText,\n productCardStyle,\n}) {\n const cardStyle = SelectionFactoryHelper.getFromSelectionFactory(productCardStyle) ?? \"\"\n\n const handleMapsButtonClick = () => {\n if (!selectedLatitude && !selectedLongitude) {\n setSelectedLatitude(latitude)\n setSelectedLongitude(longitude)\n setActivatedMap(true)\n } else {\n setSelectedLatitude(undefined)\n setSelectedLongitude(undefined)\n setActivatedMap(false)\n }\n }\n\n let modifiedDescription = pricingDescription.replace(/\\{minimumBookingPrice\\}/, `<span class=\"minimum-price\">{minimumBookingPrice}</span>`)\n\n if (modifiedDescription.includes(\"<br />\")) {\n modifiedDescription = modifiedDescription.replace(/<br \\/>((.|\\n)*?)<\\/p>/, `<br /><span class=\"after-br\">$1</span></p>`)\n }\n\n return (\n <div className=\"summary-card-outer-container product-card\">\n {activateCampaign ? (\n <div className=\"discount-container-outer\">\n <div className=\"discount-container\">\n <p className=\"discount-text\">{campaignText}</p>\n </div>\n </div>\n ) : undefined}\n <div className={`summary-card-container ${activateCampaign ? \"active-campaign\" : \"\"}`}>\n <div className={`summary-card-tophalf ${cardStyle}`}>\n <div className=\"parking-product-details\">\n <p className=\"parking-product-code\">{carparkCode}</p>\n <p className=\"parking-product-name\">{productName}</p>\n </div>\n <div className=\"product-pricing-details\">\n <p className=\"booking-type\">{bookingPricingType}</p>\n <div className=\"rich-text\">\n {ReactHtmlParser(\n modifiedDescription.formatUnicorn({\n minimumBookingPrice: minimumBookingPrice.toLocaleString(\"da-DK\"),\n driveInPrice: driveInPrice.toLocaleString(\"da-DK\"),\n }),\n )}\n </div>\n </div>\n </div>\n <div className=\"summary-card-bottomhalf\">\n <div className=\"summary-usp-content\">\n {uspTexts && uspTexts.length > 0\n ? uspTexts.map((usp, index) => {\n return (\n <span key={productName + \"-\" + carparkCode + \"-\" + usp + \"-\" + index} className=\"summary-usp-item\">\n <Svg iconName=\"checkmark2\" />\n <p>{usp}</p>\n </span>\n )\n })\n : undefined}\n </div>\n <div className=\"map-button-content\">\n <button className=\"map-link\" onClick={() => handleMapsButtonClick()}>\n <Svg fillColor=\"transparent\" iconName=\"Addres\" />\n <p className=\"map-link-label\">{mapLinkLabel}</p>\n </button>\n <a className=\"summary-read-more\" title={readMoreButtonLinkTitle} href={readMoreButtonLink}>\n {readMoreButtonLabel}\n </a>\n </div>\n </div>\n </div>\n </div>\n )\n}\n\nParkingProductCardBlock.propTypes = {\n bookingPricingType: PropTypes.string,\n carparkCode: PropTypes.string,\n driveInPrice: PropTypes.number,\n latitude: PropTypes.string,\n selectedLatitude: PropTypes.string,\n setSelectedLatitude: PropTypes.func,\n longitude: PropTypes.string,\n selectedLongitude: PropTypes.string,\n setSelectedLongitude: PropTypes.func,\n setActivatedMap: PropTypes.func,\n mapLinkLabel: PropTypes.string,\n minimumBookingPrice: PropTypes.number,\n pricingDescription: PropTypes.string,\n productName: PropTypes.string,\n readMoreButtonLabel: PropTypes.string,\n readMoreButtonLink: PropTypes.string,\n readMoreButtonLinkTitle: PropTypes.string,\n uspTexts: PropTypes.arrayOf(string),\n activateCampaign: PropTypes.bool,\n campaignText: PropTypes.string,\n productCardStyle: PropTypes.arrayOf(object),\n}\n\nfunction ParkingGenericCardBlock({ productLines, productName, readMoreButtonLabel, readMoreButtonLink, readMoreButtonLinkTitle, uspTexts }) {\n return (\n <div className=\"summary-card-outer-container generic-card\">\n <div className=\"summary-card-container\">\n <div className=\"summary-card-tophalf generic\">\n <div className=\"parking-product-details\">\n <div className=\"parking-product-code\"></div>\n <p className=\"parking-product-name\">{productName}</p>\n </div>\n <div className=\"parking-product-generic-lines\">\n {productLines && productLines.length > 0\n ? productLines.map((line, index) => {\n return (\n <p key={productName + \"-\" + (line.productCode ?? \"index\" + \"\" + index)} className=\"summary-generic-productline\">\n <span className=\"summary-product-line-name\">\n <strong className=\"code\">{line.productCode}</strong> {line.productName}\n </span>\n <span className=\"summary-product-line-price\">\n <span className=\"summary-price-emphasized\">{line.productPrice} </span>\n <strong>{line.productCurrency}</strong>\n <span className=\"summary-duration-definition\">{line.productDurationDefinition}</span>\n </span>\n </p>\n )\n })\n : undefined}\n </div>\n </div>\n <div className=\"summary-card-bottomhalf\">\n <div className=\"summary-usp-content\">\n {uspTexts && uspTexts.length > 0\n ? uspTexts.map((usp, index) => {\n return (\n <span key={productName + \"-\" + index + \"-\" + usp} className=\"summary-usp-item\">\n <Svg iconName=\"checkmark2\" />\n <p>{usp}</p>\n </span>\n )\n })\n : undefined}\n </div>\n <div className=\"map-button-content\">\n <a className=\"summary-read-more\" title={readMoreButtonLinkTitle} href={readMoreButtonLink}>\n {readMoreButtonLabel}\n </a>\n </div>\n </div>\n </div>\n </div>\n )\n}\n\nParkingGenericCardBlock.propTypes = {\n productLines: PropTypes.arrayOf(object),\n productName: PropTypes.string,\n readMoreButtonLabel: PropTypes.string,\n readMoreButtonLink: PropTypes.string,\n readMoreButtonLinkTitle: PropTypes.string,\n uspTexts: PropTypes.arrayOf(string),\n}\n\nfunction CategoryPill({ selectedCategory, setSelectedCategory, contentReference, selectedCategoryReference, setSelectedCategoryReference }) {\n const handleSetCategory = () => {\n if (selectedCategory != contentReference.ContentId) {\n setSelectedCategory(contentReference.ContentId)\n setSelectedCategoryReference(contentReference)\n } else {\n setSelectedCategory(undefined)\n setSelectedCategoryReference(undefined)\n }\n }\n const categoryIsSet = selectedCategory == contentReference.ContentId\n\n return (\n <div className=\"category-pill-container-outer\">\n <button className={`category-pill-container ${categoryIsSet ? \"selected\" : \"\"}`} onClick={() => handleSetCategory()}>\n <span>\n <Svg iconName=\"checkmark2\" />\n </span>\n <p>{contentReference.Name}</p>\n </button>\n </div>\n )\n}\n\nCategoryPill.propTypes = {\n selectedCategory: PropTypes.string,\n setSelectedCategory: PropTypes.func,\n contentReference: PropTypes.object,\n selectedCategoryReference: PropTypes.object,\n setSelectedCategoryReference: PropTypes.func,\n}\n\nfunction SortOptions({\n defaultSortingLabel,\n distanceShortToLongLabel,\n distanceLongToShortLabel,\n priceCheapToExpensiveLabel,\n priceExpensiveToCheapLabel,\n selectedSorting,\n setSelectedSorting,\n}) {\n const handleSelectChange = (value) => {\n setSelectedSorting(value)\n setIsSortMenuOpen(false)\n }\n\n const [isSortMenuOpen, setIsSortMenuOpen] = useState(false)\n const tabindexvalue = isSortMenuOpen ? 0 : -1\n\n return (\n <div className=\"sort-menu\">\n <OutsideClickTrigger onOutsideClick={() => setIsSortMenuOpen(false)}>\n <button className=\"sort-toggler\" onClick={() => setIsSortMenuOpen(!isSortMenuOpen)} aria-expanded={isSortMenuOpen}>\n {selectedSorting}\n <Svg iconName=\"arrowdownangle\" iconClass={`icon ${isSortMenuOpen ? \"open\" : \"closed\"}`} />\n </button>\n\n <div className={`sort ${isSortMenuOpen ? \"open\" : \"closed\"}`}>\n <div className=\"options\" role=\"listbox\" aria-label=\"sort menu\">\n <span className=\"option\">\n <button tabIndex={tabindexvalue} onClick={() => handleSelectChange(defaultSortingLabel)}>\n {defaultSortingLabel}\n </button>\n </span>\n <span className=\"option\">\n <button tabIndex={tabindexvalue} onClick={() => handleSelectChange(distanceShortToLongLabel)}>\n {distanceShortToLongLabel}\n </button>\n </span>\n <span className=\"option\">\n <button tabIndex={tabindexvalue} onClick={() => handleSelectChange(distanceLongToShortLabel)}>\n {distanceLongToShortLabel}\n </button>\n </span>\n <span className=\"option\">\n <button tabIndex={tabindexvalue} onClick={() => handleSelectChange(priceCheapToExpensiveLabel)}>\n {priceCheapToExpensiveLabel}\n </button>\n </span>\n <span className=\"option\">\n <button tabIndex={tabindexvalue} onClick={() => handleSelectChange(priceExpensiveToCheapLabel)}>\n {priceExpensiveToCheapLabel}\n </button>\n </span>\n </div>\n </div>\n </OutsideClickTrigger>\n </div>\n )\n}\nSortOptions.propTypes = {\n defaultSortingLabel: PropTypes.string,\n distanceShortToLongLabel: PropTypes.string,\n distanceLongToShortLabel: PropTypes.string,\n priceCheapToExpensiveLabel: PropTypes.string,\n priceExpensiveToCheapLabel: PropTypes.string,\n selectedSorting: PropTypes.string,\n setSelectedSorting: PropTypes.func,\n}\n","import React from \"react\"\nimport ReactDOM from \"react-dom\"\nimport CarparkPricingSummaryComponent from \"./carpark-pricing-summary-component\"\n\nexport default class CarparkPricingSummaryModule {\n constructor(elem) {\n const self = this\n self.elem = elem\n self.modelJson = elem.dataset.modelJson && JSON.parse(elem.dataset.modelJson)\n self.contentReferences = (elem.dataset.modelJson && JSON.parse(elem.dataset.contentReferences)) || \"[]\"\n this.init()\n return self\n }\n\n init() {\n const self = this\n ReactDOM.unmountComponentAtNode(self.elem)\n ReactDOM.render(\n <CarparkPricingSummaryComponent\n contentReferences={self.contentReferences}\n parkingProductsCards={self.modelJson.parkingProductCardContainer}\n resultsLabel={self.modelJson.resultsLabel}\n resultLabel={self.modelJson.resultLabel}\n defaultSortingLabel={self.modelJson.defaultSortingLabel}\n distanceShortToLongLabel={self.modelJson.distanceShortToLongLabel}\n distanceLongToShortLabel={self.modelJson.distanceLongToShortLabel}\n priceCheapToExpensiveLabel={self.modelJson.priceCheapToExpensiveLabel}\n priceExpensiveToCheapLabel={self.modelJson.priceExpensiveToCheapLabel}\n // {...self.modelJson}\n />,\n self.elem,\n )\n }\n}\n"],"names":["CarparkPricingSummaryComponent","_ref","parkingProductsCards","contentReferences","defaultSortingLabel","distanceShortToLongLabel","distanceLongToShortLabel","priceCheapToExpensiveLabel","priceExpensiveToCheapLabel","resultLabel","resultsLabel","_useState","useState","undefined","_useState2","_slicedToArray","selectedCategory","setSelectedCategory","_useState3","_useState4","selectedSorting","setSelectedSorting","_useState5","_useState6","selectedCategoryReference","setSelectedCategoryReference","_useState7","_useState8","selectedLatitude","setSelectedLatitude","_useState9","_useState10","selectedLongitude","setSelectedLongitude","_useState11","_useState12","activatedMap","setActivatedMap","sortedProducts","_toConsumableArray","sort","a","b","__type__","minimumBookingPrice","minimumDistanceToAirport","maximumDistanceToAirport","htmlCategoryPills","length","map","reference","_jsx","CategoryPill","contentReference","ContentId","htmlProductCards","filter","card","numberSelectedCategory","Number","selectedParkingProductCardCategories","includes","index","ParkingProductCardBlock","_objectSpread","carparkCode","ParkingGenericCardBlock","productName","_jsxs","className","children","concat","ReactHtmlParser","CategoryExplainerText","SortOptions","OutsideClickTrigger","onOutsideClick","React","autoFocus","onClick","xmlnsXlink","xlinkHref","style","padding","margin","title","id","src","width","height","_ref2","_SelectionFactoryHelp","bookingPricingType","driveInPrice","latitude","longitude","mapLinkLabel","pricingDescription","readMoreButtonLabel","readMoreButtonLink","readMoreButtonLinkTitle","uspTexts","activateCampaign","campaignText","productCardStyle","cardStyle","SelectionFactoryHelper","modifiedDescription","replace","formatUnicorn","toLocaleString","usp","Svg","iconName","fillColor","href","_ref3","productLines","line","_line$productCode","productCode","productPrice","productCurrency","productDurationDefinition","_ref4","categoryIsSet","Name","_ref5","handleSelectChange","value","setIsSortMenuOpen","_useState13","_useState14","isSortMenuOpen","tabindexvalue","iconClass","role","tabIndex","CarparkPricingSummaryModule","_createClass","elem","_classCallCheck","self","this","modelJson","dataset","JSON","parse","init","key","ReactDOM","parkingProductCardContainer"],"sourceRoot":""}