@meetelise/chat 1.34.1 → 1.34.3

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.
Files changed (279) hide show
  1. package/package.json +1 -1
  2. package/dist/src/MyPubnub.d.ts +0 -116
  3. package/dist/src/WebComponent/FeeCalculator/components/addons/addon-item-matrix-qty-selector/addon-item-matrix-qty-selector-styles.d.ts +0 -2
  4. package/dist/src/WebComponent/FeeCalculator/components/addons/addon-item-matrix-qty-selector/addon-item-matrix-qty-selector.d.ts +0 -28
  5. package/dist/src/WebComponent/FeeCalculator/components/addons/addon-item-qty-selector/addon-item-qty-selector-styles.d.ts +0 -2
  6. package/dist/src/WebComponent/FeeCalculator/components/addons/addon-item-qty-selector/addon-item-qty-selector.d.ts +0 -18
  7. package/dist/src/WebComponent/FeeCalculator/components/addons/common-addon-styles.d.ts +0 -2
  8. package/dist/src/WebComponent/FeeCalculator/components/addons/rentable-item-qty-selector/rentable-item-qty-selector-styles.d.ts +0 -2
  9. package/dist/src/WebComponent/FeeCalculator/components/addons/rentable-item-qty-selector/rentable-item-qty-selector.d.ts +0 -22
  10. package/dist/src/WebComponent/FeeCalculator/components/fee-calculator-layout/fee-calculator-layout-styles.d.ts +0 -2
  11. package/dist/src/WebComponent/FeeCalculator/components/fee-calculator-layout/fee-calculator-layout.d.ts +0 -46
  12. package/dist/src/WebComponent/FeeCalculator/components/fee-card/fee-card-styles.d.ts +0 -2
  13. package/dist/src/WebComponent/FeeCalculator/components/fee-card/fee-card.d.ts +0 -21
  14. package/dist/src/WebComponent/FeeCalculator/components/fee-item/fee-item-styles.d.ts +0 -2
  15. package/dist/src/WebComponent/FeeCalculator/components/fee-item/fee-item.d.ts +0 -13
  16. package/dist/src/WebComponent/FeeCalculator/components/floor-plan-selector/floor-plan-selector-styles.d.ts +0 -2
  17. package/dist/src/WebComponent/FeeCalculator/components/floor-plan-selector/floor-plan-selector.d.ts +0 -34
  18. package/dist/src/WebComponent/FeeCalculator/components/floorplan-image-card/floorplan-image-card-styles.d.ts +0 -2
  19. package/dist/src/WebComponent/FeeCalculator/components/floorplan-image-card/floorplan-image-card.d.ts +0 -18
  20. package/dist/src/WebComponent/FeeCalculator/components/incentive-banner/incentive-banner-styles.d.ts +0 -1
  21. package/dist/src/WebComponent/FeeCalculator/components/incentive-banner/incentive-banner.d.ts +0 -8
  22. package/dist/src/WebComponent/FeeCalculator/components/incentive-banner/index.d.ts +0 -1
  23. package/dist/src/WebComponent/FeeCalculator/components/index.d.ts +0 -5
  24. package/dist/src/WebComponent/FeeCalculator/components/promo-card/promo-card-styles.d.ts +0 -2
  25. package/dist/src/WebComponent/FeeCalculator/components/promo-card/promo-card.d.ts +0 -13
  26. package/dist/src/WebComponent/FeeCalculator/constants.d.ts +0 -3
  27. package/dist/src/WebComponent/FeeCalculator/fee-calculator-styles.d.ts +0 -1
  28. package/dist/src/WebComponent/FeeCalculator/fee-calculator.d.ts +0 -55
  29. package/dist/src/WebComponent/FeeCalculator/index.d.ts +0 -2
  30. package/dist/src/WebComponent/FeeCalculator/model/building-fee-view.d.ts +0 -41
  31. package/dist/src/WebComponent/FeeCalculator/model/building-fee.d.ts +0 -82
  32. package/dist/src/WebComponent/FeeCalculator/model/desired-addon.d.ts +0 -5
  33. package/dist/src/WebComponent/FeeCalculator/model/desired-rentable-item.d.ts +0 -4
  34. package/dist/src/WebComponent/FeeCalculator/model/index.d.ts +0 -13
  35. package/dist/src/WebComponent/FeeCalculator/model/item-combination.d.ts +0 -6
  36. package/dist/src/WebComponent/FeeCalculator/model/item-quantity.d.ts +0 -4
  37. package/dist/src/WebComponent/FeeCalculator/model/pricing-matrix.d.ts +0 -18
  38. package/dist/src/WebComponent/FeeCalculator/model/pricing-rule.d.ts +0 -8
  39. package/dist/src/WebComponent/FeeCalculator/model/rent-frequency.d.ts +0 -1
  40. package/dist/src/WebComponent/FeeCalculator/model/rentable-item-summary.d.ts +0 -9
  41. package/dist/src/WebComponent/FeeCalculator/model/rentable-item.d.ts +0 -9
  42. package/dist/src/WebComponent/FeeCalculator/model/transaction-category.d.ts +0 -23
  43. package/dist/src/WebComponent/FeeCalculator/model/unit-fee-bundle.d.ts +0 -31
  44. package/dist/src/WebComponent/LeadSourceClient.d.ts +0 -46
  45. package/dist/src/WebComponent/OfficeHours.d.ts +0 -21
  46. package/dist/src/WebComponent/Scheduler/date-picker.d.ts +0 -28
  47. package/dist/src/WebComponent/Scheduler/time-picker.d.ts +0 -14
  48. package/dist/src/WebComponent/Scheduler/tour-scheduler.d.ts +0 -101
  49. package/dist/src/WebComponent/Scheduler/tour-type-option.d.ts +0 -13
  50. package/dist/src/WebComponent/Scheduler/tourSchedulerStyles.d.ts +0 -1
  51. package/dist/src/WebComponent/actions/InputStyles.d.ts +0 -1
  52. package/dist/src/WebComponent/actions/action-confirm-button.d.ts +0 -13
  53. package/dist/src/WebComponent/actions/call-us-window.d.ts +0 -37
  54. package/dist/src/WebComponent/actions/collapse-expand-button.d.ts +0 -8
  55. package/dist/src/WebComponent/actions/details-window.d.ts +0 -14
  56. package/dist/src/WebComponent/actions/email-us-window.d.ts +0 -46
  57. package/dist/src/WebComponent/actions/formatPhoneNumber.d.ts +0 -17
  58. package/dist/src/WebComponent/actions/minimize-expand-button.d.ts +0 -8
  59. package/dist/src/WebComponent/chat-additional-actions.d.ts +0 -28
  60. package/dist/src/WebComponent/health-chat.d.ts +0 -47
  61. package/dist/src/WebComponent/healthchat-styles.d.ts +0 -1
  62. package/dist/src/WebComponent/icons/ApplyOutlineIcon.d.ts +0 -2
  63. package/dist/src/WebComponent/icons/BookTourOutlineIcon.d.ts +0 -2
  64. package/dist/src/WebComponent/icons/CalculatorOutlineIcon.d.ts +0 -2
  65. package/dist/src/WebComponent/icons/ChatOutlineIcon.d.ts +0 -2
  66. package/dist/src/WebComponent/icons/ChevronLeftIcon.d.ts +0 -2
  67. package/dist/src/WebComponent/icons/ChevronRightIcon.d.ts +0 -2
  68. package/dist/src/WebComponent/icons/ContactResidentIcon.d.ts +0 -2
  69. package/dist/src/WebComponent/icons/DollarOutlineIcon.d.ts +0 -7
  70. package/dist/src/WebComponent/icons/EmailOutlineIcon.d.ts +0 -2
  71. package/dist/src/WebComponent/icons/HeyThereEmojiIcon.d.ts +0 -2
  72. package/dist/src/WebComponent/icons/PhoneOutlineIcon.d.ts +0 -2
  73. package/dist/src/WebComponent/icons/SendMessageIcon.d.ts +0 -3
  74. package/dist/src/WebComponent/icons/TourSelfGuidedIcon.d.ts +0 -2
  75. package/dist/src/WebComponent/icons/TourVirtuallyIcon.d.ts +0 -2
  76. package/dist/src/WebComponent/icons/TourWithAgentIcon.d.ts +0 -2
  77. package/dist/src/WebComponent/icons/XOutlineIcon.d.ts +0 -2
  78. package/dist/src/WebComponent/index.d.ts +0 -2
  79. package/dist/src/WebComponent/launcher/Launcher.d.ts +0 -99
  80. package/dist/src/WebComponent/launcher/launcherStyles.d.ts +0 -1
  81. package/dist/src/WebComponent/launcher/mobile-launcher.d.ts +0 -27
  82. package/dist/src/WebComponent/launcher/typeEmojiStyles.d.ts +0 -1
  83. package/dist/src/WebComponent/launcher/typeMiniStyles.d.ts +0 -1
  84. package/dist/src/WebComponent/launcher/typeMobileStyles.d.ts +0 -1
  85. package/dist/src/WebComponent/leasing-chat-styles.d.ts +0 -1
  86. package/dist/src/WebComponent/loaders/index.d.ts +0 -4
  87. package/dist/src/WebComponent/loaders/mega-loader.d.ts +0 -7
  88. package/dist/src/WebComponent/loaders/skeleton-card.d.ts +0 -12
  89. package/dist/src/WebComponent/loaders/skeleton-loader-styles.d.ts +0 -3
  90. package/dist/src/WebComponent/loaders/skeleton-loader.d.ts +0 -13
  91. package/dist/src/WebComponent/me-chat.d.ts +0 -91
  92. package/dist/src/WebComponent/me-select.d.ts +0 -24
  93. package/dist/src/WebComponent/mini-loader.d.ts +0 -5
  94. package/dist/src/WebComponent/pubnub-chat-styles.d.ts +0 -1
  95. package/dist/src/WebComponent/pubnub-chat.d.ts +0 -49
  96. package/dist/src/WebComponent/pubnub-media.d.ts +0 -14
  97. package/dist/src/WebComponent/pubnub-message-styles.d.ts +0 -1
  98. package/dist/src/WebComponent/pubnub-message.d.ts +0 -39
  99. package/dist/src/WebComponent/simple-launcher/simple-launcher-styles.d.ts +0 -1
  100. package/dist/src/WebComponent/simple-launcher/simple-launcher.d.ts +0 -12
  101. package/dist/src/WebComponent/utilities-chat.d.ts +0 -47
  102. package/dist/src/WebComponent/utilities-styles.d.ts +0 -1
  103. package/dist/src/WebComponent/utils.d.ts +0 -31
  104. package/dist/src/analytics.d.ts +0 -64
  105. package/dist/src/disclaimers.d.ts +0 -9
  106. package/dist/src/fetchBuildingABTestType.d.ts +0 -8
  107. package/dist/src/fetchBuildingInfo.d.ts +0 -57
  108. package/dist/src/fetchBuildingWebchatView.d.ts +0 -124
  109. package/dist/src/fetchFeatureFlag.d.ts +0 -14
  110. package/dist/src/fetchLeadSources.d.ts +0 -4
  111. package/dist/src/fetchPhoneNumberFromSource.d.ts +0 -6
  112. package/dist/src/getAvailabilities.d.ts +0 -45
  113. package/dist/src/getBuildingPhoneNumber.d.ts +0 -1
  114. package/dist/src/getShouldAllowScheduling.d.ts +0 -1
  115. package/dist/src/getShouldShowWebchat.d.ts +0 -3
  116. package/dist/src/getTimezoneString.d.ts +0 -1
  117. package/dist/src/globals.d.ts +0 -2
  118. package/dist/src/gtm.d.ts +0 -6
  119. package/dist/src/handleChatId.d.ts +0 -11
  120. package/dist/src/insertDNIIntoWebsite.d.ts +0 -5
  121. package/dist/src/insertLeadSourceIntoSchedulerLinks.d.ts +0 -4
  122. package/dist/src/main/MEChat.d.ts +0 -74
  123. package/dist/src/main/utils.d.ts +0 -2
  124. package/dist/src/postLeadSources.d.ts +0 -3
  125. package/dist/src/rentgrata.d.ts +0 -4
  126. package/dist/src/replaceSelectButtonsWithNewLink.d.ts +0 -5
  127. package/dist/src/services/fees/calculateQuote.d.ts +0 -14
  128. package/dist/src/services/fees/fetchBuildingFeesV2.d.ts +0 -10
  129. package/dist/src/services/fees/fetchBuildingUnits.d.ts +0 -29
  130. package/dist/src/services/fees/utils.d.ts +0 -1
  131. package/dist/src/svgIcons.d.ts +0 -5
  132. package/dist/src/themes.d.ts +0 -5
  133. package/dist/src/types/incentive-v2.d.ts +0 -23
  134. package/dist/src/types/rest-sdk.types.d.ts +0 -11
  135. package/dist/src/types/webchat-no-show-reason.d.ts +0 -1
  136. package/dist/src/utils/queryParamBuilder.d.ts +0 -8
  137. package/dist/src/utils.d.ts +0 -13
  138. package/src/MyPubnub.ts +0 -792
  139. package/src/WebComponent/FeeCalculator/components/addons/addon-item-matrix-qty-selector/addon-item-matrix-qty-selector-styles.ts +0 -35
  140. package/src/WebComponent/FeeCalculator/components/addons/addon-item-matrix-qty-selector/addon-item-matrix-qty-selector.ts +0 -206
  141. package/src/WebComponent/FeeCalculator/components/addons/addon-item-qty-selector/addon-item-qty-selector-styles.ts +0 -6
  142. package/src/WebComponent/FeeCalculator/components/addons/addon-item-qty-selector/addon-item-qty-selector.ts +0 -101
  143. package/src/WebComponent/FeeCalculator/components/addons/common-addon-styles.ts +0 -82
  144. package/src/WebComponent/FeeCalculator/components/addons/rentable-item-qty-selector/rentable-item-qty-selector-styles.ts +0 -9
  145. package/src/WebComponent/FeeCalculator/components/addons/rentable-item-qty-selector/rentable-item-qty-selector.ts +0 -124
  146. package/src/WebComponent/FeeCalculator/components/fee-calculator-layout/fee-calculator-layout-styles.ts +0 -142
  147. package/src/WebComponent/FeeCalculator/components/fee-calculator-layout/fee-calculator-layout.ts +0 -243
  148. package/src/WebComponent/FeeCalculator/components/fee-card/fee-card-styles.ts +0 -65
  149. package/src/WebComponent/FeeCalculator/components/fee-card/fee-card.ts +0 -91
  150. package/src/WebComponent/FeeCalculator/components/fee-item/fee-item-styles.ts +0 -44
  151. package/src/WebComponent/FeeCalculator/components/fee-item/fee-item.ts +0 -38
  152. package/src/WebComponent/FeeCalculator/components/floor-plan-selector/floor-plan-selector-styles.ts +0 -151
  153. package/src/WebComponent/FeeCalculator/components/floor-plan-selector/floor-plan-selector.ts +0 -248
  154. package/src/WebComponent/FeeCalculator/components/floorplan-image-card/floorplan-image-card-styles.ts +0 -82
  155. package/src/WebComponent/FeeCalculator/components/floorplan-image-card/floorplan-image-card.ts +0 -76
  156. package/src/WebComponent/FeeCalculator/components/incentive-banner/incentive-banner-styles.ts +0 -40
  157. package/src/WebComponent/FeeCalculator/components/incentive-banner/incentive-banner.ts +0 -43
  158. package/src/WebComponent/FeeCalculator/components/incentive-banner/index.ts +0 -1
  159. package/src/WebComponent/FeeCalculator/components/index.ts +0 -5
  160. package/src/WebComponent/FeeCalculator/components/promo-card/promo-card-styles.ts +0 -39
  161. package/src/WebComponent/FeeCalculator/components/promo-card/promo-card.ts +0 -39
  162. package/src/WebComponent/FeeCalculator/constants.ts +0 -5
  163. package/src/WebComponent/FeeCalculator/fee-calculator-styles.ts +0 -310
  164. package/src/WebComponent/FeeCalculator/fee-calculator.ts +0 -341
  165. package/src/WebComponent/FeeCalculator/index.ts +0 -4
  166. package/src/WebComponent/FeeCalculator/model/building-fee-view.ts +0 -84
  167. package/src/WebComponent/FeeCalculator/model/building-fee.ts +0 -126
  168. package/src/WebComponent/FeeCalculator/model/desired-addon.ts +0 -6
  169. package/src/WebComponent/FeeCalculator/model/desired-rentable-item.ts +0 -4
  170. package/src/WebComponent/FeeCalculator/model/index.ts +0 -13
  171. package/src/WebComponent/FeeCalculator/model/item-combination.ts +0 -16
  172. package/src/WebComponent/FeeCalculator/model/item-quantity.ts +0 -4
  173. package/src/WebComponent/FeeCalculator/model/pricing-matrix.ts +0 -45
  174. package/src/WebComponent/FeeCalculator/model/pricing-rule.ts +0 -9
  175. package/src/WebComponent/FeeCalculator/model/rent-frequency.ts +0 -1
  176. package/src/WebComponent/FeeCalculator/model/rentable-item-summary.ts +0 -10
  177. package/src/WebComponent/FeeCalculator/model/rentable-item.ts +0 -10
  178. package/src/WebComponent/FeeCalculator/model/transaction-category.ts +0 -23
  179. package/src/WebComponent/FeeCalculator/model/unit-fee-bundle.ts +0 -54
  180. package/src/WebComponent/LeadSourceClient.ts +0 -332
  181. package/src/WebComponent/MEChat.css +0 -5
  182. package/src/WebComponent/OfficeHours.ts +0 -73
  183. package/src/WebComponent/Scheduler/date-picker.ts +0 -405
  184. package/src/WebComponent/Scheduler/time-picker.ts +0 -190
  185. package/src/WebComponent/Scheduler/tour-scheduler.ts +0 -1416
  186. package/src/WebComponent/Scheduler/tour-type-option.ts +0 -112
  187. package/src/WebComponent/Scheduler/tourSchedulerStyles.ts +0 -418
  188. package/src/WebComponent/actions/InputStyles.ts +0 -57
  189. package/src/WebComponent/actions/action-confirm-button.ts +0 -125
  190. package/src/WebComponent/actions/call-us-window.ts +0 -467
  191. package/src/WebComponent/actions/collapse-expand-button.ts +0 -65
  192. package/src/WebComponent/actions/details-window.ts +0 -150
  193. package/src/WebComponent/actions/email-us-window.ts +0 -556
  194. package/src/WebComponent/actions/formatPhoneNumber.ts +0 -72
  195. package/src/WebComponent/actions/minimize-expand-button.ts +0 -93
  196. package/src/WebComponent/chat-additional-actions.ts +0 -135
  197. package/src/WebComponent/health-chat.ts +0 -270
  198. package/src/WebComponent/healthchat-styles.ts +0 -119
  199. package/src/WebComponent/icons/ApplyOutlineIcon.ts +0 -22
  200. package/src/WebComponent/icons/BookTourOutlineIcon.ts +0 -13
  201. package/src/WebComponent/icons/CalculatorOutlineIcon.ts +0 -22
  202. package/src/WebComponent/icons/ChatOutlineIcon.ts +0 -10
  203. package/src/WebComponent/icons/ChevronLeftIcon.ts +0 -7
  204. package/src/WebComponent/icons/ChevronRightIcon.ts +0 -7
  205. package/src/WebComponent/icons/ContactResidentIcon.ts +0 -9
  206. package/src/WebComponent/icons/DollarOutlineIcon.ts +0 -26
  207. package/src/WebComponent/icons/EmailOutlineIcon.ts +0 -7
  208. package/src/WebComponent/icons/HeyThereEmojiIcon.ts +0 -12
  209. package/src/WebComponent/icons/PhoneOutlineIcon.ts +0 -7
  210. package/src/WebComponent/icons/SendMessageIcon.ts +0 -17
  211. package/src/WebComponent/icons/TourSelfGuidedIcon.ts +0 -17
  212. package/src/WebComponent/icons/TourVirtuallyIcon.ts +0 -17
  213. package/src/WebComponent/icons/TourWithAgentIcon.ts +0 -17
  214. package/src/WebComponent/icons/XOutlineIcon.ts +0 -8
  215. package/src/WebComponent/index.ts +0 -2
  216. package/src/WebComponent/launcher/Launcher.ts +0 -1284
  217. package/src/WebComponent/launcher/launcherStyles.ts +0 -500
  218. package/src/WebComponent/launcher/mobile-launcher.ts +0 -162
  219. package/src/WebComponent/launcher/typeEmojiStyles.ts +0 -161
  220. package/src/WebComponent/launcher/typeMiniStyles.ts +0 -60
  221. package/src/WebComponent/launcher/typeMobileStyles.ts +0 -50
  222. package/src/WebComponent/leasing-chat-styles.ts +0 -114
  223. package/src/WebComponent/loaders/index.ts +0 -7
  224. package/src/WebComponent/loaders/mega-loader.ts +0 -36
  225. package/src/WebComponent/loaders/skeleton-card.ts +0 -31
  226. package/src/WebComponent/loaders/skeleton-loader-styles.ts +0 -112
  227. package/src/WebComponent/loaders/skeleton-loader.ts +0 -34
  228. package/src/WebComponent/me-chat.ts +0 -1261
  229. package/src/WebComponent/me-select.ts +0 -322
  230. package/src/WebComponent/mini-loader.ts +0 -28
  231. package/src/WebComponent/pubnub-chat-styles.ts +0 -204
  232. package/src/WebComponent/pubnub-chat.ts +0 -928
  233. package/src/WebComponent/pubnub-media.ts +0 -208
  234. package/src/WebComponent/pubnub-message-styles.ts +0 -54
  235. package/src/WebComponent/pubnub-message.ts +0 -431
  236. package/src/WebComponent/simple-launcher/simple-launcher-styles.ts +0 -34
  237. package/src/WebComponent/simple-launcher/simple-launcher.ts +0 -100
  238. package/src/WebComponent/utilities-chat.ts +0 -270
  239. package/src/WebComponent/utilities-styles.ts +0 -110
  240. package/src/WebComponent/utils.ts +0 -82
  241. package/src/analytics.ts +0 -217
  242. package/src/assetUrls.ts +0 -6
  243. package/src/disclaimers.ts +0 -86
  244. package/src/fetchBuildingABTestType.ts +0 -21
  245. package/src/fetchBuildingInfo.ts +0 -87
  246. package/src/fetchBuildingWebchatView.ts +0 -176
  247. package/src/fetchFeatureFlag.ts +0 -250
  248. package/src/fetchLeadSources.ts +0 -98
  249. package/src/fetchPhoneNumberFromSource.ts +0 -31
  250. package/src/fetchWebchatPreferences.ts +0 -54
  251. package/src/getAvailabilities.ts +0 -179
  252. package/src/getBuildingPhoneNumber.ts +0 -26
  253. package/src/getShouldAllowScheduling.ts +0 -16
  254. package/src/getShouldShowWebchat.ts +0 -114
  255. package/src/getTimezoneString.ts +0 -39
  256. package/src/globals.ts +0 -3
  257. package/src/gtm.ts +0 -17
  258. package/src/handleChatId.ts +0 -101
  259. package/src/insertDNIIntoWebsite.ts +0 -146
  260. package/src/insertLeadSourceIntoSchedulerLinks.ts +0 -71
  261. package/src/main/MEChat.test.ts +0 -110
  262. package/src/main/MEChat.ts +0 -404
  263. package/src/main/utils.ts +0 -70
  264. package/src/postLeadSources.ts +0 -44
  265. package/src/rentgrata.ts +0 -74
  266. package/src/replaceSelectButtonsWithNewLink.ts +0 -90
  267. package/src/services/fees/calculateQuote.ts +0 -74
  268. package/src/services/fees/fetchBuildingFees.ts +0 -50
  269. package/src/services/fees/fetchBuildingFeesV2.ts +0 -56
  270. package/src/services/fees/fetchBuildingFloorplans.ts +0 -74
  271. package/src/services/fees/fetchBuildingUnits.ts +0 -86
  272. package/src/services/fees/utils.ts +0 -4
  273. package/src/svgIcons.ts +0 -14
  274. package/src/themes.ts +0 -65
  275. package/src/types/incentive-v2.ts +0 -24
  276. package/src/types/rest-sdk.types.ts +0 -13
  277. package/src/types/webchat-no-show-reason.ts +0 -6
  278. package/src/utils/queryParamBuilder.ts +0 -28
  279. package/src/utils.ts +0 -121
@@ -1,248 +0,0 @@
1
- import { LitElement, html, TemplateResult } from "lit";
2
- import { customElement, property, state } from "lit/decorators.js";
3
- import { LayoutOption } from "../../../../fetchBuildingWebchatView";
4
- import { ALL_LAYOUTS_OPTION, DEFAULT_LEASE_TERM } from "../../constants";
5
-
6
- import fetchBuildingUnits, {
7
- Unit,
8
- } from "../../../../services/fees/fetchBuildingUnits";
9
- import { layoutToBedrooms } from "../../../../services/fees/utils";
10
- import floorPlanSelectorStyles from "./floor-plan-selector-styles";
11
- import { TODAY } from "../../../../globals";
12
-
13
- import "../floorplan-image-card/floorplan-image-card";
14
- import "../../../loaders/mega-loader";
15
-
16
- @customElement("floor-plan-selector")
17
- export class FloorPlanSelector extends LitElement {
18
- static styles = floorPlanSelectorStyles;
19
-
20
- @property({ type: String })
21
- buildingSlug = "";
22
-
23
- @property({ type: Array })
24
- layoutOptions: LayoutOption[] = [];
25
-
26
- @property({ type: Array })
27
- selectedLayoutIds: number[] = [ALL_LAYOUTS_OPTION];
28
-
29
- @property()
30
- onSelectLayout: ((layoutIds: number[]) => void) | null = null;
31
-
32
- @property()
33
- onUnitSelect: ((unit: Unit) => void) | null = null;
34
-
35
- @property()
36
- onMoveInDateChange: ((moveInDate: Date) => void) | null = null;
37
-
38
- @property()
39
- onLeaseTermChange: ((leaseTerm: number) => void) | null = null;
40
-
41
- @state()
42
- moveInDate: Date | null = TODAY;
43
-
44
- @state()
45
- leaseTerm = DEFAULT_LEASE_TERM;
46
-
47
- @state()
48
- units: Unit[] = [];
49
-
50
- @state()
51
- selectedUnit: Unit | null = null;
52
-
53
- @state()
54
- isLoading = false;
55
-
56
- private get displayOptions(): LayoutOption[] {
57
- const allOption: LayoutOption = {
58
- value: ALL_LAYOUTS_OPTION,
59
- label: "All",
60
- };
61
-
62
- const convertNumberWordsToNumeric = (text: string): string => {
63
- const numberMap: Record<string, string> = {
64
- zero: "0",
65
- one: "1",
66
- two: "2",
67
- three: "3",
68
- four: "4",
69
- five: "5",
70
- six: "6",
71
- seven: "7",
72
- eight: "8",
73
- nine: "9",
74
- ten: "10",
75
- eleven: "11",
76
- twelve: "12",
77
- };
78
-
79
- let result = text;
80
- Object.entries(numberMap).forEach(([word, number]) => {
81
- const regex = new RegExp(`\\b${word}\\b`, "gi");
82
- result = result.replace(regex, number);
83
- });
84
-
85
- return result;
86
- };
87
-
88
- return [allOption, ...this.layoutOptions]
89
- .map((opt: LayoutOption) => ({
90
- ...opt,
91
- label: convertNumberWordsToNumeric(
92
- opt.label.replace(/bedroom/gi, "bd")
93
- ),
94
- }))
95
- .sort((a, b) => a.value - b.value);
96
- }
97
-
98
- private fetchUnits = async (): Promise<Unit[]> => {
99
- this.isLoading = true;
100
-
101
- const numBedrooms =
102
- this.selectedLayoutIds.length === 1
103
- ? layoutToBedrooms(this.selectedLayoutIds[0])
104
- : undefined;
105
-
106
- try {
107
- const units = await fetchBuildingUnits({
108
- buildingSlug: this.buildingSlug,
109
- moveInDateEarliest: this.moveInDate ? this.moveInDate : undefined,
110
- ...(this.selectedLayoutIds.includes(ALL_LAYOUTS_OPTION)
111
- ? {}
112
- : { numBedrooms }),
113
- leaseTermMin: this.leaseTerm,
114
- });
115
- return units.filter((unit) => !!unit.floorplanUrl);
116
- } finally {
117
- this.isLoading = false;
118
- }
119
- };
120
-
121
- firstUpdated = async (): Promise<void> => {
122
- this.units = await this.fetchUnits();
123
- };
124
-
125
- handleUnitSelect = (unit: Unit): void => {
126
- this.selectedUnit = unit;
127
- this.onUnitSelect?.(unit);
128
- };
129
-
130
- handleLayoutChange = async (ids: number[]): Promise<void> => {
131
- this.selectedLayoutIds = ids;
132
- this.onSelectLayout?.(this.selectedLayoutIds);
133
- this.units = await this.fetchUnits();
134
- };
135
-
136
- handleMoveInDateChange = async (e: Event): Promise<void> => {
137
- const inputValue = (e.target as HTMLInputElement).value;
138
- let newMoveIn;
139
-
140
- if (!inputValue) {
141
- newMoveIn = TODAY;
142
- } else {
143
- newMoveIn = new Date(inputValue);
144
- }
145
-
146
- this.moveInDate = newMoveIn;
147
- this.onMoveInDateChange?.(newMoveIn);
148
- this.units = await this.fetchUnits();
149
- };
150
-
151
- handleLeaseTermChange = async (e: Event): Promise<void> => {
152
- this.leaseTerm = parseInt((e.target as HTMLInputElement).value);
153
- this.onLeaseTermChange?.(this.leaseTerm);
154
- this.units = await this.fetchUnits();
155
- };
156
-
157
- renderUnitSelection = (): TemplateResult => {
158
- if (this.isLoading) {
159
- return html`
160
- <div class="unit-selection">
161
- <div class="unit-label">Select Unit</div>
162
- <div class="loading-container">
163
- <mega-loader size="32"></mega-loader>
164
- </div>
165
- </div>
166
- `;
167
- }
168
-
169
- return html`
170
- <div class="unit-selection">
171
- <div class="unit-label">Select Unit</div>
172
- <div class="image-carousel">
173
- ${this.units?.length === 0
174
- ? html`
175
- <div class="no-floorplans-container">
176
- <p>No floorplans found</p>
177
- </div>
178
- `
179
- : ""}
180
- ${this.units?.map(
181
- (unit) => html`
182
- <floorplan-image-card
183
- .unit=${unit}
184
- .onUnitSelect=${this.handleUnitSelect}
185
- .selected=${this.selectedUnit?.id === unit.id}
186
- ></floorplan-image-card>
187
- `
188
- )}
189
- </div>
190
- </div>
191
- `;
192
- };
193
-
194
- render(): TemplateResult {
195
- return html`
196
- <div class="floor-plan-selector">
197
- <div class="floor-plan-selector-label">Select Floor Plan</div>
198
- <div class="floor-plan-selector-badges">
199
- ${this.displayOptions.map(
200
- (opt) => html`
201
- <div
202
- class="floor-plan-badge ${this.selectedLayoutIds.includes(
203
- opt.value
204
- )
205
- ? "selected"
206
- : ""}"
207
- @click=${() => this.handleLayoutChange([opt.value])}
208
- >
209
- ${opt.label}
210
- </div>
211
- `
212
- )}
213
- </div>
214
-
215
- <div>
216
- <div class="date-fields">
217
- <div class="date-field">
218
- <label class="date-field-label">Move in date</label>
219
- <input
220
- type="date"
221
- placeholder="Select move in date"
222
- .value=${this.moveInDate?.toISOString().split("T")[0] ?? ""}
223
- @input=${this.handleMoveInDateChange}
224
- />
225
- </div>
226
- <div class="date-field">
227
- <label class="date-field-label">Lease Term</label>
228
- <input
229
- type="number"
230
- placeholder="Lease term (months)"
231
- .value=${this.leaseTerm.toString()}
232
- @input=${this.handleLeaseTermChange}
233
- />
234
- </div>
235
- </div>
236
-
237
- ${this.renderUnitSelection()}
238
- </div>
239
- </div>
240
- `;
241
- }
242
- }
243
-
244
- declare global {
245
- interface HTMLElementTagNameMap {
246
- "floor-plan-selector": FloorPlanSelector;
247
- }
248
- }
@@ -1,82 +0,0 @@
1
- import { css } from "lit";
2
-
3
- const floorplanImageCardStyles = css`
4
- :host {
5
- display: block;
6
- }
7
-
8
- p {
9
- margin: 0;
10
- }
11
-
12
- .floorplan-image-card {
13
- display: flex;
14
- flex-direction: row;
15
- background-color: #f8f9fa;
16
- min-width: 18rem;
17
- width: 100%;
18
- padding: 12px;
19
- gap: 8px;
20
- border-radius: 4px;
21
- border: 2px solid transparent;
22
- box-sizing: border-box;
23
- }
24
-
25
- .section-left {
26
- flex: 0 0 auto;
27
- position: relative;
28
- }
29
-
30
- .floorplan-image-card.selected {
31
- border-color: var(--primary-color, #646987);
32
- box-shadow: 0 0 8px
33
- color-mix(in srgb, var(--primary-color, #646987) 50%, transparent);
34
- transition: box-shadow 0.1s ease-in-out, background-color 0.1s ease-in-out,
35
- border-color 0.1s ease-in-out;
36
- background-color: #f0f7ff;
37
- }
38
-
39
- .section-right {
40
- flex: 1 1 auto;
41
- display: flex;
42
- flex-direction: column;
43
- gap: 4px;
44
- cursor: pointer;
45
- }
46
-
47
- .image-card-title {
48
- font-size: 1rem;
49
- }
50
-
51
- .image-card-subtitle {
52
- font-size: 0.8rem;
53
- color: #868e96;
54
- }
55
-
56
- img {
57
- border-radius: 8px;
58
- flex: 0 0 auto;
59
- height: 4rem;
60
- width: 4rem;
61
- object-fit: cover;
62
- border: 1px solid #ddd;
63
- cursor: pointer;
64
- position: relative;
65
- }
66
-
67
- img:hover {
68
- border-color: var(--primary-color, #646987);
69
- box-shadow: 0 0 10px 3px rgba(100, 105, 135, 0.4);
70
- }
71
-
72
- @media (max-width: 768px) {
73
- .floorplan-image-card {
74
- width: 100%;
75
- min-width: 18rem;
76
- flex-shrink: 0;
77
- margin-right: 8px;
78
- }
79
- }
80
- `;
81
-
82
- export default floorplanImageCardStyles;
@@ -1,76 +0,0 @@
1
- import { LitElement, TemplateResult } from "lit";
2
- import { html } from "lit";
3
- import { customElement, property } from "lit/decorators.js";
4
- import { Unit } from "../../../../services/fees/fetchBuildingUnits";
5
-
6
- import floorplanImageCardStyles from "./floorplan-image-card-styles";
7
-
8
- @customElement("floorplan-image-card")
9
- export class FloorplanImageCard extends LitElement {
10
- static styles = floorplanImageCardStyles;
11
-
12
- @property({ type: Object })
13
- unit: Unit = {} as Unit;
14
-
15
- @property()
16
- onUnitSelect: ((unit: Unit) => void) | null = null;
17
-
18
- @property({ type: Boolean })
19
- selected = false;
20
-
21
- get bedAndBathText(): string {
22
- const bedRooms =
23
- this.unit.numberOfBedrooms === 0
24
- ? "studio"
25
- : `${this.unit.numberOfBedrooms}bd`;
26
- return `${bedRooms} | ${this.unit.numberOfBathrooms}ba`;
27
- }
28
-
29
- get priceRange(): string {
30
- if (this.unit.startingPrice === this.unit.maxPrice) {
31
- return `$${this.unit.startingPrice}`;
32
- }
33
-
34
- return `$${this.unit.startingPrice} - $${this.unit.maxPrice}`;
35
- }
36
-
37
- handleOnUnitSelect(): void {
38
- if (this.selected) return;
39
- this.selected = !this.selected;
40
- this.onUnitSelect?.(this.unit);
41
- }
42
-
43
- handleOnImgClick(event: Event): void {
44
- const img = event.target as HTMLImageElement;
45
- window.open(img.src, "_blank");
46
- }
47
-
48
- render(): TemplateResult {
49
- return html`
50
- <div class="floorplan-image-card ${this.selected ? "selected" : ""}">
51
- <div class="section-left">
52
- <img
53
- @click=${this.handleOnImgClick}
54
- src="${this.unit.floorplanUrl ?? ""}"
55
- alt="${this.unit.floorplanName}"
56
- />
57
- </div>
58
- <div class="section-right" @click=${this.handleOnUnitSelect}>
59
- <p class="image-card-title">
60
- Unit ${this.unit.unitNumber} | ${this.priceRange}
61
- </p>
62
- <p class="image-card-subtitle">
63
- ${this.bedAndBathText} | ${this.unit.squareFootage} ft |
64
- ${this.unit.earliestAvailable}
65
- </p>
66
- </div>
67
- </div>
68
- `;
69
- }
70
- }
71
-
72
- declare global {
73
- interface HTMLElementTagNameMap {
74
- "floorplan-image-card": FloorplanImageCard;
75
- }
76
- }
@@ -1,40 +0,0 @@
1
- import { css } from "lit";
2
-
3
- export const incentiveBannerStyles = css`
4
- :host {
5
- display: block;
6
- }
7
-
8
- .incentive-banner {
9
- width: 100%;
10
- background-color: #e8f2ff;
11
- padding: 8px 12px;
12
- display: flex;
13
- align-items: center;
14
- gap: 8px;
15
- }
16
-
17
- .incentive-icon {
18
- display: flex;
19
- align-items: center;
20
- justify-content: center;
21
- width: 3rem;
22
- height: 3rem;
23
- }
24
-
25
- .incentive-content {
26
- flex: 1;
27
- }
28
-
29
- .incentive-title {
30
- margin: 0;
31
- font-size: 1.1rem;
32
- }
33
-
34
- .incentive-subtitle {
35
- margin: 4px 0 0 0;
36
- color: #868e96;
37
- font-size: 0.9rem;
38
- opacity: 0.9;
39
- }
40
- `;
@@ -1,43 +0,0 @@
1
- import { LitElement, html, TemplateResult } from "lit";
2
- import { customElement, property } from "lit/decorators.js";
3
- import { IncentiveV2 } from "../../../../types/incentive-v2";
4
- import { incentiveBannerStyles } from "./incentive-banner-styles";
5
- import DollarOutlineIcon from "../../../icons/DollarOutlineIcon";
6
-
7
- @customElement("incentive-banner")
8
- export class IncentiveBanner extends LitElement {
9
- static styles = incentiveBannerStyles;
10
-
11
- @property({ type: Object })
12
- incentive!: IncentiveV2;
13
-
14
- getFormattedEndDate(incentive: IncentiveV2): string {
15
- const endDate = new Date(incentive.endDate);
16
- return endDate.toLocaleDateString("en-US", {
17
- month: "long",
18
- day: "numeric",
19
- year: "numeric",
20
- });
21
- }
22
-
23
- render(): TemplateResult {
24
- if (!this.incentive) {
25
- return html``;
26
- }
27
-
28
- return html`
29
- <div class="incentive-banner">
30
- <div class="incentive-icon">${DollarOutlineIcon({ size: 32 })}</div>
31
- <div class="incentive-content">
32
- <h2 class="incentive-title">
33
- ${this.incentive.originalIncentiveString}
34
- </h2>
35
- <p class="incentive-subtitle">
36
- Valid through ${this.getFormattedEndDate(this.incentive)} for
37
- ${this.incentive.qualifier}
38
- </p>
39
- </div>
40
- </div>
41
- `;
42
- }
43
- }
@@ -1 +0,0 @@
1
- export * from "./incentive-banner";
@@ -1,5 +0,0 @@
1
- export * from "./promo-card/promo-card";
2
- export * from "./floor-plan-selector/floor-plan-selector";
3
- export * from "./fee-card/fee-card";
4
- export * from "./addons/addon-item-qty-selector/addon-item-qty-selector";
5
- export * from "./fee-calculator-layout/fee-calculator-layout";
@@ -1,39 +0,0 @@
1
- import { css } from "lit";
2
-
3
- const promoCardStyles = css`
4
- :host {
5
- display: block;
6
- margin-bottom: 20px;
7
- }
8
-
9
- .promo-card {
10
- background-color: #e6f2ff;
11
- border-radius: 8px;
12
- padding: 16px;
13
- display: flex;
14
- align-items: center;
15
- }
16
-
17
- .icon-container {
18
- display: flex;
19
- justify-content: center;
20
- margin-right: 16px;
21
- }
22
-
23
- .content-container {
24
- flex: 1;
25
- }
26
-
27
- .promo-heading {
28
- font-size: 1.2rem;
29
- font-weight: normal;
30
- margin: 0 0 4px 0;
31
- }
32
-
33
- .promo-subtitle {
34
- color: #868e96;
35
- font-size: 0.8rem;
36
- }
37
- `;
38
-
39
- export default promoCardStyles;
@@ -1,39 +0,0 @@
1
- import { LitElement, html, TemplateResult } from "lit";
2
- import { customElement, property } from "lit/decorators.js";
3
- import DollarOutlineIcon from "../../../icons/DollarOutlineIcon";
4
-
5
- import promoCardStyles from "./promo-card-styles";
6
-
7
- @customElement("promo-card")
8
- export class PromoCard extends LitElement {
9
- static styles = promoCardStyles;
10
-
11
- @property({ type: String })
12
- promoAmount = "0";
13
-
14
- @property({ type: String })
15
- promoDescription = "";
16
-
17
- @property({ type: String })
18
- promoValidity = "";
19
-
20
- render(): TemplateResult {
21
- return html`
22
- <div class="promo-card">
23
- <div class="icon-container">${DollarOutlineIcon()}</div>
24
- <div class="content-container">
25
- <h2 class="promo-heading">
26
- ${this.promoAmount} ${this.promoDescription}
27
- </h2>
28
- <div class="promo-subtitle">${this.promoValidity}</div>
29
- </div>
30
- </div>
31
- `;
32
- }
33
- }
34
-
35
- declare global {
36
- interface HTMLElementTagNameMap {
37
- "promo-card": PromoCard;
38
- }
39
- }
@@ -1,5 +0,0 @@
1
- export const ALL_LAYOUTS_OPTION = -1;
2
-
3
- export const CALCULATE_DEBOUNCE_MS = 1000;
4
-
5
- export const DEFAULT_LEASE_TERM = 12;