@meetelise/chat 1.34.2 → 1.34.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.
Files changed (280) hide show
  1. package/package.json +1 -1
  2. package/public/dist/index.js +1 -1
  3. package/dist/src/MyPubnub.d.ts +0 -116
  4. package/dist/src/WebComponent/FeeCalculator/components/addons/addon-item-matrix-qty-selector/addon-item-matrix-qty-selector-styles.d.ts +0 -2
  5. package/dist/src/WebComponent/FeeCalculator/components/addons/addon-item-matrix-qty-selector/addon-item-matrix-qty-selector.d.ts +0 -28
  6. package/dist/src/WebComponent/FeeCalculator/components/addons/addon-item-qty-selector/addon-item-qty-selector-styles.d.ts +0 -2
  7. package/dist/src/WebComponent/FeeCalculator/components/addons/addon-item-qty-selector/addon-item-qty-selector.d.ts +0 -18
  8. package/dist/src/WebComponent/FeeCalculator/components/addons/common-addon-styles.d.ts +0 -2
  9. package/dist/src/WebComponent/FeeCalculator/components/addons/rentable-item-qty-selector/rentable-item-qty-selector-styles.d.ts +0 -2
  10. package/dist/src/WebComponent/FeeCalculator/components/addons/rentable-item-qty-selector/rentable-item-qty-selector.d.ts +0 -22
  11. package/dist/src/WebComponent/FeeCalculator/components/fee-calculator-layout/fee-calculator-layout-styles.d.ts +0 -2
  12. package/dist/src/WebComponent/FeeCalculator/components/fee-calculator-layout/fee-calculator-layout.d.ts +0 -46
  13. package/dist/src/WebComponent/FeeCalculator/components/fee-card/fee-card-styles.d.ts +0 -2
  14. package/dist/src/WebComponent/FeeCalculator/components/fee-card/fee-card.d.ts +0 -21
  15. package/dist/src/WebComponent/FeeCalculator/components/fee-item/fee-item-styles.d.ts +0 -2
  16. package/dist/src/WebComponent/FeeCalculator/components/fee-item/fee-item.d.ts +0 -13
  17. package/dist/src/WebComponent/FeeCalculator/components/floor-plan-selector/floor-plan-selector-styles.d.ts +0 -2
  18. package/dist/src/WebComponent/FeeCalculator/components/floor-plan-selector/floor-plan-selector.d.ts +0 -34
  19. package/dist/src/WebComponent/FeeCalculator/components/floorplan-image-card/floorplan-image-card-styles.d.ts +0 -2
  20. package/dist/src/WebComponent/FeeCalculator/components/floorplan-image-card/floorplan-image-card.d.ts +0 -18
  21. package/dist/src/WebComponent/FeeCalculator/components/incentive-banner/incentive-banner-styles.d.ts +0 -1
  22. package/dist/src/WebComponent/FeeCalculator/components/incentive-banner/incentive-banner.d.ts +0 -8
  23. package/dist/src/WebComponent/FeeCalculator/components/incentive-banner/index.d.ts +0 -1
  24. package/dist/src/WebComponent/FeeCalculator/components/index.d.ts +0 -5
  25. package/dist/src/WebComponent/FeeCalculator/components/promo-card/promo-card-styles.d.ts +0 -2
  26. package/dist/src/WebComponent/FeeCalculator/components/promo-card/promo-card.d.ts +0 -13
  27. package/dist/src/WebComponent/FeeCalculator/constants.d.ts +0 -3
  28. package/dist/src/WebComponent/FeeCalculator/fee-calculator-styles.d.ts +0 -1
  29. package/dist/src/WebComponent/FeeCalculator/fee-calculator.d.ts +0 -55
  30. package/dist/src/WebComponent/FeeCalculator/index.d.ts +0 -2
  31. package/dist/src/WebComponent/FeeCalculator/model/building-fee-view.d.ts +0 -41
  32. package/dist/src/WebComponent/FeeCalculator/model/building-fee.d.ts +0 -82
  33. package/dist/src/WebComponent/FeeCalculator/model/desired-addon.d.ts +0 -5
  34. package/dist/src/WebComponent/FeeCalculator/model/desired-rentable-item.d.ts +0 -4
  35. package/dist/src/WebComponent/FeeCalculator/model/index.d.ts +0 -13
  36. package/dist/src/WebComponent/FeeCalculator/model/item-combination.d.ts +0 -6
  37. package/dist/src/WebComponent/FeeCalculator/model/item-quantity.d.ts +0 -4
  38. package/dist/src/WebComponent/FeeCalculator/model/pricing-matrix.d.ts +0 -18
  39. package/dist/src/WebComponent/FeeCalculator/model/pricing-rule.d.ts +0 -8
  40. package/dist/src/WebComponent/FeeCalculator/model/rent-frequency.d.ts +0 -1
  41. package/dist/src/WebComponent/FeeCalculator/model/rentable-item-summary.d.ts +0 -9
  42. package/dist/src/WebComponent/FeeCalculator/model/rentable-item.d.ts +0 -9
  43. package/dist/src/WebComponent/FeeCalculator/model/transaction-category.d.ts +0 -23
  44. package/dist/src/WebComponent/FeeCalculator/model/unit-fee-bundle.d.ts +0 -31
  45. package/dist/src/WebComponent/LeadSourceClient.d.ts +0 -46
  46. package/dist/src/WebComponent/OfficeHours.d.ts +0 -21
  47. package/dist/src/WebComponent/Scheduler/date-picker.d.ts +0 -28
  48. package/dist/src/WebComponent/Scheduler/time-picker.d.ts +0 -14
  49. package/dist/src/WebComponent/Scheduler/tour-scheduler.d.ts +0 -101
  50. package/dist/src/WebComponent/Scheduler/tour-type-option.d.ts +0 -13
  51. package/dist/src/WebComponent/Scheduler/tourSchedulerStyles.d.ts +0 -1
  52. package/dist/src/WebComponent/actions/InputStyles.d.ts +0 -1
  53. package/dist/src/WebComponent/actions/action-confirm-button.d.ts +0 -13
  54. package/dist/src/WebComponent/actions/call-us-window.d.ts +0 -37
  55. package/dist/src/WebComponent/actions/collapse-expand-button.d.ts +0 -8
  56. package/dist/src/WebComponent/actions/details-window.d.ts +0 -14
  57. package/dist/src/WebComponent/actions/email-us-window.d.ts +0 -46
  58. package/dist/src/WebComponent/actions/formatPhoneNumber.d.ts +0 -17
  59. package/dist/src/WebComponent/actions/minimize-expand-button.d.ts +0 -8
  60. package/dist/src/WebComponent/chat-additional-actions.d.ts +0 -28
  61. package/dist/src/WebComponent/health-chat.d.ts +0 -47
  62. package/dist/src/WebComponent/healthchat-styles.d.ts +0 -1
  63. package/dist/src/WebComponent/icons/ApplyOutlineIcon.d.ts +0 -2
  64. package/dist/src/WebComponent/icons/BookTourOutlineIcon.d.ts +0 -2
  65. package/dist/src/WebComponent/icons/CalculatorOutlineIcon.d.ts +0 -2
  66. package/dist/src/WebComponent/icons/ChatOutlineIcon.d.ts +0 -2
  67. package/dist/src/WebComponent/icons/ChevronLeftIcon.d.ts +0 -2
  68. package/dist/src/WebComponent/icons/ChevronRightIcon.d.ts +0 -2
  69. package/dist/src/WebComponent/icons/ContactResidentIcon.d.ts +0 -2
  70. package/dist/src/WebComponent/icons/DollarOutlineIcon.d.ts +0 -7
  71. package/dist/src/WebComponent/icons/EmailOutlineIcon.d.ts +0 -2
  72. package/dist/src/WebComponent/icons/HeyThereEmojiIcon.d.ts +0 -2
  73. package/dist/src/WebComponent/icons/PhoneOutlineIcon.d.ts +0 -2
  74. package/dist/src/WebComponent/icons/SendMessageIcon.d.ts +0 -3
  75. package/dist/src/WebComponent/icons/TourSelfGuidedIcon.d.ts +0 -2
  76. package/dist/src/WebComponent/icons/TourVirtuallyIcon.d.ts +0 -2
  77. package/dist/src/WebComponent/icons/TourWithAgentIcon.d.ts +0 -2
  78. package/dist/src/WebComponent/icons/XOutlineIcon.d.ts +0 -2
  79. package/dist/src/WebComponent/index.d.ts +0 -2
  80. package/dist/src/WebComponent/launcher/Launcher.d.ts +0 -99
  81. package/dist/src/WebComponent/launcher/launcherStyles.d.ts +0 -1
  82. package/dist/src/WebComponent/launcher/mobile-launcher.d.ts +0 -27
  83. package/dist/src/WebComponent/launcher/typeEmojiStyles.d.ts +0 -1
  84. package/dist/src/WebComponent/launcher/typeMiniStyles.d.ts +0 -1
  85. package/dist/src/WebComponent/launcher/typeMobileStyles.d.ts +0 -1
  86. package/dist/src/WebComponent/leasing-chat-styles.d.ts +0 -1
  87. package/dist/src/WebComponent/loaders/index.d.ts +0 -4
  88. package/dist/src/WebComponent/loaders/mega-loader.d.ts +0 -7
  89. package/dist/src/WebComponent/loaders/skeleton-card.d.ts +0 -12
  90. package/dist/src/WebComponent/loaders/skeleton-loader-styles.d.ts +0 -3
  91. package/dist/src/WebComponent/loaders/skeleton-loader.d.ts +0 -13
  92. package/dist/src/WebComponent/me-chat.d.ts +0 -91
  93. package/dist/src/WebComponent/me-select.d.ts +0 -24
  94. package/dist/src/WebComponent/mini-loader.d.ts +0 -5
  95. package/dist/src/WebComponent/pubnub-chat-styles.d.ts +0 -1
  96. package/dist/src/WebComponent/pubnub-chat.d.ts +0 -49
  97. package/dist/src/WebComponent/pubnub-media.d.ts +0 -14
  98. package/dist/src/WebComponent/pubnub-message-styles.d.ts +0 -1
  99. package/dist/src/WebComponent/pubnub-message.d.ts +0 -39
  100. package/dist/src/WebComponent/simple-launcher/simple-launcher-styles.d.ts +0 -1
  101. package/dist/src/WebComponent/simple-launcher/simple-launcher.d.ts +0 -12
  102. package/dist/src/WebComponent/utilities-chat.d.ts +0 -47
  103. package/dist/src/WebComponent/utilities-styles.d.ts +0 -1
  104. package/dist/src/WebComponent/utils.d.ts +0 -31
  105. package/dist/src/analytics.d.ts +0 -64
  106. package/dist/src/disclaimers.d.ts +0 -9
  107. package/dist/src/fetchBuildingABTestType.d.ts +0 -8
  108. package/dist/src/fetchBuildingInfo.d.ts +0 -57
  109. package/dist/src/fetchBuildingWebchatView.d.ts +0 -124
  110. package/dist/src/fetchFeatureFlag.d.ts +0 -14
  111. package/dist/src/fetchLeadSources.d.ts +0 -4
  112. package/dist/src/fetchPhoneNumberFromSource.d.ts +0 -6
  113. package/dist/src/getAvailabilities.d.ts +0 -45
  114. package/dist/src/getBuildingPhoneNumber.d.ts +0 -1
  115. package/dist/src/getShouldAllowScheduling.d.ts +0 -1
  116. package/dist/src/getShouldShowWebchat.d.ts +0 -3
  117. package/dist/src/getTimezoneString.d.ts +0 -1
  118. package/dist/src/globals.d.ts +0 -2
  119. package/dist/src/gtm.d.ts +0 -6
  120. package/dist/src/handleChatId.d.ts +0 -11
  121. package/dist/src/insertDNIIntoWebsite.d.ts +0 -5
  122. package/dist/src/insertLeadSourceIntoSchedulerLinks.d.ts +0 -4
  123. package/dist/src/main/MEChat.d.ts +0 -74
  124. package/dist/src/main/utils.d.ts +0 -2
  125. package/dist/src/postLeadSources.d.ts +0 -3
  126. package/dist/src/rentgrata.d.ts +0 -4
  127. package/dist/src/replaceSelectButtonsWithNewLink.d.ts +0 -5
  128. package/dist/src/services/fees/calculateQuote.d.ts +0 -14
  129. package/dist/src/services/fees/fetchBuildingFeesV2.d.ts +0 -10
  130. package/dist/src/services/fees/fetchBuildingUnits.d.ts +0 -29
  131. package/dist/src/services/fees/utils.d.ts +0 -1
  132. package/dist/src/svgIcons.d.ts +0 -5
  133. package/dist/src/themes.d.ts +0 -5
  134. package/dist/src/types/incentive-v2.d.ts +0 -23
  135. package/dist/src/types/rest-sdk.types.d.ts +0 -11
  136. package/dist/src/types/webchat-no-show-reason.d.ts +0 -1
  137. package/dist/src/utils/queryParamBuilder.d.ts +0 -8
  138. package/dist/src/utils.d.ts +0 -13
  139. package/src/MyPubnub.ts +0 -792
  140. package/src/WebComponent/FeeCalculator/components/addons/addon-item-matrix-qty-selector/addon-item-matrix-qty-selector-styles.ts +0 -35
  141. package/src/WebComponent/FeeCalculator/components/addons/addon-item-matrix-qty-selector/addon-item-matrix-qty-selector.ts +0 -206
  142. package/src/WebComponent/FeeCalculator/components/addons/addon-item-qty-selector/addon-item-qty-selector-styles.ts +0 -6
  143. package/src/WebComponent/FeeCalculator/components/addons/addon-item-qty-selector/addon-item-qty-selector.ts +0 -101
  144. package/src/WebComponent/FeeCalculator/components/addons/common-addon-styles.ts +0 -82
  145. package/src/WebComponent/FeeCalculator/components/addons/rentable-item-qty-selector/rentable-item-qty-selector-styles.ts +0 -9
  146. package/src/WebComponent/FeeCalculator/components/addons/rentable-item-qty-selector/rentable-item-qty-selector.ts +0 -124
  147. package/src/WebComponent/FeeCalculator/components/fee-calculator-layout/fee-calculator-layout-styles.ts +0 -142
  148. package/src/WebComponent/FeeCalculator/components/fee-calculator-layout/fee-calculator-layout.ts +0 -243
  149. package/src/WebComponent/FeeCalculator/components/fee-card/fee-card-styles.ts +0 -65
  150. package/src/WebComponent/FeeCalculator/components/fee-card/fee-card.ts +0 -91
  151. package/src/WebComponent/FeeCalculator/components/fee-item/fee-item-styles.ts +0 -44
  152. package/src/WebComponent/FeeCalculator/components/fee-item/fee-item.ts +0 -38
  153. package/src/WebComponent/FeeCalculator/components/floor-plan-selector/floor-plan-selector-styles.ts +0 -151
  154. package/src/WebComponent/FeeCalculator/components/floor-plan-selector/floor-plan-selector.ts +0 -248
  155. package/src/WebComponent/FeeCalculator/components/floorplan-image-card/floorplan-image-card-styles.ts +0 -82
  156. package/src/WebComponent/FeeCalculator/components/floorplan-image-card/floorplan-image-card.ts +0 -76
  157. package/src/WebComponent/FeeCalculator/components/incentive-banner/incentive-banner-styles.ts +0 -40
  158. package/src/WebComponent/FeeCalculator/components/incentive-banner/incentive-banner.ts +0 -43
  159. package/src/WebComponent/FeeCalculator/components/incentive-banner/index.ts +0 -1
  160. package/src/WebComponent/FeeCalculator/components/index.ts +0 -5
  161. package/src/WebComponent/FeeCalculator/components/promo-card/promo-card-styles.ts +0 -39
  162. package/src/WebComponent/FeeCalculator/components/promo-card/promo-card.ts +0 -39
  163. package/src/WebComponent/FeeCalculator/constants.ts +0 -5
  164. package/src/WebComponent/FeeCalculator/fee-calculator-styles.ts +0 -310
  165. package/src/WebComponent/FeeCalculator/fee-calculator.ts +0 -341
  166. package/src/WebComponent/FeeCalculator/index.ts +0 -4
  167. package/src/WebComponent/FeeCalculator/model/building-fee-view.ts +0 -84
  168. package/src/WebComponent/FeeCalculator/model/building-fee.ts +0 -126
  169. package/src/WebComponent/FeeCalculator/model/desired-addon.ts +0 -6
  170. package/src/WebComponent/FeeCalculator/model/desired-rentable-item.ts +0 -4
  171. package/src/WebComponent/FeeCalculator/model/index.ts +0 -13
  172. package/src/WebComponent/FeeCalculator/model/item-combination.ts +0 -16
  173. package/src/WebComponent/FeeCalculator/model/item-quantity.ts +0 -4
  174. package/src/WebComponent/FeeCalculator/model/pricing-matrix.ts +0 -45
  175. package/src/WebComponent/FeeCalculator/model/pricing-rule.ts +0 -9
  176. package/src/WebComponent/FeeCalculator/model/rent-frequency.ts +0 -1
  177. package/src/WebComponent/FeeCalculator/model/rentable-item-summary.ts +0 -10
  178. package/src/WebComponent/FeeCalculator/model/rentable-item.ts +0 -10
  179. package/src/WebComponent/FeeCalculator/model/transaction-category.ts +0 -23
  180. package/src/WebComponent/FeeCalculator/model/unit-fee-bundle.ts +0 -54
  181. package/src/WebComponent/LeadSourceClient.ts +0 -332
  182. package/src/WebComponent/MEChat.css +0 -5
  183. package/src/WebComponent/OfficeHours.ts +0 -73
  184. package/src/WebComponent/Scheduler/date-picker.ts +0 -405
  185. package/src/WebComponent/Scheduler/time-picker.ts +0 -190
  186. package/src/WebComponent/Scheduler/tour-scheduler.ts +0 -1416
  187. package/src/WebComponent/Scheduler/tour-type-option.ts +0 -112
  188. package/src/WebComponent/Scheduler/tourSchedulerStyles.ts +0 -418
  189. package/src/WebComponent/actions/InputStyles.ts +0 -57
  190. package/src/WebComponent/actions/action-confirm-button.ts +0 -125
  191. package/src/WebComponent/actions/call-us-window.ts +0 -467
  192. package/src/WebComponent/actions/collapse-expand-button.ts +0 -65
  193. package/src/WebComponent/actions/details-window.ts +0 -150
  194. package/src/WebComponent/actions/email-us-window.ts +0 -556
  195. package/src/WebComponent/actions/formatPhoneNumber.ts +0 -72
  196. package/src/WebComponent/actions/minimize-expand-button.ts +0 -93
  197. package/src/WebComponent/chat-additional-actions.ts +0 -135
  198. package/src/WebComponent/health-chat.ts +0 -270
  199. package/src/WebComponent/healthchat-styles.ts +0 -119
  200. package/src/WebComponent/icons/ApplyOutlineIcon.ts +0 -22
  201. package/src/WebComponent/icons/BookTourOutlineIcon.ts +0 -13
  202. package/src/WebComponent/icons/CalculatorOutlineIcon.ts +0 -22
  203. package/src/WebComponent/icons/ChatOutlineIcon.ts +0 -10
  204. package/src/WebComponent/icons/ChevronLeftIcon.ts +0 -7
  205. package/src/WebComponent/icons/ChevronRightIcon.ts +0 -7
  206. package/src/WebComponent/icons/ContactResidentIcon.ts +0 -9
  207. package/src/WebComponent/icons/DollarOutlineIcon.ts +0 -26
  208. package/src/WebComponent/icons/EmailOutlineIcon.ts +0 -7
  209. package/src/WebComponent/icons/HeyThereEmojiIcon.ts +0 -12
  210. package/src/WebComponent/icons/PhoneOutlineIcon.ts +0 -7
  211. package/src/WebComponent/icons/SendMessageIcon.ts +0 -17
  212. package/src/WebComponent/icons/TourSelfGuidedIcon.ts +0 -17
  213. package/src/WebComponent/icons/TourVirtuallyIcon.ts +0 -17
  214. package/src/WebComponent/icons/TourWithAgentIcon.ts +0 -17
  215. package/src/WebComponent/icons/XOutlineIcon.ts +0 -8
  216. package/src/WebComponent/index.ts +0 -2
  217. package/src/WebComponent/launcher/Launcher.ts +0 -1284
  218. package/src/WebComponent/launcher/launcherStyles.ts +0 -500
  219. package/src/WebComponent/launcher/mobile-launcher.ts +0 -162
  220. package/src/WebComponent/launcher/typeEmojiStyles.ts +0 -161
  221. package/src/WebComponent/launcher/typeMiniStyles.ts +0 -60
  222. package/src/WebComponent/launcher/typeMobileStyles.ts +0 -50
  223. package/src/WebComponent/leasing-chat-styles.ts +0 -114
  224. package/src/WebComponent/loaders/index.ts +0 -7
  225. package/src/WebComponent/loaders/mega-loader.ts +0 -36
  226. package/src/WebComponent/loaders/skeleton-card.ts +0 -31
  227. package/src/WebComponent/loaders/skeleton-loader-styles.ts +0 -112
  228. package/src/WebComponent/loaders/skeleton-loader.ts +0 -34
  229. package/src/WebComponent/me-chat.ts +0 -1261
  230. package/src/WebComponent/me-select.ts +0 -322
  231. package/src/WebComponent/mini-loader.ts +0 -28
  232. package/src/WebComponent/pubnub-chat-styles.ts +0 -204
  233. package/src/WebComponent/pubnub-chat.ts +0 -928
  234. package/src/WebComponent/pubnub-media.ts +0 -208
  235. package/src/WebComponent/pubnub-message-styles.ts +0 -54
  236. package/src/WebComponent/pubnub-message.ts +0 -431
  237. package/src/WebComponent/simple-launcher/simple-launcher-styles.ts +0 -34
  238. package/src/WebComponent/simple-launcher/simple-launcher.ts +0 -100
  239. package/src/WebComponent/utilities-chat.ts +0 -270
  240. package/src/WebComponent/utilities-styles.ts +0 -110
  241. package/src/WebComponent/utils.ts +0 -82
  242. package/src/analytics.ts +0 -217
  243. package/src/assetUrls.ts +0 -6
  244. package/src/disclaimers.ts +0 -86
  245. package/src/fetchBuildingABTestType.ts +0 -21
  246. package/src/fetchBuildingInfo.ts +0 -87
  247. package/src/fetchBuildingWebchatView.ts +0 -176
  248. package/src/fetchFeatureFlag.ts +0 -250
  249. package/src/fetchLeadSources.ts +0 -98
  250. package/src/fetchPhoneNumberFromSource.ts +0 -31
  251. package/src/fetchWebchatPreferences.ts +0 -54
  252. package/src/getAvailabilities.ts +0 -179
  253. package/src/getBuildingPhoneNumber.ts +0 -26
  254. package/src/getShouldAllowScheduling.ts +0 -16
  255. package/src/getShouldShowWebchat.ts +0 -114
  256. package/src/getTimezoneString.ts +0 -39
  257. package/src/globals.ts +0 -3
  258. package/src/gtm.ts +0 -17
  259. package/src/handleChatId.ts +0 -101
  260. package/src/insertDNIIntoWebsite.ts +0 -146
  261. package/src/insertLeadSourceIntoSchedulerLinks.ts +0 -71
  262. package/src/main/MEChat.test.ts +0 -110
  263. package/src/main/MEChat.ts +0 -404
  264. package/src/main/utils.ts +0 -70
  265. package/src/postLeadSources.ts +0 -44
  266. package/src/rentgrata.ts +0 -74
  267. package/src/replaceSelectButtonsWithNewLink.ts +0 -90
  268. package/src/services/fees/calculateQuote.ts +0 -74
  269. package/src/services/fees/fetchBuildingFees.ts +0 -50
  270. package/src/services/fees/fetchBuildingFeesV2.ts +0 -56
  271. package/src/services/fees/fetchBuildingFloorplans.ts +0 -74
  272. package/src/services/fees/fetchBuildingUnits.ts +0 -86
  273. package/src/services/fees/utils.ts +0 -4
  274. package/src/svgIcons.ts +0 -14
  275. package/src/themes.ts +0 -65
  276. package/src/types/incentive-v2.ts +0 -24
  277. package/src/types/rest-sdk.types.ts +0 -13
  278. package/src/types/webchat-no-show-reason.ts +0 -6
  279. package/src/utils/queryParamBuilder.ts +0 -28
  280. package/src/utils.ts +0 -121
@@ -1,332 +0,0 @@
1
- import axios from "axios";
2
- import parseISO from "date-fns/parseISO";
3
- import formatISO from "date-fns/formatISO";
4
- import { CampaignSources, getCampaignSources } from "../analytics";
5
- import { getUrlQueryParameters } from "../postLeadSources";
6
- import { isTimestampExpired } from "../utils";
7
- import isEmpty from "lodash/isEmpty";
8
-
9
- export interface LeadSourceInput {
10
- buildingSlug: string | null;
11
- queryParams: {
12
- [queryKey: string]: string;
13
- } | null;
14
- referrer: string;
15
- campaignSources: CampaignSources;
16
- }
17
-
18
- export function getDefaultLeadSourceAttribution(orgSlug: string): string {
19
- if (orgSlug === "avb") {
20
- // this is stupid and we should not do this
21
- // if anything, should read from DB and give clients default ability to set this
22
- return "AVB Company Website";
23
- }
24
- if (orgSlug === "windsor") {
25
- return "Windsorcommunities.com";
26
- }
27
- return "property-website";
28
- }
29
-
30
- class LeadSourceClient {
31
- chatId: string | null = null;
32
-
33
- private apiHost = "https://app.meetelise.com";
34
- public leadSource: string | null = null;
35
- private localStorageTTLDays = 30;
36
-
37
- buildingId: number | null = null;
38
- orgSlug: string | null = null;
39
- buildingSlug: string | null = null;
40
- queryParameters: {
41
- [queryKey: string]: string;
42
- } | null = null;
43
-
44
- leadSourceInput: {
45
- websiteOrigin: string | null;
46
- websiteSearch: string | null;
47
- queryParameters: {
48
- [queryKey: string]: string;
49
- } | null;
50
- referrer: string | null;
51
- parsedUtmSource: string | null;
52
- campaignSources: string[] | null;
53
- } | null = null;
54
-
55
- private updateLeadSourceLocalStorage = (
56
- buildingSlug: string,
57
- leadSource: string | null,
58
- leadId: string,
59
- ignorePost: boolean, // if we dont have lead source, we just want to still use for logging
60
- isOverrideFromNewLeadSource: boolean
61
- ) => {
62
- const queryParameters = getUrlQueryParameters();
63
- this.leadSourceInput = {
64
- websiteOrigin: window.location.origin,
65
- websiteSearch: window.location.search,
66
- queryParameters: queryParameters,
67
- referrer: document.referrer,
68
- parsedUtmSource: queryParameters ? queryParameters["utm_source"] : null,
69
- campaignSources: Object.values(getCampaignSources()).filter(
70
- (source) => source
71
- ),
72
- };
73
- if (ignorePost) return;
74
-
75
- if (!isOverrideFromNewLeadSource) {
76
- const existingLeadSource = this.getLeadSourceBodyIfValid(buildingSlug);
77
- if (existingLeadSource) {
78
- const isExpired = isTimestampExpired(
79
- existingLeadSource.timestamp,
80
- this.localStorageTTLDays * 24
81
- );
82
- if (!isExpired) {
83
- return {
84
- ...existingLeadSource,
85
- timestamp: parseISO(existingLeadSource.timestamp),
86
- };
87
- }
88
- }
89
- }
90
-
91
- const body = {
92
- leadSource: leadSource,
93
- leadId: leadId,
94
- buildingSlug: buildingSlug,
95
- timestamp: formatISO(new Date()),
96
- leadSourceInput: this.leadSourceInput,
97
- };
98
- localStorage.setItem(
99
- "com.elise.webchat.leadsource.slug=" + buildingSlug,
100
- JSON.stringify(body)
101
- );
102
- return { ...body, timestamp: parseISO(body.timestamp) };
103
- };
104
-
105
- private getLeadSourceBodyIfValid = (buildingSlug: string) => {
106
- const body = localStorage.getItem(
107
- "com.elise.webchat.leadsource.slug=" + buildingSlug
108
- );
109
- if (body) {
110
- try {
111
- const parsedBody = JSON.parse(body);
112
- const isValid =
113
- parsedBody.buildingSlug === buildingSlug &&
114
- parsedBody.leadSource &&
115
- parsedBody.leadId &&
116
- parsedBody.timestamp &&
117
- !isTimestampExpired(
118
- parseISO(parsedBody.timestamp),
119
- this.localStorageTTLDays * 24
120
- );
121
- if (isValid) {
122
- try {
123
- this.leadSourceInput = parsedBody.leadSourceInput;
124
- } catch (_) {
125
- // eslint-disable-next-line no-console
126
- console.error("Error parsing leadSourceInput from localStorage");
127
- }
128
- return parsedBody;
129
- }
130
- } catch (_) {
131
- return null;
132
- }
133
- }
134
- return null;
135
- };
136
-
137
- private async fetchCurrentParsedLeadSource({
138
- buildingSlug,
139
- queryParams,
140
- referrer,
141
- campaignSources,
142
- }: LeadSourceInput): Promise<string | null> {
143
- try {
144
- const currentParsedLeadSourceResponse = await axios.post(
145
- `${this.apiHost}/platformApi/webchat/current-parsed-lead-source`,
146
- {
147
- query_params: queryParams,
148
- building_slug: buildingSlug,
149
- referrer: referrer,
150
- campaign_sources: campaignSources,
151
- }
152
- );
153
- return currentParsedLeadSourceResponse.data;
154
- } catch (_) {
155
- return null;
156
- }
157
- }
158
-
159
- async checkAndHandleForLogLeadSource({
160
- webchatAction,
161
- stateId,
162
- }: {
163
- webchatAction: string;
164
- stateId: string | null;
165
- }): Promise<null> {
166
- try {
167
- if (!this.chatId) {
168
- // eslint-disable-next-line no-console
169
- console.error("chatId is not set");
170
- return null;
171
- }
172
- if (!this.orgSlug) {
173
- // eslint-disable-next-line no-console
174
- console.error("orgId is not set");
175
- return null;
176
- }
177
-
178
- let google_analytics_client_id = null;
179
- let extras = null;
180
- try {
181
- if (this.orgSlug === "f1ba5a20-d207-4e5a-879e-65199e7d0a53") {
182
- // SCION only
183
- const gaCookie = await this.getCookieValue("_ga");
184
- if (gaCookie) {
185
- google_analytics_client_id = gaCookie;
186
- }
187
- // find the object in the dataLayer that has the extras gtagApiGet
188
- extras = window.dataLayer.find(
189
- (obj) => obj.value?.event == "gtagApiGet"
190
- )?.value;
191
- }
192
- } catch (error) {
193
- // eslint-disable-next-line no-console
194
- console.error("error getting cookie");
195
- }
196
-
197
- await axios.post(`${this.apiHost}/platformApi/webchat/log/lead-source`, {
198
- chat_id: this.chatId,
199
- webchat_action: webchatAction,
200
- state_id: stateId,
201
- building_id: this.buildingId,
202
- org_slug: this.orgSlug,
203
- building_slug: this.buildingSlug,
204
- website_origin: this.leadSourceInput?.websiteOrigin,
205
- website_search: this.leadSourceInput?.websiteSearch,
206
- query_parameters: this.leadSourceInput?.queryParameters,
207
- referrer: this.leadSourceInput?.referrer,
208
- parsed_utm_source: this.leadSourceInput?.parsedUtmSource,
209
- campaign_sources: this.leadSourceInput?.campaignSources,
210
- lead_source_output: this.leadSource,
211
- google_analytics_client_id: isEmpty(google_analytics_client_id)
212
- ? null
213
- : google_analytics_client_id,
214
- extras: extras ?? null,
215
- });
216
- return null;
217
- } catch (_) {
218
- return null;
219
- }
220
- }
221
-
222
- async getCookieValue(key: string): Promise<string | null> {
223
- try {
224
- const cookies = document.cookie.split(";");
225
- for (let i = 0; i < cookies.length; i++) {
226
- const cookie = cookies[i].trim();
227
- if (cookie.startsWith(key + "=")) {
228
- const value = cookie.substring(
229
- (key + "=").length,
230
- cookie.indexOf(";") === -1 ? undefined : cookie.indexOf(";")
231
- );
232
- return value;
233
- }
234
- }
235
- return null;
236
- } catch (error) {
237
- // eslint-disable-next-line no-console
238
- console.error("error getting cookie value");
239
- }
240
- return null;
241
- }
242
-
243
- // TODO(erol): clean up this entire function
244
- async generateUserLeadSource({
245
- leadId,
246
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
247
- orgSlug,
248
- buildingSlug,
249
- }: {
250
- leadId: string;
251
- orgSlug: string;
252
- buildingSlug: string | null;
253
- }): Promise<string | null> {
254
- try {
255
- // 1. try to generate a lead source
256
- // 2. if we have a match, use that
257
- // 3. if we dont have a match utilize the one from local storage
258
- const leadSourceInput: LeadSourceInput = {
259
- queryParams: getUrlQueryParameters(),
260
- buildingSlug: buildingSlug,
261
- referrer: document.referrer,
262
- campaignSources: getCampaignSources(),
263
- };
264
-
265
- let isOverrideFromNewLeadSource = false;
266
- // We detect if there is an existing lead source in local storage
267
- const isCurrentlyStoredLeadSource = buildingSlug
268
- ? this.getLeadSourceBodyIfValid(buildingSlug)
269
- : null;
270
- if (isCurrentlyStoredLeadSource) {
271
- const orgSlugsAlwaysUseMostRecentLeadSource = [
272
- "test-company",
273
- "daf00bd2-1ecb-482c-b6f4-e1c5511a01be", // talked w/ carbon https://meetelise.zendesk.com/agent/tickets/75095
274
- ];
275
- if (orgSlugsAlwaysUseMostRecentLeadSource.includes(orgSlug)) {
276
- const currentParsedLeadSource =
277
- await this.fetchCurrentParsedLeadSource(leadSourceInput);
278
-
279
- if (currentParsedLeadSource) {
280
- this.leadSource = currentParsedLeadSource;
281
- isOverrideFromNewLeadSource = true;
282
- } else {
283
- this.leadSource = isCurrentlyStoredLeadSource.leadSource;
284
- return this.leadSource;
285
- }
286
- } else {
287
- this.leadSource = isCurrentlyStoredLeadSource.leadSource;
288
- return this.leadSource;
289
- }
290
- }
291
-
292
- const currentParsedLeadSource = await this.fetchCurrentParsedLeadSource(
293
- leadSourceInput
294
- );
295
- this.leadSource = currentParsedLeadSource;
296
-
297
- this.buildingId = null;
298
- this.orgSlug = orgSlug;
299
- this.buildingSlug = buildingSlug;
300
-
301
- // If we do NOT detect a lead source from the current session, we check the local storage and use that
302
- if (buildingSlug && !currentParsedLeadSource) {
303
- const isCurrentlyStoredLeadSource =
304
- this.getLeadSourceBodyIfValid(buildingSlug);
305
- if (isCurrentlyStoredLeadSource) {
306
- this.leadSource = isCurrentlyStoredLeadSource.leadSource;
307
- return this.leadSource;
308
- }
309
- }
310
-
311
- if (buildingSlug) {
312
- const leadSourceExistsInLocalStorage =
313
- !!currentParsedLeadSource && currentParsedLeadSource.length > 0;
314
-
315
- this.updateLeadSourceLocalStorage(
316
- buildingSlug,
317
- currentParsedLeadSource,
318
- leadId,
319
- !leadSourceExistsInLocalStorage && !isOverrideFromNewLeadSource,
320
- isOverrideFromNewLeadSource
321
- );
322
- }
323
- return currentParsedLeadSource;
324
- } catch (error) {
325
- // eslint-disable-next-line no-console
326
- console.error(error);
327
- }
328
- return null;
329
- }
330
- }
331
-
332
- export default LeadSourceClient;
@@ -1,5 +0,0 @@
1
- @media screen and (min-width: 767px) {
2
- .meetelise-chat.pane.launcher__desktop {
3
- right: -32px;
4
- }
5
- }
@@ -1,73 +0,0 @@
1
- import eachDayOfInterval from "date-fns/eachDayOfInterval";
2
- import startOfWeek from "date-fns/startOfWeek";
3
- import endOfWeek from "date-fns/endOfWeek";
4
- import setHours from "date-fns/setHours";
5
- import getDay from "date-fns/getDay";
6
- import axios from "axios";
7
-
8
- interface OfficeHourAvailabilityReponse {
9
- [dayOfWeek: string]: { start: string; end: string };
10
- }
11
-
12
- const officeHoursCache: {
13
- [buildingId: number]: OfficeHourAvailabilityReponse;
14
- } = {};
15
-
16
- export const getRawOfficeHours = async (
17
- buildingId: number
18
- ): Promise<OfficeHourAvailabilityReponse> => {
19
- if (officeHoursCache[buildingId]) {
20
- return officeHoursCache[buildingId];
21
- }
22
- const url = `https://app.meetelise.com/platformApi/connectors/talk_js/leasing_office_hours/${buildingId}`;
23
- const result = await axios.get<OfficeHourAvailabilityReponse>(url);
24
- officeHoursCache[buildingId] = result.data;
25
- return result.data;
26
- };
27
-
28
- export const getDefaultOfficeHours = (): {
29
- startTime: Date;
30
- endTime: Date;
31
- }[] => {
32
- return eachDayOfInterval({
33
- start: startOfWeek(new Date()),
34
- end: endOfWeek(new Date()),
35
- })
36
- .filter((date) => getDay(date) !== 0 && getDay(date) !== 6)
37
- .map((date) => ({
38
- startTime: setHours(date, 9),
39
- endTime: setHours(date, 17),
40
- }));
41
- };
42
-
43
- export const dayNamesInOrder = [
44
- "monday",
45
- "tuesday",
46
- "wednesday",
47
- "thursday",
48
- "friday",
49
- "saturday",
50
- "sunday",
51
- ];
52
-
53
- /**
54
- * Based on the design, we're going with monday as the first day of the week
55
- */
56
- export const getOfficeHourText = async (
57
- buildingId: number
58
- ): Promise<
59
- (string | { dayOfWeek: string; startTime: string; endTime: string })[]
60
- > => {
61
- const rawOfficeHours = await getRawOfficeHours(buildingId);
62
- return dayNamesInOrder.map((dow) => {
63
- const officeHourInfo = rawOfficeHours[dow];
64
- if (!officeHourInfo) {
65
- return dow;
66
- }
67
- return {
68
- dayOfWeek: dow,
69
- startTime: officeHourInfo.start,
70
- endTime: officeHourInfo.end,
71
- };
72
- });
73
- };