@renaissancerentals/renaissance-component 12.4.24 → 13.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/announcement/Banner.d.ts +1 -1
- package/lib/announcement/assets/Banner.css +65 -0
- package/lib/application/ApplicationCompletion.d.ts +1 -1
- package/lib/application/ApplicationModal.d.ts +1 -1
- package/lib/application/ApplicationSection.d.ts +1 -1
- package/lib/application/assets/ApplicationCompletion.css +44 -0
- package/lib/application/assets/{ApplicationModal.scss → ApplicationModal.css} +3 -5
- package/lib/application/assets/{ApplicationSection.scss → ApplicationSection.css} +12 -11
- package/lib/asset/AssetModal.d.ts +1 -1
- package/lib/asset/VideoModal.d.ts +1 -1
- package/lib/asset/assets/{AssetModal.scss → AssetModal.css} +1 -3
- package/lib/asset/assets/{VideoModal.scss → VideoModal.css} +1 -3
- package/lib/assets/App.css +3 -0
- package/lib/assets/form.css +89 -0
- package/lib/assets/variables.css +49 -0
- package/lib/banner/SubmissionRequestBanner.d.ts +1 -1
- package/lib/banner/assets/{SubmissionRequestBanner.scss → SubmissionRequestBanner.css} +0 -2
- package/lib/card/Card.d.ts +1 -1
- package/lib/card/assets/Card.css +45 -0
- package/lib/contact/ContactModal.d.ts +1 -1
- package/lib/contact/ContactSection.d.ts +1 -1
- package/lib/contact/ContactSectionSkeleton.d.ts +1 -1
- package/lib/contact/assets/{ContactModal.scss → ContactModal.css} +2 -4
- package/lib/contact/assets/{ContactSection.scss → ContactSection.css} +14 -12
- package/lib/contact/assets/{ContactSkeleton.scss → ContactSkeleton.css} +1 -1
- package/lib/faq/FaqsCard.d.ts +1 -1
- package/lib/faq/FaqsSection.d.ts +1 -1
- package/lib/faq/PropertyFaqSection.d.ts +1 -1
- package/lib/faq/ResidentFaqSection.d.ts +1 -1
- package/lib/faq/assets/{FaqsCard.scss → FaqsCard.css} +0 -2
- package/lib/faq/assets/{FaqsSection.scss → FaqsSection.css} +1 -3
- package/lib/faq/assets/{PropertyFaqSection.scss → PropertyFaqSection.css} +0 -2
- package/lib/faq/assets/{ResidentFaqSection.scss → ResidentFaqSection.css} +1 -3
- package/lib/feature/FeatureSection.d.ts +1 -1
- package/lib/feature/assets/{FeatureSection.scss → FeatureSection.css} +7 -6
- package/lib/floorplan/card/FloorplanCard.d.ts +1 -1
- package/lib/floorplan/card/FloorplanCardSkeleton.d.ts +1 -1
- package/lib/floorplan/card/FloorplanCardSlider.d.ts +1 -1
- package/lib/floorplan/card/FloorplanPrice.d.ts +1 -1
- package/lib/floorplan/card/SimilarFloorplanCard.d.ts +1 -1
- package/lib/floorplan/card/TestimonialsCard.d.ts +1 -1
- package/lib/floorplan/card/assets/{FloorplanCard.scss → FloorplanCard.css} +36 -35
- package/lib/floorplan/card/assets/{FloorplanCardSlider.scss → FloorplanCardSlider.css} +4 -6
- package/lib/floorplan/card/assets/{FloorplanFaqsCard.scss → FloorplanFaqsCard.css} +1 -3
- package/lib/floorplan/card/assets/FloorplanPrice.css +35 -0
- package/lib/floorplan/card/assets/{SimilarFloorplanCard.scss → SimilarFloorplanCard.css} +2 -4
- package/lib/floorplan/card/assets/{TestimonialsCard.scss → TestimonialsCard.css} +2 -4
- package/lib/floorplan/filter/FloorplanDropDown.d.ts +1 -1
- package/lib/floorplan/filter/assets/{FloorplanDropDown.scss → FloorplanDropDown.css} +0 -2
- package/lib/floorplan/section/FloorplanHero.d.ts +1 -1
- package/lib/floorplan/section/FloorplanSection.d.ts +1 -1
- package/lib/floorplan/section/FloorplanSectionSkeleton.d.ts +1 -1
- package/lib/floorplan/section/FloorplansHeader.d.ts +2 -2
- package/lib/floorplan/section/FloorplansHeaderSekeleton.d.ts +2 -2
- package/lib/floorplan/section/FloorplansSection.d.ts +1 -1
- package/lib/floorplan/section/HeroBadgeStats.d.ts +1 -1
- package/lib/floorplan/section/assets/BadgeStats.css +3 -0
- package/lib/floorplan/section/assets/{FloorplanHero.scss → FloorplanHero.css} +21 -20
- package/lib/floorplan/section/assets/{FloorplanSection.scss → FloorplanSection.css} +12 -12
- package/lib/{unit/section/assets/UnitsHeader.scss → floorplan/section/assets/FloorplansHeader.css} +8 -7
- package/lib/floorplan/section/assets/{FloorplansSection.scss → FloorplansSection.css} +0 -2
- package/lib/floorplan/section/assets/{HeroBadgeStats.scss → HeroBadgeStats.css} +5 -7
- package/lib/footer/Footer.d.ts +1 -1
- package/lib/footer/assets/{Footer.scss → Footer.css} +13 -12
- package/lib/gallery/DriveGallery.d.ts +1 -1
- package/lib/gallery/Gallery.d.ts +1 -1
- package/lib/gallery/GalleryModal.d.ts +1 -1
- package/lib/gallery/GridGallery.d.ts +1 -1
- package/lib/gallery/GridGalleryCover.d.ts +1 -1
- package/lib/gallery/GridGalleryMobile.d.ts +1 -1
- package/lib/gallery/GridGallerySkeleton.d.ts +1 -1
- package/lib/gallery/HeroImageCard.d.ts +1 -1
- package/lib/gallery/ImageCard.d.ts +1 -1
- package/lib/gallery/ImageCardSkeleton.d.ts +1 -1
- package/lib/gallery/assets/{DriveGallery.scss → DriveGallery.css} +0 -2
- package/lib/gallery/assets/{Gallery.scss → Gallery.css} +12 -14
- package/lib/gallery/assets/{GalleryModal.scss → GalleryModal.css} +3 -5
- package/lib/gallery/assets/{GridGallery.scss → GridGallery.css} +3 -5
- package/lib/gallery/assets/{GridGalleryMobile.scss → GridGalleryMobile.css} +3 -5
- package/lib/gallery/assets/{HeroImageCard.scss → HeroImageCard.css} +1 -3
- package/lib/gallery/assets/{ImageCard.scss → ImageCard.css} +1 -3
- package/lib/header/InfoHeader.d.ts +1 -1
- package/lib/header/assets/InfoHeader.css +29 -0
- package/lib/home-page-special/HomePageSpecialCard.d.ts +1 -1
- package/lib/home-page-special/HomePageSpecialModal.d.ts +1 -1
- package/lib/home-page-special/HomePageSpecialSection.d.ts +1 -1
- package/lib/home-page-special/assets/{HomePageSpecialCard.scss → HomePageSpecialCard.css} +0 -2
- package/lib/home-page-special/assets/{HomePageSpecialModal.scss → HomePageSpecialModal.css} +3 -5
- package/lib/home-page-special/assets/{HomePageSpecialSection.scss → HomePageSpecialSection.css} +0 -2
- package/lib/index.cjs.js +112 -0
- package/lib/index.css +10 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.es.js +21817 -0
- package/lib/index.umd.js +112 -0
- package/lib/map/MapSection.d.ts +1 -1
- package/lib/map/assets/{Map.scss → Map.css} +0 -2
- package/lib/property/LeaseOfficeSkeleton.d.ts +1 -1
- package/lib/property/PropertyLocation.d.ts +1 -1
- package/lib/property/PropertyLocationSkeleton.d.ts +1 -1
- package/lib/property/assets/{PropertyLocation.scss → PropertyLocation.css} +3 -5
- package/lib/property/assets/{PropertyLocationSkeleton.scss → PropertyLocationSkeleton.css} +2 -4
- package/lib/review/ReviewSection.d.ts +1 -1
- package/lib/review/assets/{ReviewSection.scss → ReviewSection.css} +7 -9
- package/lib/short-term/Hostaway.d.ts +1 -1
- package/lib/short-term/ShortTermFloorplanCard.d.ts +1 -1
- package/lib/short-term/ShortTermFloorplanHero.d.ts +1 -1
- package/lib/short-term/ShortTermFloorplanSection.d.ts +1 -1
- package/lib/short-term/ShortTermFloorplansHeader.d.ts +2 -2
- package/lib/short-term/ShortTermFloorplansSection.d.ts +1 -1
- package/lib/short-term/ShortTermPricingCard.d.ts +1 -1
- package/lib/short-term/assets/{Hostaway.scss → Hostaway.css} +16 -15
- package/lib/short-term/assets/{ShortTermFloorplanCard.scss → ShortTermFloorplanCard.css} +20 -19
- package/lib/short-term/assets/{ShortTermFloorplanHero.scss → ShortTermFloorplanHero.css} +21 -20
- package/lib/short-term/assets/{ShortTermFloorplanSection.scss → ShortTermFloorplanSection.css} +17 -17
- package/lib/short-term/assets/{ShortTermFloorplansHeader.scss → ShortTermFloorplansHeader.css} +8 -7
- package/lib/short-term/assets/{ShortTermFloorplansSection.scss → ShortTermFloorplansSection.css} +0 -2
- package/lib/short-term/assets/{ShortTermPricingCard.scss → ShortTermPricingCard.css} +5 -7
- package/lib/special-offer/SpecialOfferBadge.d.ts +1 -1
- package/lib/special-offer/SpecialOfferButton.d.ts +1 -1
- package/lib/special-offer/assets/{SpecialOfferBadge.scss → SpecialOfferBadge.css} +3 -5
- package/lib/special-offer/assets/{SpecialOfferButton.scss → SpecialOfferButton.css} +2 -4
- package/lib/sublet/SubletCard.d.ts +1 -1
- package/lib/sublet/SubletImage.d.ts +1 -1
- package/lib/sublet/SubletMessageModal.d.ts +1 -1
- package/lib/sublet/SubletNotFound.d.ts +1 -1
- package/lib/sublet/SubletSection.d.ts +1 -1
- package/lib/sublet/SubletsSection.d.ts +1 -1
- package/lib/sublet/assets/{SubletCard.scss → SubletCard.css} +2 -4
- package/lib/sublet/assets/{SubletImage.scss → SubletImage.css} +2 -4
- package/lib/sublet/assets/{SubletMessageModal.scss → SubletMessageModal.css} +6 -8
- package/lib/sublet/assets/{SubletNotFound.scss → SubletNotFound.css} +0 -2
- package/lib/sublet/assets/{SubletSection.scss → SubletSection.css} +4 -6
- package/lib/sublet/assets/{SubletsSection.scss → SubletsSection.css} +1 -3
- package/lib/sublet/services/SubletService.d.ts +6 -2
- package/lib/summer-house/SummerHouseFeatures.d.ts +1 -1
- package/lib/summer-house/assets/{SummerHouseFeatures.scss → SummerHouseFeatures.css} +2 -4
- package/lib/summer-house/assets/{SummerHousePricing.scss → SummerHousePricing.css} +2 -4
- package/lib/team/TeamSection.d.ts +1 -1
- package/lib/team/assets/{Team.scss → Team.css} +0 -2
- package/lib/team/card/TeamCard.d.ts +1 -1
- package/lib/team/card/TeamCardSkeleton.d.ts +1 -1
- package/lib/team/card/assets/{TeamCard.scss → TeamCard.css} +6 -5
- package/lib/unit/card/UnitCard.d.ts +1 -1
- package/lib/unit/card/assets/{UnitCard.scss → UnitCard.css} +33 -32
- package/lib/unit/section/UnitHero.d.ts +1 -1
- package/lib/unit/section/UnitPrice.d.ts +1 -1
- package/lib/unit/section/UnitSection.d.ts +1 -1
- package/lib/unit/section/UnitsHeader.d.ts +1 -1
- package/lib/unit/section/UnitsSection.d.ts +1 -1
- package/lib/unit/section/assets/{UnitSection.scss → UnitSection.css} +12 -12
- package/lib/{floorplan/section/assets/FloorplansHeader.scss → unit/section/assets/UnitsHeader.css} +8 -7
- package/lib/unit/section/assets/{UnitsSection.scss → UnitsSection.css} +0 -2
- package/lib/video/Video.d.ts +1 -1
- package/lib/video/assets/{Video.scss → Video.css} +0 -2
- package/package.json +68 -72
- package/lib/announcement/Banner.js +0 -31
- package/lib/announcement/assets/Banner.scss +0 -65
- package/lib/application/ApplicationCompletion.js +0 -53
- package/lib/application/ApplicationModal.js +0 -38
- package/lib/application/ApplicationSection.js +0 -253
- package/lib/application/assets/ApplicationCompletion.scss +0 -44
- package/lib/application/data/RentalApplication.js +0 -15
- package/lib/application/service/ApplicationService.js +0 -13
- package/lib/asset/AssetModal.js +0 -42
- package/lib/asset/VideoModal.js +0 -48
- package/lib/asset/data/Asset.js +0 -6
- package/lib/asset/service/AssetService.js +0 -42
- package/lib/assets/App.scss +0 -96
- package/lib/assets/_variables.scss +0 -47
- package/lib/assets/form.scss +0 -90
- package/lib/banner/SubmissionRequestBanner.js +0 -16
- package/lib/captcha/data/CaptchaEnabledRequest.js +0 -6
- package/lib/card/Card.js +0 -26
- package/lib/card/assets/Card.scss +0 -44
- package/lib/contact/ContactModal.js +0 -42
- package/lib/contact/ContactSection.js +0 -345
- package/lib/contact/ContactSectionSkeleton.js +0 -33
- package/lib/contact/data/CommunityContact.js +0 -6
- package/lib/contact/data/Contact.js +0 -12
- package/lib/contact/data/ContactMessage.js +0 -24
- package/lib/contact/service/ContactService.js +0 -49
- package/lib/data/Calendar.js +0 -21
- package/lib/data/RenaissanceData.js +0 -16
- package/lib/data/SortField.js +0 -62
- package/lib/faq/FaqsCard.js +0 -26
- package/lib/faq/FaqsSection.js +0 -35
- package/lib/faq/PropertyFaqSection.js +0 -30
- package/lib/faq/ResidentFaqSection.js +0 -37
- package/lib/faq/data/Faq.js +0 -6
- package/lib/feature/FeatureSection.js +0 -19
- package/lib/floorplan/card/FloorplanCard.js +0 -148
- package/lib/floorplan/card/FloorplanCardSkeleton.js +0 -23
- package/lib/floorplan/card/FloorplanCardSlider.js +0 -45
- package/lib/floorplan/card/FloorplanPrice.js +0 -49
- package/lib/floorplan/card/SimilarFloorplanCard.js +0 -62
- package/lib/floorplan/card/TestimonialsCard.js +0 -25
- package/lib/floorplan/card/assets/FloorplanPrice.scss +0 -34
- package/lib/floorplan/data/Floorplan.js +0 -34
- package/lib/floorplan/data/FloorplanFilters.js +0 -6
- package/lib/floorplan/filter/FloorplanDropDown.js +0 -33
- package/lib/floorplan/section/FloorplanHero.js +0 -229
- package/lib/floorplan/section/FloorplanSection.js +0 -212
- package/lib/floorplan/section/FloorplanSectionSkeleton.js +0 -36
- package/lib/floorplan/section/FloorplansHeader.js +0 -214
- package/lib/floorplan/section/FloorplansHeaderSekeleton.js +0 -31
- package/lib/floorplan/section/FloorplansSection.js +0 -86
- package/lib/floorplan/section/HeroBadgeStats.js +0 -75
- package/lib/floorplan/section/assets/BadgeStats.scss +0 -5
- package/lib/floorplan/section/filter/Availability.js +0 -33
- package/lib/floorplan/section/filter/Bedroom.js +0 -32
- package/lib/floorplan/section/filter/Price.js +0 -36
- package/lib/floorplan/section/filter/Sort.js +0 -41
- package/lib/floorplan/section/filter/Style.js +0 -31
- package/lib/floorplan/service/FloorplanService.js +0 -290
- package/lib/footer/Footer.js +0 -98
- package/lib/gallery/DriveGallery.js +0 -67
- package/lib/gallery/Gallery.js +0 -116
- package/lib/gallery/GalleryModal.js +0 -74
- package/lib/gallery/GridGallery.js +0 -32
- package/lib/gallery/GridGalleryCover.js +0 -90
- package/lib/gallery/GridGalleryMobile.js +0 -88
- package/lib/gallery/GridGallerySkeleton.js +0 -19
- package/lib/gallery/HeroImageCard.js +0 -31
- package/lib/gallery/ImageCard.js +0 -28
- package/lib/gallery/ImageCardSkeleton.js +0 -22
- package/lib/gallery/VideoTours.js +0 -53
- package/lib/gallery/VirtualTour.js +0 -26
- package/lib/gallery/data/GalleryImage.js +0 -6
- package/lib/header/InfoHeader.js +0 -21
- package/lib/header/assets/InfoHeader.scss +0 -28
- package/lib/home-page-special/HomePageSpecialCard.js +0 -40
- package/lib/home-page-special/HomePageSpecialModal.js +0 -65
- package/lib/home-page-special/HomePageSpecialSection.js +0 -33
- package/lib/home-page-special/data/HomePageSpecial.js +0 -6
- package/lib/home-page-special/service/HomePageSpecialService.js +0 -24
- package/lib/index.js +0 -822
- package/lib/map/MapSection.js +0 -25
- package/lib/property/LeaseOfficeSkeleton.js +0 -17
- package/lib/property/PropertyLocation.js +0 -89
- package/lib/property/PropertyLocationSkeleton.js +0 -19
- package/lib/property/PropertyVideo.js +0 -21
- package/lib/property/data/Property.js +0 -36
- package/lib/property/service/PropertyService.js +0 -41
- package/lib/resident/data/Resident.js +0 -6
- package/lib/resident/service/ResidentService.js +0 -19
- package/lib/review/ReviewSection.js +0 -81
- package/lib/service/Api.js +0 -25
- package/lib/short-term/Hostaway.js +0 -63
- package/lib/short-term/ShortTermFloorplanCard.js +0 -112
- package/lib/short-term/ShortTermFloorplanHero.js +0 -231
- package/lib/short-term/ShortTermFloorplanSection.js +0 -135
- package/lib/short-term/ShortTermFloorplansHeader.js +0 -145
- package/lib/short-term/ShortTermFloorplansSection.js +0 -80
- package/lib/short-term/ShortTermPricingCard.js +0 -70
- package/lib/short-term/ShortTermSort.js +0 -41
- package/lib/short-term/ShortTermStyleFilter.js +0 -31
- package/lib/short-term/data/ShortTerm.js +0 -15
- package/lib/short-term/data/ShortTermFilters.js +0 -41
- package/lib/short-term/service/ShortTermService.js +0 -54
- package/lib/special-offer/SpecialOfferBadge.js +0 -24
- package/lib/special-offer/SpecialOfferButton.js +0 -30
- package/lib/sublet/SubletCard.js +0 -65
- package/lib/sublet/SubletImage.js +0 -59
- package/lib/sublet/SubletMessageModal.js +0 -120
- package/lib/sublet/SubletNotFound.js +0 -16
- package/lib/sublet/SubletSection.js +0 -447
- package/lib/sublet/SubletsSection.js +0 -41
- package/lib/sublet/data/Sublet.js +0 -28
- package/lib/sublet/data/SubletMessage.js +0 -6
- package/lib/sublet/services/SubletService.js +0 -52
- package/lib/summer-house/SummerHouseFeatures.js +0 -25
- package/lib/summer-house/data/SummerHouseAmenities.js +0 -8
- package/lib/team/TeamSection.js +0 -35
- package/lib/team/card/TeamCard.js +0 -38
- package/lib/team/card/TeamCardSkeleton.js +0 -25
- package/lib/team/data/TeamMember.js +0 -6
- package/lib/team/service/TeamService.js +0 -13
- package/lib/types/ga-gtag.d.js +0 -2
- package/lib/unit/card/UnitCard.js +0 -140
- package/lib/unit/data/Unit.js +0 -26
- package/lib/unit/data/UnitFilters.js +0 -6
- package/lib/unit/section/UnitHero.js +0 -234
- package/lib/unit/section/UnitPrice.js +0 -41
- package/lib/unit/section/UnitSection.js +0 -211
- package/lib/unit/section/UnitsHeader.js +0 -214
- package/lib/unit/section/UnitsSection.js +0 -87
- package/lib/unit/service/UnitService.js +0 -177
- package/lib/utils/PrettyPrintJson.js +0 -16
- package/lib/utils/Utils.js +0 -155
- package/lib/video/Video.js +0 -76
- package/lib/video/data/VideoAsset.js +0 -6
- /package/lib/heading/assets/{HeadingStory.scss → HeadingStory.css} +0 -0
|
@@ -1,234 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.UnitHero = void 0;
|
|
7
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
-
require("../../floorplan/section/assets/FloorplanHero.scss");
|
|
9
|
-
var _muncherUi = require("@contentmunch/muncher-ui");
|
|
10
|
-
var _AssetService = require("../../asset/service/AssetService");
|
|
11
|
-
var _GridGallerySkeleton = require("../../gallery/GridGallerySkeleton");
|
|
12
|
-
var _Utils = require("../../utils/Utils");
|
|
13
|
-
var _AssetModal = require("../../asset/AssetModal");
|
|
14
|
-
var _VideoTours = require("../../gallery/VideoTours");
|
|
15
|
-
var _VirtualTour = require("../../gallery/VirtualTour");
|
|
16
|
-
var _GalleryModal = require("../../gallery/GalleryModal");
|
|
17
|
-
var _GridGalleryMobile = require("../../gallery/GridGalleryMobile");
|
|
18
|
-
var _GridGalleryCover = require("../../gallery/GridGalleryCover");
|
|
19
|
-
var _GridGallery = require("../../gallery/GridGallery");
|
|
20
|
-
var _UnitService = require("../service/UnitService");
|
|
21
|
-
var _HeroBadgeStats = require("../../floorplan/section/HeroBadgeStats");
|
|
22
|
-
var _UnitPrice = require("./UnitPrice");
|
|
23
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
24
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
25
|
-
const UnitHero = _ref => {
|
|
26
|
-
let {
|
|
27
|
-
unit,
|
|
28
|
-
contactClickHandler,
|
|
29
|
-
applyClickHandler,
|
|
30
|
-
handleRefToMap,
|
|
31
|
-
webSpecials
|
|
32
|
-
} = _ref;
|
|
33
|
-
const [assets, setAssets] = (0, _react.useState)([]);
|
|
34
|
-
const [isAssetsLoading, setIsAssetsLoading] = (0, _react.useState)(true);
|
|
35
|
-
const [videoTours, setVideoTours] = (0, _react.useState)([]);
|
|
36
|
-
const [virtualTour, setVirtualTour] = (0, _react.useState)(undefined);
|
|
37
|
-
const [videoTourImageBackground, setVideoTourImageBackground] = (0, _react.useState)();
|
|
38
|
-
const [virtualTourImageBackground, setVirtualTourImageBackground] = (0, _react.useState)();
|
|
39
|
-
const [showFloorplanModal, setShowFloorplanModal] = (0, _react.useState)(false);
|
|
40
|
-
const [totalPages, setTotalPages] = (0, _react.useState)(1);
|
|
41
|
-
const [toursCount, setToursCount] = (0, _react.useState)(1);
|
|
42
|
-
const [currentView, setCurrentView] = (0, _react.useState)("photo");
|
|
43
|
-
const [assetInFocus, setAssetInFocus] = (0, _react.useState)({});
|
|
44
|
-
const [assetIndex, setAssetIndex] = (0, _react.useState)(0);
|
|
45
|
-
const [showModal, setShowModal] = (0, _react.useState)(false);
|
|
46
|
-
const [firstPageImageCount, setFirstPageImageCount] = (0, _react.useState)(4);
|
|
47
|
-
const GRID_SIZE = 8;
|
|
48
|
-
const imageClickedHandler = image => {
|
|
49
|
-
setShowModal(true);
|
|
50
|
-
setAssetInFocus(image);
|
|
51
|
-
setAssetIndex(assets.findIndex(value => value.id === image.id));
|
|
52
|
-
};
|
|
53
|
-
const modalCloseHandler = () => {
|
|
54
|
-
setShowModal(false);
|
|
55
|
-
setAssetInFocus({});
|
|
56
|
-
};
|
|
57
|
-
(0, _react.useEffect)(() => {
|
|
58
|
-
const images = [];
|
|
59
|
-
if (unit.coverImage) images.push({
|
|
60
|
-
id: (0, _Utils.extractIdFrom)(unit.coverImage),
|
|
61
|
-
name: "cover image"
|
|
62
|
-
});else if (unit.floorplan.coverImage) images.push({
|
|
63
|
-
id: (0, _Utils.extractIdFrom)(unit.floorplan.coverImage),
|
|
64
|
-
name: "cover image"
|
|
65
|
-
});
|
|
66
|
-
let firstPageCount = firstPageImageCount;
|
|
67
|
-
if (unit.photosFolderId) {
|
|
68
|
-
(0, _AssetService.getAssetsFrom)(unit.photosFolderId).then(galleryAssets => {
|
|
69
|
-
images.push(...galleryAssets);
|
|
70
|
-
if (images.length > 1) {
|
|
71
|
-
const backgroundImageUrl = (0, _AssetService.assetUrlFrom)(images[1].id, unit.floorplan.property.id);
|
|
72
|
-
if (unit.virtualTourLink) {
|
|
73
|
-
setVirtualTour(unit.virtualTourLink);
|
|
74
|
-
setVirtualTourImageBackground(backgroundImageUrl);
|
|
75
|
-
firstPageCount -= 1;
|
|
76
|
-
}
|
|
77
|
-
const tourLinks = [];
|
|
78
|
-
if (unit.videoTourLink) tourLinks.push(unit.videoTourLink);
|
|
79
|
-
if (unit.threeSixtyVideoTourLink) tourLinks.push(unit.threeSixtyVideoTourLink);
|
|
80
|
-
setVideoTours(tourLinks);
|
|
81
|
-
if (tourLinks.length > 0) {
|
|
82
|
-
setVideoTourImageBackground(backgroundImageUrl);
|
|
83
|
-
firstPageCount -= 1;
|
|
84
|
-
}
|
|
85
|
-
let otherAssetCounts = (tourLinks.length > 0 ? 1 : 0) + (unit.virtualTourLink ? 1 : 0);
|
|
86
|
-
setToursCount(otherAssetCounts);
|
|
87
|
-
}
|
|
88
|
-
}).finally(() => {
|
|
89
|
-
let pages = 1;
|
|
90
|
-
if (images.length > firstPageCount) {
|
|
91
|
-
const remaining = images.length - firstPageCount;
|
|
92
|
-
pages += remaining / 8;
|
|
93
|
-
if (remaining % 8 > 0) pages += 1;
|
|
94
|
-
}
|
|
95
|
-
setTotalPages(Math.trunc(pages));
|
|
96
|
-
setFirstPageImageCount(firstPageCount);
|
|
97
|
-
setAssets(images);
|
|
98
|
-
setIsAssetsLoading(false);
|
|
99
|
-
});
|
|
100
|
-
} else {
|
|
101
|
-
setAssets(images);
|
|
102
|
-
setIsAssetsLoading(false);
|
|
103
|
-
}
|
|
104
|
-
}, [unit]);
|
|
105
|
-
const printUnitAddress = () => {
|
|
106
|
-
const address = (0, _UnitService.addressFromUnit)(unit);
|
|
107
|
-
let printAddress = "";
|
|
108
|
-
if (address.address) {
|
|
109
|
-
printAddress += address.address + ", ";
|
|
110
|
-
}
|
|
111
|
-
printAddress += address.city + ", " + address.state + " " + address.zipcode;
|
|
112
|
-
return printAddress;
|
|
113
|
-
};
|
|
114
|
-
const isFirstSliderPage = slideIndex => slideIndex === 0;
|
|
115
|
-
const assetsToShow = slideIndex => {
|
|
116
|
-
if (isFirstSliderPage(slideIndex)) {
|
|
117
|
-
console.log("firstPageImageCount", firstPageImageCount);
|
|
118
|
-
return assets.slice(0, firstPageImageCount - 1);
|
|
119
|
-
}
|
|
120
|
-
const startIndex = firstPageImageCount - 1 + GRID_SIZE * (slideIndex - 1);
|
|
121
|
-
const endIndex = firstPageImageCount - 1 + GRID_SIZE * slideIndex;
|
|
122
|
-
return assets.slice(startIndex, endIndex > assets.length ? assets.length : endIndex);
|
|
123
|
-
};
|
|
124
|
-
return /*#__PURE__*/_react.default.createElement("section", {
|
|
125
|
-
className: "section-floorplan--hero"
|
|
126
|
-
}, isAssetsLoading ? /*#__PURE__*/_react.default.createElement(_GridGallerySkeleton.GridGallerySkeleton, null) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
127
|
-
className: "gallery-hero"
|
|
128
|
-
}, /*#__PURE__*/_react.default.createElement(_GalleryModal.GalleryModal, {
|
|
129
|
-
assets: assets,
|
|
130
|
-
assetInFocus: assetInFocus,
|
|
131
|
-
setAssetInFocus: setAssetInFocus,
|
|
132
|
-
showModal: showModal,
|
|
133
|
-
assetIndex: assetIndex,
|
|
134
|
-
setAssetIndex: setAssetIndex,
|
|
135
|
-
modalCloseHandler: modalCloseHandler,
|
|
136
|
-
propertyId: unit.floorplan.property.id
|
|
137
|
-
}), currentView === "photo" ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
138
|
-
className: "photo-view main"
|
|
139
|
-
}, /*#__PURE__*/_react.default.createElement(_muncherUi.ItemSlider, {
|
|
140
|
-
sliderItems: [...Array(totalPages)].map((x, i) => i === 0 ? /*#__PURE__*/_react.default.createElement(_GridGalleryCover.GridGalleryCover, {
|
|
141
|
-
assets: assetsToShow(i),
|
|
142
|
-
address: (0, _UnitService.addressFromUnit)(unit),
|
|
143
|
-
propertyId: unit.floorplan.property.id,
|
|
144
|
-
heroImage: assets[0],
|
|
145
|
-
imageClickedHandler: imageClickedHandler,
|
|
146
|
-
webSpecials: webSpecials,
|
|
147
|
-
isAvailableNow: (0, _UnitService.isUnitAvailable)(unit),
|
|
148
|
-
setCurrentView: setCurrentView,
|
|
149
|
-
videoTourImageBackground: videoTourImageBackground,
|
|
150
|
-
virtualTourImageBackground: virtualTourImageBackground,
|
|
151
|
-
showOnlyHeroImage: assets.length === 1
|
|
152
|
-
}) : /*#__PURE__*/_react.default.createElement(_GridGallery.GridGallery, {
|
|
153
|
-
imageClickedHandler: imageClickedHandler,
|
|
154
|
-
propertyId: unit.floorplan.property.id,
|
|
155
|
-
assets: assetsToShow(i)
|
|
156
|
-
}))
|
|
157
|
-
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
158
|
-
className: "photo-view mobile"
|
|
159
|
-
}, /*#__PURE__*/_react.default.createElement(_GridGalleryMobile.GridGalleryMobile, {
|
|
160
|
-
assets: assets,
|
|
161
|
-
toursCount: toursCount,
|
|
162
|
-
address: (0, _UnitService.addressFromUnit)(unit),
|
|
163
|
-
virtualTour: virtualTour,
|
|
164
|
-
setCurrentView: setCurrentView,
|
|
165
|
-
imageClickedHandler: imageClickedHandler,
|
|
166
|
-
webSpecials: webSpecials,
|
|
167
|
-
isAvailableNow: (0, _UnitService.isUnitAvailable)(unit),
|
|
168
|
-
propertyId: unit.floorplan.property.id
|
|
169
|
-
}))) : "", currentView === "Video Tour" ? /*#__PURE__*/_react.default.createElement(_VideoTours.VideoTours, {
|
|
170
|
-
videoTourUrls: videoTours
|
|
171
|
-
}) : "", currentView === "Virtual Tour" ? /*#__PURE__*/_react.default.createElement(_VirtualTour.VirtualTour, {
|
|
172
|
-
virtualTourUrl: virtualTour
|
|
173
|
-
}) : "", /*#__PURE__*/_react.default.createElement(_HeroBadgeStats.HeroBadgeStats, {
|
|
174
|
-
currentView: currentView,
|
|
175
|
-
setCurrentView: setCurrentView,
|
|
176
|
-
totalAssets: assets === null || assets === void 0 ? void 0 : assets.length,
|
|
177
|
-
videoTours: videoTours,
|
|
178
|
-
virtualTour: virtualTour
|
|
179
|
-
}))), /*#__PURE__*/_react.default.createElement(_AssetModal.AssetModal, {
|
|
180
|
-
assetUrl: unit.floorplanImage ? unit.floorplanImage : unit.floorplan.photo,
|
|
181
|
-
assetTitle: "Floorplan image",
|
|
182
|
-
showModal: showFloorplanModal,
|
|
183
|
-
setShowModal: setShowFloorplanModal,
|
|
184
|
-
propertyId: unit.floorplan.property.id
|
|
185
|
-
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
186
|
-
className: "container"
|
|
187
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
188
|
-
className: "floorplan--two-columns"
|
|
189
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
190
|
-
className: "floorplan-column-left"
|
|
191
|
-
}, /*#__PURE__*/_react.default.createElement("h3", null, unit.floorplan.name), /*#__PURE__*/_react.default.createElement("h4", null, /*#__PURE__*/_react.default.createElement(_UnitPrice.UnitPrice, {
|
|
192
|
-
unit: unit,
|
|
193
|
-
invertColor: true
|
|
194
|
-
})), /*#__PURE__*/_react.default.createElement("p", {
|
|
195
|
-
className: "floorplan--description"
|
|
196
|
-
}, printUnitAddress()), /*#__PURE__*/_react.default.createElement("div", {
|
|
197
|
-
className: "floorplan--featured"
|
|
198
|
-
}, /*#__PURE__*/_react.default.createElement(_muncherUi.Button, {
|
|
199
|
-
size: "small",
|
|
200
|
-
onClick: () => setShowFloorplanModal(true)
|
|
201
|
-
}, /*#__PURE__*/_react.default.createElement(_muncherUi.Icon, {
|
|
202
|
-
name: "max",
|
|
203
|
-
orientation: "right"
|
|
204
|
-
}, "ViewFloorplan")), "|\xA0\xA0", /*#__PURE__*/_react.default.createElement(_muncherUi.Button, {
|
|
205
|
-
size: "small",
|
|
206
|
-
onClick: () => handleRefToMap()
|
|
207
|
-
}, /*#__PURE__*/_react.default.createElement(_muncherUi.Icon, {
|
|
208
|
-
orientation: "right",
|
|
209
|
-
name: "map"
|
|
210
|
-
}, "View on Map")), unit.floorplan.property.busRoutes.length > 0 ? /*#__PURE__*/_react.default.createElement("p", null, "Bus Routes:\xA0", unit.floorplan.property.busRoutes.map((busRoute, index) => /*#__PURE__*/_react.default.createElement("span", {
|
|
211
|
-
key: "bus-route-" + index
|
|
212
|
-
}, /*#__PURE__*/_react.default.createElement("a", {
|
|
213
|
-
href: busRoute.busRouteLink,
|
|
214
|
-
target: "_blank",
|
|
215
|
-
rel: "noreferrer"
|
|
216
|
-
}, busRoute.busRoute), index < unit.floorplan.property.busRoutes.length - 1 ? ", " : ""))) : "")), /*#__PURE__*/_react.default.createElement("div", {
|
|
217
|
-
className: "main"
|
|
218
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
219
|
-
className: " floorplan-column-right"
|
|
220
|
-
}, /*#__PURE__*/_react.default.createElement(_muncherUi.Button, {
|
|
221
|
-
variant: "primary",
|
|
222
|
-
size: "medium",
|
|
223
|
-
onClick: contactClickHandler
|
|
224
|
-
}, "contact us"), /*#__PURE__*/_react.default.createElement(_muncherUi.Button, {
|
|
225
|
-
variant: "tertiary",
|
|
226
|
-
size: "medium",
|
|
227
|
-
onClick: applyClickHandler
|
|
228
|
-
}, "apply"), /*#__PURE__*/_react.default.createElement(_muncherUi.ShareButton, {
|
|
229
|
-
title: "Check out this apartment",
|
|
230
|
-
size: "large"
|
|
231
|
-
}))))));
|
|
232
|
-
};
|
|
233
|
-
exports.UnitHero = UnitHero;
|
|
234
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfbXVuY2hlclVpIiwiX0Fzc2V0U2VydmljZSIsIl9HcmlkR2FsbGVyeVNrZWxldG9uIiwiX1V0aWxzIiwiX0Fzc2V0TW9kYWwiLCJfVmlkZW9Ub3VycyIsIl9WaXJ0dWFsVG91ciIsIl9HYWxsZXJ5TW9kYWwiLCJfR3JpZEdhbGxlcnlNb2JpbGUiLCJfR3JpZEdhbGxlcnlDb3ZlciIsIl9HcmlkR2FsbGVyeSIsIl9Vbml0U2VydmljZSIsIl9IZXJvQmFkZ2VTdGF0cyIsIl9Vbml0UHJpY2UiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJVbml0SGVybyIsIl9yZWYiLCJ1bml0IiwiY29udGFjdENsaWNrSGFuZGxlciIsImFwcGx5Q2xpY2tIYW5kbGVyIiwiaGFuZGxlUmVmVG9NYXAiLCJ3ZWJTcGVjaWFscyIsImFzc2V0cyIsInNldEFzc2V0cyIsInVzZVN0YXRlIiwiaXNBc3NldHNMb2FkaW5nIiwic2V0SXNBc3NldHNMb2FkaW5nIiwidmlkZW9Ub3VycyIsInNldFZpZGVvVG91cnMiLCJ2aXJ0dWFsVG91ciIsInNldFZpcnR1YWxUb3VyIiwidW5kZWZpbmVkIiwidmlkZW9Ub3VySW1hZ2VCYWNrZ3JvdW5kIiwic2V0VmlkZW9Ub3VySW1hZ2VCYWNrZ3JvdW5kIiwidmlydHVhbFRvdXJJbWFnZUJhY2tncm91bmQiLCJzZXRWaXJ0dWFsVG91ckltYWdlQmFja2dyb3VuZCIsInNob3dGbG9vcnBsYW5Nb2RhbCIsInNldFNob3dGbG9vcnBsYW5Nb2RhbCIsInRvdGFsUGFnZXMiLCJzZXRUb3RhbFBhZ2VzIiwidG91cnNDb3VudCIsInNldFRvdXJzQ291bnQiLCJjdXJyZW50VmlldyIsInNldEN1cnJlbnRWaWV3IiwiYXNzZXRJbkZvY3VzIiwic2V0QXNzZXRJbkZvY3VzIiwiYXNzZXRJbmRleCIsInNldEFzc2V0SW5kZXgiLCJzaG93TW9kYWwiLCJzZXRTaG93TW9kYWwiLCJmaXJzdFBhZ2VJbWFnZUNvdW50Iiwic2V0Rmlyc3RQYWdlSW1hZ2VDb3VudCIsIkdSSURfU0laRSIsImltYWdlQ2xpY2tlZEhhbmRsZXIiLCJpbWFnZSIsImZpbmRJbmRleCIsInZhbHVlIiwiaWQiLCJtb2RhbENsb3NlSGFuZGxlciIsInVzZUVmZmVjdCIsImltYWdlcyIsImNvdmVySW1hZ2UiLCJwdXNoIiwiZXh0cmFjdElkRnJvbSIsIm5hbWUiLCJmbG9vcnBsYW4iLCJmaXJzdFBhZ2VDb3VudCIsInBob3Rvc0ZvbGRlcklkIiwiZ2V0QXNzZXRzRnJvbSIsInRoZW4iLCJnYWxsZXJ5QXNzZXRzIiwibGVuZ3RoIiwiYmFja2dyb3VuZEltYWdlVXJsIiwiYXNzZXRVcmxGcm9tIiwicHJvcGVydHkiLCJ2aXJ0dWFsVG91ckxpbmsiLCJ0b3VyTGlua3MiLCJ2aWRlb1RvdXJMaW5rIiwidGhyZWVTaXh0eVZpZGVvVG91ckxpbmsiLCJvdGhlckFzc2V0Q291bnRzIiwiZmluYWxseSIsInBhZ2VzIiwicmVtYWluaW5nIiwiTWF0aCIsInRydW5jIiwicHJpbnRVbml0QWRkcmVzcyIsImFkZHJlc3MiLCJhZGRyZXNzRnJvbVVuaXQiLCJwcmludEFkZHJlc3MiLCJjaXR5Iiwic3RhdGUiLCJ6aXBjb2RlIiwiaXNGaXJzdFNsaWRlclBhZ2UiLCJzbGlkZUluZGV4IiwiYXNzZXRzVG9TaG93IiwiY29uc29sZSIsImxvZyIsInNsaWNlIiwic3RhcnRJbmRleCIsImVuZEluZGV4IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsIkdyaWRHYWxsZXJ5U2tlbGV0b24iLCJGcmFnbWVudCIsIkdhbGxlcnlNb2RhbCIsInByb3BlcnR5SWQiLCJJdGVtU2xpZGVyIiwic2xpZGVySXRlbXMiLCJBcnJheSIsIm1hcCIsIngiLCJHcmlkR2FsbGVyeUNvdmVyIiwiaGVyb0ltYWdlIiwiaXNBdmFpbGFibGVOb3ciLCJpc1VuaXRBdmFpbGFibGUiLCJzaG93T25seUhlcm9JbWFnZSIsIkdyaWRHYWxsZXJ5IiwiR3JpZEdhbGxlcnlNb2JpbGUiLCJWaWRlb1RvdXJzIiwidmlkZW9Ub3VyVXJscyIsIlZpcnR1YWxUb3VyIiwidmlydHVhbFRvdXJVcmwiLCJIZXJvQmFkZ2VTdGF0cyIsInRvdGFsQXNzZXRzIiwiQXNzZXRNb2RhbCIsImFzc2V0VXJsIiwiZmxvb3JwbGFuSW1hZ2UiLCJwaG90byIsImFzc2V0VGl0bGUiLCJVbml0UHJpY2UiLCJpbnZlcnRDb2xvciIsIkJ1dHRvbiIsInNpemUiLCJvbkNsaWNrIiwiSWNvbiIsIm9yaWVudGF0aW9uIiwiYnVzUm91dGVzIiwiYnVzUm91dGUiLCJpbmRleCIsImtleSIsImhyZWYiLCJidXNSb3V0ZUxpbmsiLCJ0YXJnZXQiLCJyZWwiLCJ2YXJpYW50IiwiU2hhcmVCdXR0b24iLCJ0aXRsZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5pdC9zZWN0aW9uL1VuaXRIZXJvLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHt1c2VFZmZlY3QsIHVzZVN0YXRlfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBcIi4uLy4uL2Zsb29ycGxhbi9zZWN0aW9uL2Fzc2V0cy9GbG9vcnBsYW5IZXJvLnNjc3NcIjtcbmltcG9ydCB7QnV0dG9uLCBJY29uLCBJdGVtU2xpZGVyLCBTaGFyZUJ1dHRvbn0gZnJvbSBcIkBjb250ZW50bXVuY2gvbXVuY2hlci11aVwiO1xuaW1wb3J0IHtBc3NldH0gZnJvbSBcIi4uLy4uL2Fzc2V0L2RhdGEvQXNzZXRcIjtcbmltcG9ydCB7YXNzZXRVcmxGcm9tLCBnZXRBc3NldHNGcm9tfSBmcm9tIFwiLi4vLi4vYXNzZXQvc2VydmljZS9Bc3NldFNlcnZpY2VcIjtcbmltcG9ydCB7R3JpZEdhbGxlcnlTa2VsZXRvbn0gZnJvbSBcIi4uLy4uL2dhbGxlcnkvR3JpZEdhbGxlcnlTa2VsZXRvblwiO1xuaW1wb3J0IHtleHRyYWN0SWRGcm9tfSBmcm9tIFwiLi4vLi4vdXRpbHMvVXRpbHNcIjtcbmltcG9ydCB7QXNzZXRNb2RhbH0gZnJvbSBcIi4uLy4uL2Fzc2V0L0Fzc2V0TW9kYWxcIjtcbmltcG9ydCB7VmlkZW9Ub3Vyc30gZnJvbSBcIi4uLy4uL2dhbGxlcnkvVmlkZW9Ub3Vyc1wiO1xuaW1wb3J0IHtWaXJ0dWFsVG91cn0gZnJvbSBcIi4uLy4uL2dhbGxlcnkvVmlydHVhbFRvdXJcIjtcbmltcG9ydCB7R2FsbGVyeU1vZGFsfSBmcm9tIFwiLi4vLi4vZ2FsbGVyeS9HYWxsZXJ5TW9kYWxcIjtcbmltcG9ydCB7R3JpZEdhbGxlcnlNb2JpbGV9IGZyb20gXCIuLi8uLi9nYWxsZXJ5L0dyaWRHYWxsZXJ5TW9iaWxlXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5Q292ZXIsIFRvdXJUeXBlfSBmcm9tIFwiLi4vLi4vZ2FsbGVyeS9HcmlkR2FsbGVyeUNvdmVyXCI7XG5pbXBvcnQge0dyaWRHYWxsZXJ5fSBmcm9tIFwiLi4vLi4vZ2FsbGVyeS9HcmlkR2FsbGVyeVwiO1xuaW1wb3J0IHtVbml0Rmxvb3JwbGFufSBmcm9tIFwiLi4vZGF0YS9Vbml0XCI7XG5pbXBvcnQge2FkZHJlc3NGcm9tVW5pdCwgaXNVbml0QXZhaWxhYmxlfSBmcm9tIFwiLi4vc2VydmljZS9Vbml0U2VydmljZVwiO1xuaW1wb3J0IHtIZXJvQmFkZ2VTdGF0c30gZnJvbSBcIi4uLy4uL2Zsb29ycGxhbi9zZWN0aW9uL0hlcm9CYWRnZVN0YXRzXCI7XG5pbXBvcnQge1dlYlNwZWNpYWx9IGZyb20gXCIuLi8uLi9mbG9vcnBsYW4vZGF0YS9GbG9vcnBsYW5cIjtcbmltcG9ydCB7VW5pdFByaWNlfSBmcm9tIFwiLi9Vbml0UHJpY2VcIjtcblxuZXhwb3J0IGNvbnN0IFVuaXRIZXJvOiBSZWFjdC5GQzxVbml0SGVyb1Byb3BzPiA9IChcbiAgICB7dW5pdCwgY29udGFjdENsaWNrSGFuZGxlciwgYXBwbHlDbGlja0hhbmRsZXIsIGhhbmRsZVJlZlRvTWFwLCB3ZWJTcGVjaWFsc30pID0+IHtcbiAgICBjb25zdCBbYXNzZXRzLCBzZXRBc3NldHNdID0gdXNlU3RhdGU8QXNzZXRbXT4oW10pO1xuICAgIGNvbnN0IFtpc0Fzc2V0c0xvYWRpbmcsIHNldElzQXNzZXRzTG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKTtcbiAgICBjb25zdCBbdmlkZW9Ub3Vycywgc2V0VmlkZW9Ub3Vyc10gPSB1c2VTdGF0ZTxzdHJpbmdbXT4oW10pO1xuICAgIGNvbnN0IFt2aXJ0dWFsVG91ciwgc2V0VmlydHVhbFRvdXJdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gICAgY29uc3QgW3ZpZGVvVG91ckltYWdlQmFja2dyb3VuZCwgc2V0VmlkZW9Ub3VySW1hZ2VCYWNrZ3JvdW5kXSA9IHVzZVN0YXRlPHN0cmluZz4oKTtcbiAgICBjb25zdCBbdmlydHVhbFRvdXJJbWFnZUJhY2tncm91bmQsIHNldFZpcnR1YWxUb3VySW1hZ2VCYWNrZ3JvdW5kXSA9IHVzZVN0YXRlPHN0cmluZz4oKTtcblxuICAgIGNvbnN0IFtzaG93Rmxvb3JwbGFuTW9kYWwsIHNldFNob3dGbG9vcnBsYW5Nb2RhbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW3RvdGFsUGFnZXMsIHNldFRvdGFsUGFnZXNdID0gdXNlU3RhdGUoMSk7XG4gICAgY29uc3QgW3RvdXJzQ291bnQsIHNldFRvdXJzQ291bnRdID0gdXNlU3RhdGUoMSk7XG4gICAgY29uc3QgW2N1cnJlbnRWaWV3LCBzZXRDdXJyZW50Vmlld10gPSB1c2VTdGF0ZTxcInBob3RvXCIgfCBUb3VyVHlwZT4oXCJwaG90b1wiKTtcbiAgICBjb25zdCBbYXNzZXRJbkZvY3VzLCBzZXRBc3NldEluRm9jdXNdID0gdXNlU3RhdGU8QXNzZXQ+KHt9IGFzIEFzc2V0KTtcbiAgICBjb25zdCBbYXNzZXRJbmRleCwgc2V0QXNzZXRJbmRleF0gPSB1c2VTdGF0ZSgwKTtcbiAgICBjb25zdCBbc2hvd01vZGFsLCBzZXRTaG93TW9kYWxdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtmaXJzdFBhZ2VJbWFnZUNvdW50LCBzZXRGaXJzdFBhZ2VJbWFnZUNvdW50XSA9IHVzZVN0YXRlKDQpO1xuXG4gICAgY29uc3QgR1JJRF9TSVpFID0gODtcbiAgICBjb25zdCBpbWFnZUNsaWNrZWRIYW5kbGVyID0gKGltYWdlOiBBc3NldCkgPT4ge1xuICAgICAgICBzZXRTaG93TW9kYWwodHJ1ZSk7XG4gICAgICAgIHNldEFzc2V0SW5Gb2N1cyhpbWFnZSk7XG4gICAgICAgIHNldEFzc2V0SW5kZXgoYXNzZXRzLmZpbmRJbmRleCh2YWx1ZSA9PiB2YWx1ZS5pZCA9PT0gaW1hZ2UuaWQpKTtcbiAgICB9O1xuICAgIGNvbnN0IG1vZGFsQ2xvc2VIYW5kbGVyID0gKCkgPT4ge1xuICAgICAgICBzZXRTaG93TW9kYWwoZmFsc2UpO1xuICAgICAgICBzZXRBc3NldEluRm9jdXMoe30gYXMgQXNzZXQpO1xuICAgIH07XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcblxuXG4gICAgICAgIGNvbnN0IGltYWdlczogQXNzZXRbXSA9IFtdO1xuICAgICAgICBpZiAodW5pdC5jb3ZlckltYWdlKVxuICAgICAgICAgICAgaW1hZ2VzLnB1c2goe2lkOiBleHRyYWN0SWRGcm9tKHVuaXQuY292ZXJJbWFnZSksIG5hbWU6IFwiY292ZXIgaW1hZ2VcIn0gYXMgQXNzZXQpO1xuICAgICAgICBlbHNlIGlmICh1bml0LmZsb29ycGxhbi5jb3ZlckltYWdlKVxuICAgICAgICAgICAgaW1hZ2VzLnB1c2goe2lkOiBleHRyYWN0SWRGcm9tKHVuaXQuZmxvb3JwbGFuLmNvdmVySW1hZ2UpLCBuYW1lOiBcImNvdmVyIGltYWdlXCJ9IGFzIEFzc2V0KTtcblxuXG4gICAgICAgIGxldCBmaXJzdFBhZ2VDb3VudCA9IGZpcnN0UGFnZUltYWdlQ291bnQ7XG5cbiAgICAgICAgaWYgKHVuaXQucGhvdG9zRm9sZGVySWQpIHtcbiAgICAgICAgICAgIGdldEFzc2V0c0Zyb20odW5pdC5waG90b3NGb2xkZXJJZCkudGhlbihnYWxsZXJ5QXNzZXRzID0+IHtcblxuICAgICAgICAgICAgICAgIGltYWdlcy5wdXNoKC4uLmdhbGxlcnlBc3NldHMpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGltYWdlcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJhY2tncm91bmRJbWFnZVVybCA9IGFzc2V0VXJsRnJvbShpbWFnZXNbMV0uaWQsIHVuaXQuZmxvb3JwbGFuLnByb3BlcnR5LmlkKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHVuaXQudmlydHVhbFRvdXJMaW5rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRWaXJ0dWFsVG91cih1bml0LnZpcnR1YWxUb3VyTGluayk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRWaXJ0dWFsVG91ckltYWdlQmFja2dyb3VuZChiYWNrZ3JvdW5kSW1hZ2VVcmwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RQYWdlQ291bnQgLT0gMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvdXJMaW5rcyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBpZiAodW5pdC52aWRlb1RvdXJMaW5rKVxuICAgICAgICAgICAgICAgICAgICAgICAgdG91ckxpbmtzLnB1c2godW5pdC52aWRlb1RvdXJMaW5rKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHVuaXQudGhyZWVTaXh0eVZpZGVvVG91ckxpbmspXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3VyTGlua3MucHVzaCh1bml0LnRocmVlU2l4dHlWaWRlb1RvdXJMaW5rKTtcbiAgICAgICAgICAgICAgICAgICAgc2V0VmlkZW9Ub3Vycyh0b3VyTGlua3MpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodG91ckxpbmtzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFZpZGVvVG91ckltYWdlQmFja2dyb3VuZChiYWNrZ3JvdW5kSW1hZ2VVcmwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RQYWdlQ291bnQgLT0gMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGxldCBvdGhlckFzc2V0Q291bnRzID0gKHRvdXJMaW5rcy5sZW5ndGggPiAwID8gMSA6IDApICsgKHVuaXQudmlydHVhbFRvdXJMaW5rID8gMSA6IDApO1xuICAgICAgICAgICAgICAgICAgICBzZXRUb3Vyc0NvdW50KG90aGVyQXNzZXRDb3VudHMpO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9KS5maW5hbGx5KCgpID0+IHtcblxuICAgICAgICAgICAgICAgIGxldCBwYWdlcyA9IDE7XG5cbiAgICAgICAgICAgICAgICBpZiAoaW1hZ2VzLmxlbmd0aCA+IGZpcnN0UGFnZUNvdW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlbWFpbmluZyA9IGltYWdlcy5sZW5ndGggLSBmaXJzdFBhZ2VDb3VudDtcbiAgICAgICAgICAgICAgICAgICAgcGFnZXMgKz0gcmVtYWluaW5nIC8gODtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlbWFpbmluZyAlIDggPiAwKVxuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZXMgKz0gMTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzZXRUb3RhbFBhZ2VzKE1hdGgudHJ1bmMocGFnZXMpKTtcbiAgICAgICAgICAgICAgICBzZXRGaXJzdFBhZ2VJbWFnZUNvdW50KGZpcnN0UGFnZUNvdW50KTtcbiAgICAgICAgICAgICAgICBzZXRBc3NldHMoaW1hZ2VzKTtcbiAgICAgICAgICAgICAgICBzZXRJc0Fzc2V0c0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZXRBc3NldHMoaW1hZ2VzKTtcbiAgICAgICAgICAgIHNldElzQXNzZXRzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgIH1cblxuICAgIH0sIFt1bml0XSlcblxuXG4gICAgY29uc3QgcHJpbnRVbml0QWRkcmVzcyA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgYWRkcmVzcyA9IGFkZHJlc3NGcm9tVW5pdCh1bml0KTtcblxuICAgICAgICBsZXQgcHJpbnRBZGRyZXNzID0gXCJcIjtcbiAgICAgICAgaWYgKGFkZHJlc3MuYWRkcmVzcykge1xuICAgICAgICAgICAgcHJpbnRBZGRyZXNzICs9IGFkZHJlc3MuYWRkcmVzcyArIFwiLCBcIjtcbiAgICAgICAgfVxuICAgICAgICBwcmludEFkZHJlc3MgKz0gYWRkcmVzcy5jaXR5ICsgXCIsIFwiICsgYWRkcmVzcy5zdGF0ZSArIFwiIFwiICsgYWRkcmVzcy56aXBjb2RlO1xuICAgICAgICByZXR1cm4gcHJpbnRBZGRyZXNzO1xuICAgIH1cbiAgICBjb25zdCBpc0ZpcnN0U2xpZGVyUGFnZSA9IChzbGlkZUluZGV4OiBudW1iZXIpID0+IHNsaWRlSW5kZXggPT09IDA7XG5cbiAgICBjb25zdCBhc3NldHNUb1Nob3cgPSAoc2xpZGVJbmRleDogbnVtYmVyKSA9PiB7XG5cbiAgICAgICAgaWYgKGlzRmlyc3RTbGlkZXJQYWdlKHNsaWRlSW5kZXgpKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImZpcnN0UGFnZUltYWdlQ291bnRcIiwgZmlyc3RQYWdlSW1hZ2VDb3VudCk7XG4gICAgICAgICAgICByZXR1cm4gYXNzZXRzLnNsaWNlKDAsIGZpcnN0UGFnZUltYWdlQ291bnQgLSAxKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgY29uc3Qgc3RhcnRJbmRleCA9IGZpcnN0UGFnZUltYWdlQ291bnQgLSAxICsgKEdSSURfU0laRSAqIChzbGlkZUluZGV4IC0gMSkpXG4gICAgICAgIGNvbnN0IGVuZEluZGV4ID0gZmlyc3RQYWdlSW1hZ2VDb3VudCAtIDEgKyAoR1JJRF9TSVpFICogc2xpZGVJbmRleClcblxuICAgICAgICByZXR1cm4gYXNzZXRzLnNsaWNlKHN0YXJ0SW5kZXgsIGVuZEluZGV4ID4gYXNzZXRzLmxlbmd0aCA/IGFzc2V0cy5sZW5ndGggOiBlbmRJbmRleCk7XG4gICAgfTtcbiAgICByZXR1cm4gKFxuICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJzZWN0aW9uLWZsb29ycGxhbi0taGVyb1wiPlxuICAgICAgICAgICAge2lzQXNzZXRzTG9hZGluZyA/IDxHcmlkR2FsbGVyeVNrZWxldG9uLz4gOlxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ2FsbGVyeS1oZXJvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8R2FsbGVyeU1vZGFsIGFzc2V0cz17YXNzZXRzfSBhc3NldEluRm9jdXM9e2Fzc2V0SW5Gb2N1c31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0QXNzZXRJbkZvY3VzPXtzZXRBc3NldEluRm9jdXN9IHNob3dNb2RhbD17c2hvd01vZGFsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NldEluZGV4PXthc3NldEluZGV4fSBzZXRBc3NldEluZGV4PXtzZXRBc3NldEluZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RhbENsb3NlSGFuZGxlcj17bW9kYWxDbG9zZUhhbmRsZXJ9IHByb3BlcnR5SWQ9e3VuaXQuZmxvb3JwbGFuLnByb3BlcnR5LmlkfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y3VycmVudFZpZXcgPT09IFwicGhvdG9cIiA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwaG90by12aWV3IG1haW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtU2xpZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVySXRlbXM9e1suLi5BcnJheSh0b3RhbFBhZ2VzKV0ubWFwKCh4LCBpKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaSA9PT0gMCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEdyaWRHYWxsZXJ5Q292ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NldHM9e2Fzc2V0c1RvU2hvdyhpKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzPXthZGRyZXNzRnJvbVVuaXQodW5pdCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlJZD17dW5pdC5mbG9vcnBsYW4ucHJvcGVydHkuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVyb0ltYWdlPXthc3NldHNbMF19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VDbGlja2VkSGFuZGxlcj17aW1hZ2VDbGlja2VkSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ZWJTcGVjaWFscz17d2ViU3BlY2lhbHN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNBdmFpbGFibGVOb3c9e2lzVW5pdEF2YWlsYWJsZSh1bml0KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRDdXJyZW50Vmlldz17c2V0Q3VycmVudFZpZXd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlkZW9Ub3VySW1hZ2VCYWNrZ3JvdW5kPXt2aWRlb1RvdXJJbWFnZUJhY2tncm91bmR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlydHVhbFRvdXJJbWFnZUJhY2tncm91bmQ9e3ZpcnR1YWxUb3VySW1hZ2VCYWNrZ3JvdW5kfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dPbmx5SGVyb0ltYWdlPXthc3NldHMubGVuZ3RoID09PSAxfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmlkR2FsbGVyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlQ2xpY2tlZEhhbmRsZXI9e2ltYWdlQ2xpY2tlZEhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlJZD17dW5pdC5mbG9vcnBsYW4ucHJvcGVydHkuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXRzPXthc3NldHNUb1Nob3coaSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicGhvdG8tdmlldyBtb2JpbGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmlkR2FsbGVyeU1vYmlsZSBhc3NldHM9e2Fzc2V0c30gdG91cnNDb3VudD17dG91cnNDb3VudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzPXthZGRyZXNzRnJvbVVuaXQodW5pdCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlydHVhbFRvdXI9e3ZpcnR1YWxUb3VyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEN1cnJlbnRWaWV3PXtzZXRDdXJyZW50Vmlld31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZUNsaWNrZWRIYW5kbGVyPXtpbWFnZUNsaWNrZWRIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlYlNwZWNpYWxzPXt3ZWJTcGVjaWFsc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0F2YWlsYWJsZU5vdz17aXNVbml0QXZhaWxhYmxlKHVuaXQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5SWQ9e3VuaXQuZmxvb3JwbGFuLnByb3BlcnR5LmlkfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPiA6IFwiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAge2N1cnJlbnRWaWV3ID09PSBcIlZpZGVvIFRvdXJcIiA/IDxWaWRlb1RvdXJzIHZpZGVvVG91clVybHM9e3ZpZGVvVG91cnN9Lz4gOiBcIlwifVxuICAgICAgICAgICAgICAgICAgICAgICAge2N1cnJlbnRWaWV3ID09PSBcIlZpcnR1YWwgVG91clwiID8gPFZpcnR1YWxUb3VyIHZpcnR1YWxUb3VyVXJsPXt2aXJ0dWFsVG91cn0vPiA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICA8SGVyb0JhZGdlU3RhdHMgY3VycmVudFZpZXc9e2N1cnJlbnRWaWV3fSBzZXRDdXJyZW50Vmlldz17c2V0Q3VycmVudFZpZXd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxBc3NldHM9e2Fzc2V0cz8ubGVuZ3RofSB2aWRlb1RvdXJzPXt2aWRlb1RvdXJzfSB2aXJ0dWFsVG91cj17dmlydHVhbFRvdXJ9Lz5cblxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8Lz5cblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPEFzc2V0TW9kYWwgYXNzZXRVcmw9e3VuaXQuZmxvb3JwbGFuSW1hZ2UgPyB1bml0LmZsb29ycGxhbkltYWdlIDogdW5pdC5mbG9vcnBsYW4ucGhvdG99XG4gICAgICAgICAgICAgICAgICAgICAgICBhc3NldFRpdGxlPVwiRmxvb3JwbGFuIGltYWdlXCIgc2hvd01vZGFsPXtzaG93Rmxvb3JwbGFuTW9kYWx9XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRTaG93TW9kYWw9e3NldFNob3dGbG9vcnBsYW5Nb2RhbH0gcHJvcGVydHlJZD17dW5pdC5mbG9vcnBsYW4ucHJvcGVydHkuaWR9Lz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbG9vcnBsYW4tLXR3by1jb2x1bW5zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLWNvbHVtbi1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDM+e3VuaXQuZmxvb3JwbGFuLm5hbWV9PC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoND48VW5pdFByaWNlIHVuaXQ9e3VuaXR9IGludmVydENvbG9yPXt0cnVlfS8+PC9oND5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZsb29ycGxhbi0tZGVzY3JpcHRpb25cIj57cHJpbnRVbml0QWRkcmVzcygpfTwvcD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbG9vcnBsYW4tLWZlYXR1cmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBzaXplPVwic21hbGxcIiBvbkNsaWNrPXsoKSA9PiBzZXRTaG93Rmxvb3JwbGFuTW9kYWwodHJ1ZSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SWNvbiBuYW1lPVwibWF4XCIgb3JpZW50YXRpb249XCJyaWdodFwiPlZpZXdGbG9vcnBsYW48L0ljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCZuYnNwOyZuYnNwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gc2l6ZT1cInNtYWxsXCIgb25DbGljaz17KCkgPT4gaGFuZGxlUmVmVG9NYXAoKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uIG9yaWVudGF0aW9uPVwicmlnaHRcIiBuYW1lPVwibWFwXCI+VmlldyBvbiBNYXA8L0ljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3VuaXQuZmxvb3JwbGFuLnByb3BlcnR5LmJ1c1JvdXRlcy5sZW5ndGggPiAwID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+QnVzIFJvdXRlczombmJzcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt1bml0LmZsb29ycGxhbi5wcm9wZXJ0eS5idXNSb3V0ZXMubWFwKChidXNSb3V0ZSwgaW5kZXgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4ga2V5PXtcImJ1cy1yb3V0ZS1cIiArIGluZGV4fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj17YnVzUm91dGUuYnVzUm91dGVMaW5rfSB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWw9XCJub3JlZmVycmVyXCI+e2J1c1JvdXRlLmJ1c1JvdXRlfTwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2luZGV4IDwgdW5pdC5mbG9vcnBsYW4ucHJvcGVydHkuYnVzUm91dGVzLmxlbmd0aCAtIDEgPyBcIiwgXCIgOiBcIlwifVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIlwifVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1haW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiIGZsb29ycGxhbi1jb2x1bW4tcmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJwcmltYXJ5XCIgc2l6ZT1cIm1lZGl1bVwiIG9uQ2xpY2s9e2NvbnRhY3RDbGlja0hhbmRsZXJ9PmNvbnRhY3QgdXM8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiIHNpemU9XCJtZWRpdW1cIiBvbkNsaWNrPXthcHBseUNsaWNrSGFuZGxlcn0+YXBwbHk8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2hhcmVCdXR0b24gdGl0bGU9XCJDaGVjayBvdXQgdGhpcyBhcGFydG1lbnRcIiBzaXplPVwibGFyZ2VcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFVuaXRIZXJvUHJvcHMge1xuICAgIHVuaXQ6IFVuaXRGbG9vcnBsYW47XG4gICAgd2ViU3BlY2lhbHM6IFdlYlNwZWNpYWxbXTtcbiAgICBjb250YWN0Q2xpY2tIYW5kbGVyOiAoKSA9PiB2b2lkO1xuICAgIGFwcGx5Q2xpY2tIYW5kbGVyOiAoKSA9PiB2b2lkO1xuICAgIGhhbmRsZVJlZlRvTWFwOiAoKSA9PiB2b2lkO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLGFBQUEsR0FB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
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.UnitPrice = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _Utils = require("../../utils/Utils");
|
|
9
|
-
var _moment = _interopRequireDefault(require("moment/moment"));
|
|
10
|
-
require("../../floorplan/card/assets/FloorplanPrice.scss");
|
|
11
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
-
const UnitPrice = _ref => {
|
|
13
|
-
let {
|
|
14
|
-
unit,
|
|
15
|
-
invertColor
|
|
16
|
-
} = _ref;
|
|
17
|
-
const hasSpecialRent = () => {
|
|
18
|
-
const currentDate = (0, _moment.default)();
|
|
19
|
-
if (unit.discountedRent && unit.discountedRentStartDate && unit.discountedRentEndDate) {
|
|
20
|
-
const startDate = (0, _Utils.dateToMoment)(unit.discountedRentStartDate);
|
|
21
|
-
const endDate = (0, _Utils.dateToMoment)(unit.discountedRentEndDate);
|
|
22
|
-
return currentDate.isBetween(startDate, endDate);
|
|
23
|
-
}
|
|
24
|
-
return false;
|
|
25
|
-
};
|
|
26
|
-
const getRentClass = () => hasSpecialRent() ? "strike-through" : "";
|
|
27
|
-
const priceForSpecialRent = () => hasSpecialRent() ? /*#__PURE__*/_react.default.createElement("span", {
|
|
28
|
-
className: "special"
|
|
29
|
-
}, "Now starting at ", (0, _Utils.toUSD)(unit.discountedRent), "/mo") : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
30
|
-
return /*#__PURE__*/_react.default.createElement("span", {
|
|
31
|
-
className: invertColor ? "floorplan-price floorplan-price-inverted" : "floorplan-price"
|
|
32
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
33
|
-
className: getRentClass()
|
|
34
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
35
|
-
className: "rent"
|
|
36
|
-
}, (0, _Utils.toUSD)(unit.rent))), /*#__PURE__*/_react.default.createElement("span", {
|
|
37
|
-
className: "floorplan-special-price"
|
|
38
|
-
}, priceForSpecialRent()));
|
|
39
|
-
};
|
|
40
|
-
exports.UnitPrice = UnitPrice;
|
|
41
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9VdGlscyIsIl9tb21lbnQiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIlVuaXRQcmljZSIsIl9yZWYiLCJ1bml0IiwiaW52ZXJ0Q29sb3IiLCJoYXNTcGVjaWFsUmVudCIsImN1cnJlbnREYXRlIiwibW9tZW50IiwiZGlzY291bnRlZFJlbnQiLCJkaXNjb3VudGVkUmVudFN0YXJ0RGF0ZSIsImRpc2NvdW50ZWRSZW50RW5kRGF0ZSIsInN0YXJ0RGF0ZSIsImRhdGVUb01vbWVudCIsImVuZERhdGUiLCJpc0JldHdlZW4iLCJnZXRSZW50Q2xhc3MiLCJwcmljZUZvclNwZWNpYWxSZW50IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInRvVVNEIiwiRnJhZ21lbnQiLCJyZW50IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91bml0L3NlY3Rpb24vVW5pdFByaWNlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge2RhdGVUb01vbWVudCwgdG9VU0R9IGZyb20gXCIuLi8uLi91dGlscy9VdGlsc1wiO1xuaW1wb3J0IG1vbWVudCBmcm9tIFwibW9tZW50L21vbWVudFwiO1xuaW1wb3J0IFwiLi4vLi4vZmxvb3JwbGFuL2NhcmQvYXNzZXRzL0Zsb29ycGxhblByaWNlLnNjc3NcIjtcbmltcG9ydCB7VW5pdEZsb29ycGxhbn0gZnJvbSBcIi4uL2RhdGEvVW5pdFwiO1xuXG5leHBvcnQgY29uc3QgVW5pdFByaWNlOiBSZWFjdC5GQzxVbml0UHJpY2VQcm9wcz4gPSAoXG4gICAge1xuICAgICAgICB1bml0LFxuICAgICAgICBpbnZlcnRDb2xvclxuICAgIH0pID0+IHtcblxuICAgIGNvbnN0IGhhc1NwZWNpYWxSZW50ID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBjdXJyZW50RGF0ZSA9IG1vbWVudCgpO1xuXG4gICAgICAgIGlmICh1bml0LmRpc2NvdW50ZWRSZW50ICYmIHVuaXQuZGlzY291bnRlZFJlbnRTdGFydERhdGUgJiYgdW5pdC5kaXNjb3VudGVkUmVudEVuZERhdGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IGRhdGVUb01vbWVudCh1bml0LmRpc2NvdW50ZWRSZW50U3RhcnREYXRlKTtcbiAgICAgICAgICAgIGNvbnN0IGVuZERhdGUgPSBkYXRlVG9Nb21lbnQodW5pdC5kaXNjb3VudGVkUmVudEVuZERhdGUpO1xuXG4gICAgICAgICAgICByZXR1cm4gY3VycmVudERhdGUuaXNCZXR3ZWVuKHN0YXJ0RGF0ZSwgZW5kRGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGdldFJlbnRDbGFzcyA9ICgpID0+IGhhc1NwZWNpYWxSZW50KCkgPyBcInN0cmlrZS10aHJvdWdoXCIgOiBcIlwiO1xuXG5cbiAgICBjb25zdCBwcmljZUZvclNwZWNpYWxSZW50ID0gKCkgPT4gaGFzU3BlY2lhbFJlbnQoKSA/IDxzcGFuXG4gICAgICAgIGNsYXNzTmFtZT1cInNwZWNpYWxcIj5Ob3cgc3RhcnRpbmcgYXQge3RvVVNEKHVuaXQuZGlzY291bnRlZFJlbnQhISl9L21vPC9zcGFuPiA6IDw+PC8+XG4gICAgcmV0dXJuIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtpbnZlcnRDb2xvciA/IFwiZmxvb3JwbGFuLXByaWNlIGZsb29ycGxhbi1wcmljZS1pbnZlcnRlZFwiIDogXCJmbG9vcnBsYW4tcHJpY2VcIn0+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRSZW50Q2xhc3MoKX0+PHNwYW4gY2xhc3NOYW1lPVwicmVudFwiPnt0b1VTRCh1bml0LnJlbnQpfTwvc3Bhbj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmbG9vcnBsYW4tc3BlY2lhbC1wcmljZVwiPntwcmljZUZvclNwZWNpYWxSZW50KCl9PC9zcGFuPlxuICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVbml0UHJpY2VQcm9wcyB7XG4gICAgdW5pdDogVW5pdEZsb29ycGxhbjtcbiAgICBpbnZlcnRDb2xvcj86IGJvb2xlYW47XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBQXlELFNBQUFELHVCQUFBSSxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBR2xELE1BQU1HLFNBQW1DLEdBQUdDLElBQUEsSUFJekM7RUFBQSxJQUhOO0lBQ0lDLElBQUk7SUFDSkM7RUFDSixDQUFDLEdBQUFGLElBQUE7RUFFRCxNQUFNRyxjQUFjLEdBQUdBLENBQUEsS0FBTTtJQUN6QixNQUFNQyxXQUFXLEdBQUcsSUFBQUMsZUFBTSxFQUFDLENBQUM7SUFFNUIsSUFBSUosSUFBSSxDQUFDSyxjQUFjLElBQUlMLElBQUksQ0FBQ00sdUJBQXVCLElBQUlOLElBQUksQ0FBQ08scUJBQXFCLEVBQUU7TUFDbkYsTUFBTUMsU0FBUyxHQUFHLElBQUFDLG1CQUFZLEVBQUNULElBQUksQ0FBQ00sdUJBQXVCLENBQUM7TUFDNUQsTUFBTUksT0FBTyxHQUFHLElBQUFELG1CQUFZLEVBQUNULElBQUksQ0FBQ08scUJBQXFCLENBQUM7TUFFeEQsT0FBT0osV0FBVyxDQUFDUSxTQUFTLENBQUNILFNBQVMsRUFBRUUsT0FBTyxDQUFDO0lBQ3BEO0lBQ0EsT0FBTyxLQUFLO0VBQ2hCLENBQUM7RUFFRCxNQUFNRSxZQUFZLEdBQUdBLENBQUEsS0FBTVYsY0FBYyxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsR0FBRyxFQUFFO0VBR25FLE1BQU1XLG1CQUFtQixHQUFHQSxDQUFBLEtBQU1YLGNBQWMsQ0FBQyxDQUFDLGdCQUFHWixNQUFBLENBQUFPLE9BQUEsQ0FBQWlCLGFBQUE7SUFDakRDLFNBQVMsRUFBQztFQUFTLEdBQUMsa0JBQWdCLEVBQUMsSUFBQUMsWUFBSyxFQUFDaEIsSUFBSSxDQUFDSyxjQUFnQixDQUFDLEVBQUMsS0FBUyxDQUFDLGdCQUFHZixNQUFBLENBQUFPLE9BQUEsQ0FBQWlCLGFBQUEsQ0FBQXhCLE1BQUEsQ0FBQU8sT0FBQSxDQUFBb0IsUUFBQSxNQUFJLENBQUM7RUFDeEYsb0JBQ0kzQixNQUFBLENBQUFPLE9BQUEsQ0FBQWlCLGFBQUE7SUFBTUMsU0FBUyxFQUFFZCxXQUFXLEdBQUcsMENBQTBDLEdBQUc7RUFBa0IsZ0JBQ3RGWCxNQUFBLENBQUFPLE9BQUEsQ0FBQWlCLGFBQUE7SUFBTUMsU0FBUyxFQUFFSCxZQUFZLENBQUM7RUFBRSxnQkFBQ3RCLE1BQUEsQ0FBQU8sT0FBQSxDQUFBaUIsYUFBQTtJQUFNQyxTQUFTLEVBQUM7RUFBTSxHQUFFLElBQUFDLFlBQUssRUFBQ2hCLElBQUksQ0FBQ2tCLElBQUksQ0FBUSxDQUFPLENBQUMsZUFDNUY1QixNQUFBLENBQUFPLE9BQUEsQ0FBQWlCLGFBQUE7SUFBTUMsU0FBUyxFQUFDO0VBQXlCLEdBQUVGLG1CQUFtQixDQUFDLENBQVEsQ0FDakUsQ0FBQztBQUduQixDQUFDO0FBQUFNLE9BQUEsQ0FBQXJCLFNBQUEsR0FBQUEsU0FBQSJ9
|