@renaissancerentals/renaissance-component 12.3.8 → 12.3.10

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.
@@ -0,0 +1,234 @@
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/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwaG90by12aWV3IG1haW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtU2xpZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVySXRlbXM9e1suLi5BcnJheSh0b3RhbFBhZ2VzKV0ubWFwKCh4LCBpKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaSA9PSAwKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JpZEdhbGxlcnlDb3ZlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2V0cz17YXNzZXRzVG9TaG93KGkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3M9e2FkZHJlc3NGcm9tVW5pdCh1bml0KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eUlkPXt1bml0LmZsb29ycGxhbi5wcm9wZXJ0eS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZXJvSW1hZ2U9e2Fzc2V0c1swXX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZUNsaWNrZWRIYW5kbGVyPXtpbWFnZUNsaWNrZWRIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlYlNwZWNpYWxzPXt3ZWJTcGVjaWFsc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0F2YWlsYWJsZU5vdz17aXNVbml0QXZhaWxhYmxlKHVuaXQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEN1cnJlbnRWaWV3PXtzZXRDdXJyZW50Vmlld31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWRlb1RvdXJJbWFnZUJhY2tncm91bmQ9e3ZpZGVvVG91ckltYWdlQmFja2dyb3VuZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXJ0dWFsVG91ckltYWdlQmFja2dyb3VuZD17dmlydHVhbFRvdXJJbWFnZUJhY2tncm91bmR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd09ubHlIZXJvSW1hZ2U9e2Fzc2V0cy5sZW5ndGggPT09IDF9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEdyaWRHYWxsZXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VDbGlja2VkSGFuZGxlcj17aW1hZ2VDbGlja2VkSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eUlkPXt1bml0LmZsb29ycGxhbi5wcm9wZXJ0eS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NldHM9e2Fzc2V0c1RvU2hvdyhpKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX0vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwaG90by12aWV3IG1vYmlsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEdyaWRHYWxsZXJ5TW9iaWxlIGFzc2V0cz17YXNzZXRzfSB0b3Vyc0NvdW50PXt0b3Vyc0NvdW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3M9e2FkZHJlc3NGcm9tVW5pdCh1bml0KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXJ0dWFsVG91cj17dmlydHVhbFRvdXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0Q3VycmVudFZpZXc9e3NldEN1cnJlbnRWaWV3fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlQ2xpY2tlZEhhbmRsZXI9e2ltYWdlQ2xpY2tlZEhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2ViU3BlY2lhbHM9e3dlYlNwZWNpYWxzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzQXZhaWxhYmxlTm93PXtpc1VuaXRBdmFpbGFibGUodW5pdCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlJZD17dW5pdC5mbG9vcnBsYW4ucHJvcGVydHkuaWR9Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+IDogXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB7Y3VycmVudFZpZXcgPT09IFwiVmlkZW8gVG91clwiID8gPFZpZGVvVG91cnMgdmlkZW9Ub3VyVXJscz17dmlkZW9Ub3Vyc30vPiA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y3VycmVudFZpZXcgPT09IFwiVmlydHVhbCBUb3VyXCIgPyA8VmlydHVhbFRvdXIgdmlydHVhbFRvdXJVcmw9e3ZpcnR1YWxUb3VyfS8+IDogXCJcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIZXJvQmFkZ2VTdGF0cyBjdXJyZW50Vmlldz17Y3VycmVudFZpZXd9IHNldEN1cnJlbnRWaWV3PXtzZXRDdXJyZW50Vmlld31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbEFzc2V0cz17YXNzZXRzPy5sZW5ndGh9IHZpZGVvVG91cnM9e3ZpZGVvVG91cnN9IHZpcnR1YWxUb3VyPXt2aXJ0dWFsVG91cn0vPlxuXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvPlxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8QXNzZXRNb2RhbCBhc3NldFVybD17dW5pdC5mbG9vcnBsYW5JbWFnZSA/IHVuaXQuZmxvb3JwbGFuSW1hZ2UgOiB1bml0LmZsb29ycGxhbi5waG90b31cbiAgICAgICAgICAgICAgICAgICAgICAgIGFzc2V0VGl0bGU9XCJGbG9vcnBsYW4gaW1hZ2VcIiBzaG93TW9kYWw9e3Nob3dGbG9vcnBsYW5Nb2RhbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFNob3dNb2RhbD17c2V0U2hvd0Zsb29ycGxhbk1vZGFsfSBwcm9wZXJ0eUlkPXt1bml0LmZsb29ycGxhbi5wcm9wZXJ0eS5pZH0vPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsb29ycGxhbi0tdHdvLWNvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbG9vcnBsYW4tY29sdW1uLWxlZnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMz57dW5pdC5mbG9vcnBsYW4ubmFtZX08L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGg0PjxVbml0UHJpY2UgdW5pdD17dW5pdH0gaW52ZXJ0Q29sb3I9e3RydWV9Lz48L2g0PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLS1kZXNjcmlwdGlvblwiPntwcmludFVuaXRBZGRyZXNzKCl9PC9wPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsb29ycGxhbi0tZmVhdHVyZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHNpemU9XCJzbWFsbFwiIG9uQ2xpY2s9eygpID0+IHNldFNob3dGbG9vcnBsYW5Nb2RhbCh0cnVlKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJtYXhcIiBvcmllbnRhdGlvbj1cInJpZ2h0XCI+Vmlld0Zsb29ycGxhbjwvSWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Jm5ic3A7Jm5ic3A7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBzaXplPVwic21hbGxcIiBvbkNsaWNrPXsoKSA9PiBoYW5kbGVSZWZUb01hcCgpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb24gb3JpZW50YXRpb249XCJyaWdodFwiIG5hbWU9XCJtYXBcIj5WaWV3IG9uIE1hcDwvSWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dW5pdC5mbG9vcnBsYW4ucHJvcGVydHkuYnVzUm91dGVzLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5CdXMgUm91dGVzOiZuYnNwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3VuaXQuZmxvb3JwbGFuLnByb3BlcnR5LmJ1c1JvdXRlcy5tYXAoKGJ1c1JvdXRlLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBrZXk9e1wiYnVzLXJvdXRlLVwiICsgaW5kZXh9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPXtidXNSb3V0ZS5idXNSb3V0ZUxpbmt9IHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbD1cIm5vcmVmZXJyZXJcIj57YnVzUm91dGUuYnVzUm91dGV9PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW5kZXggPCB1bml0LmZsb29ycGxhbi5wcm9wZXJ0eS5idXNSb3V0ZXMubGVuZ3RoIC0gMSA/IFwiLCBcIiA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWFpblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCIgZmxvb3JwbGFuLWNvbHVtbi1yaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cInByaW1hcnlcIiBzaXplPVwibWVkaXVtXCIgb25DbGljaz17Y29udGFjdENsaWNrSGFuZGxlcn0+Y29udGFjdCB1czwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cInRlcnRpYXJ5XCIgc2l6ZT1cIm1lZGl1bVwiIG9uQ2xpY2s9e2FwcGx5Q2xpY2tIYW5kbGVyfT5hcHBseTwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTaGFyZUJ1dHRvbiB0aXRsZT1cIkNoZWNrIG91dCB0aGlzIGFwYXJ0bWVudFwiIHNpemU9XCJsYXJnZVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5pdEhlcm9Qcm9wcyB7XG4gICAgdW5pdDogVW5pdEZsb29ycGxhbjtcbiAgICB3ZWJTcGVjaWFsczogV2ViU3BlY2lhbFtdO1xuICAgIGNvbnRhY3RDbGlja0hhbmRsZXI6ICgpID0+IHZvaWQ7XG4gICAgYXBwbHlDbGlja0hhbmRsZXI6ICgpID0+IHZvaWQ7XG4gICAgaGFuZGxlUmVmVG9NYXA6ICgpID0+IHZvaWQ7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsYUFBQSxHQUFB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
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import "../../floorplan/card/assets/FloorplanPrice.scss";
3
+ import { UnitFloorplan } from "../data/Unit";
4
+ export declare const UnitPrice: React.FC<UnitPriceProps>;
5
+ export interface UnitPriceProps {
6
+ unit: UnitFloorplan;
7
+ invertColor?: boolean;
8
+ }
@@ -0,0 +1,41 @@
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
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import "./assets/UnitSection.scss";
3
+ export declare const UnitSection: React.FC<UnitSectionProps>;
4
+ export interface UnitSectionProps {
5
+ contactClickHandler: () => void;
6
+ applyClickHandler: () => void;
7
+ unitId: string;
8
+ locationRef?: React.Ref<HTMLDivElement>;
9
+ handleRefToLocation?: () => void;
10
+ handleHtmlTitleUpdate?: (title: string) => void;
11
+ }