@meetelise/chat 1.35.0 → 1.35.1

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 (281) hide show
  1. package/dist/src/MyPubnub.d.ts +116 -0
  2. package/dist/src/WebComponent/FeeCalculator/components/addons/addon-item-matrix-qty-selector/addon-item-matrix-qty-selector-styles.d.ts +2 -0
  3. package/dist/src/WebComponent/FeeCalculator/components/addons/addon-item-matrix-qty-selector/addon-item-matrix-qty-selector.d.ts +28 -0
  4. package/dist/src/WebComponent/FeeCalculator/components/addons/addon-item-qty-selector/addon-item-qty-selector-styles.d.ts +2 -0
  5. package/dist/src/WebComponent/FeeCalculator/components/addons/addon-item-qty-selector/addon-item-qty-selector.d.ts +18 -0
  6. package/dist/src/WebComponent/FeeCalculator/components/addons/common-addon-styles.d.ts +2 -0
  7. package/dist/src/WebComponent/FeeCalculator/components/addons/rentable-item-qty-selector/rentable-item-qty-selector-styles.d.ts +2 -0
  8. package/dist/src/WebComponent/FeeCalculator/components/addons/rentable-item-qty-selector/rentable-item-qty-selector.d.ts +22 -0
  9. package/dist/src/WebComponent/FeeCalculator/components/fee-calculator-layout/fee-calculator-layout-styles.d.ts +2 -0
  10. package/dist/src/WebComponent/FeeCalculator/components/fee-calculator-layout/fee-calculator-layout.d.ts +46 -0
  11. package/dist/src/WebComponent/FeeCalculator/components/fee-card/fee-card-styles.d.ts +2 -0
  12. package/dist/src/WebComponent/FeeCalculator/components/fee-card/fee-card.d.ts +21 -0
  13. package/dist/src/WebComponent/FeeCalculator/components/fee-item/fee-item-styles.d.ts +2 -0
  14. package/dist/src/WebComponent/FeeCalculator/components/fee-item/fee-item.d.ts +13 -0
  15. package/dist/src/WebComponent/FeeCalculator/components/floor-plan-selector/floor-plan-selector-styles.d.ts +2 -0
  16. package/dist/src/WebComponent/FeeCalculator/components/floor-plan-selector/floor-plan-selector.d.ts +34 -0
  17. package/dist/src/WebComponent/FeeCalculator/components/floorplan-image-card/floorplan-image-card-styles.d.ts +2 -0
  18. package/dist/src/WebComponent/FeeCalculator/components/floorplan-image-card/floorplan-image-card.d.ts +18 -0
  19. package/dist/src/WebComponent/FeeCalculator/components/incentive-banner/incentive-banner-styles.d.ts +1 -0
  20. package/dist/src/WebComponent/FeeCalculator/components/incentive-banner/incentive-banner.d.ts +8 -0
  21. package/dist/src/WebComponent/FeeCalculator/components/incentive-banner/index.d.ts +1 -0
  22. package/dist/src/WebComponent/FeeCalculator/components/index.d.ts +5 -0
  23. package/dist/src/WebComponent/FeeCalculator/components/promo-card/promo-card-styles.d.ts +2 -0
  24. package/dist/src/WebComponent/FeeCalculator/components/promo-card/promo-card.d.ts +13 -0
  25. package/dist/src/WebComponent/FeeCalculator/constants.d.ts +3 -0
  26. package/dist/src/WebComponent/FeeCalculator/fee-calculator-styles.d.ts +1 -0
  27. package/dist/src/WebComponent/FeeCalculator/fee-calculator.d.ts +55 -0
  28. package/dist/src/WebComponent/FeeCalculator/index.d.ts +2 -0
  29. package/dist/src/WebComponent/FeeCalculator/model/building-fee-view.d.ts +41 -0
  30. package/dist/src/WebComponent/FeeCalculator/model/building-fee.d.ts +82 -0
  31. package/dist/src/WebComponent/FeeCalculator/model/desired-addon.d.ts +5 -0
  32. package/dist/src/WebComponent/FeeCalculator/model/desired-rentable-item.d.ts +4 -0
  33. package/dist/src/WebComponent/FeeCalculator/model/index.d.ts +13 -0
  34. package/dist/src/WebComponent/FeeCalculator/model/item-combination.d.ts +6 -0
  35. package/dist/src/WebComponent/FeeCalculator/model/item-quantity.d.ts +4 -0
  36. package/dist/src/WebComponent/FeeCalculator/model/pricing-matrix.d.ts +18 -0
  37. package/dist/src/WebComponent/FeeCalculator/model/pricing-rule.d.ts +8 -0
  38. package/dist/src/WebComponent/FeeCalculator/model/rent-frequency.d.ts +1 -0
  39. package/dist/src/WebComponent/FeeCalculator/model/rentable-item-summary.d.ts +9 -0
  40. package/dist/src/WebComponent/FeeCalculator/model/rentable-item.d.ts +9 -0
  41. package/dist/src/WebComponent/FeeCalculator/model/transaction-category.d.ts +23 -0
  42. package/dist/src/WebComponent/FeeCalculator/model/unit-fee-bundle.d.ts +31 -0
  43. package/dist/src/WebComponent/LeadSourceClient.d.ts +46 -0
  44. package/dist/src/WebComponent/OfficeHours.d.ts +21 -0
  45. package/dist/src/WebComponent/Scheduler/date-picker.d.ts +28 -0
  46. package/dist/src/WebComponent/Scheduler/time-picker.d.ts +16 -0
  47. package/dist/src/WebComponent/Scheduler/tour-scheduler.d.ts +102 -0
  48. package/dist/src/WebComponent/Scheduler/tour-type-option.d.ts +13 -0
  49. package/dist/src/WebComponent/Scheduler/tourSchedulerStyles.d.ts +1 -0
  50. package/dist/src/WebComponent/actions/InputStyles.d.ts +1 -0
  51. package/dist/src/WebComponent/actions/action-confirm-button.d.ts +13 -0
  52. package/dist/src/WebComponent/actions/call-us-window.d.ts +37 -0
  53. package/dist/src/WebComponent/actions/collapse-expand-button.d.ts +8 -0
  54. package/dist/src/WebComponent/actions/details-window.d.ts +14 -0
  55. package/dist/src/WebComponent/actions/email-us-window.d.ts +46 -0
  56. package/dist/src/WebComponent/actions/formatPhoneNumber.d.ts +17 -0
  57. package/dist/src/WebComponent/actions/minimize-expand-button.d.ts +8 -0
  58. package/dist/src/WebComponent/chat-additional-actions.d.ts +28 -0
  59. package/dist/src/WebComponent/health-chat.d.ts +47 -0
  60. package/dist/src/WebComponent/healthchat-styles.d.ts +1 -0
  61. package/dist/src/WebComponent/icons/ApplyOutlineIcon.d.ts +2 -0
  62. package/dist/src/WebComponent/icons/BookTourOutlineIcon.d.ts +2 -0
  63. package/dist/src/WebComponent/icons/CalculatorOutlineIcon.d.ts +2 -0
  64. package/dist/src/WebComponent/icons/ChatOutlineIcon.d.ts +2 -0
  65. package/dist/src/WebComponent/icons/ChevronLeftIcon.d.ts +2 -0
  66. package/dist/src/WebComponent/icons/ChevronRightIcon.d.ts +2 -0
  67. package/dist/src/WebComponent/icons/ContactResidentIcon.d.ts +2 -0
  68. package/dist/src/WebComponent/icons/DollarOutlineIcon.d.ts +7 -0
  69. package/dist/src/WebComponent/icons/EmailOutlineIcon.d.ts +2 -0
  70. package/dist/src/WebComponent/icons/HeyThereEmojiIcon.d.ts +2 -0
  71. package/dist/src/WebComponent/icons/PhoneOutlineIcon.d.ts +2 -0
  72. package/dist/src/WebComponent/icons/SendMessageIcon.d.ts +3 -0
  73. package/dist/src/WebComponent/icons/TourSelfGuidedIcon.d.ts +2 -0
  74. package/dist/src/WebComponent/icons/TourVirtuallyIcon.d.ts +2 -0
  75. package/dist/src/WebComponent/icons/TourWithAgentIcon.d.ts +2 -0
  76. package/dist/src/WebComponent/icons/XOutlineIcon.d.ts +2 -0
  77. package/dist/src/WebComponent/index.d.ts +2 -0
  78. package/dist/src/WebComponent/launcher/Launcher.d.ts +99 -0
  79. package/dist/src/WebComponent/launcher/launcherStyles.d.ts +1 -0
  80. package/dist/src/WebComponent/launcher/mobile-launcher.d.ts +27 -0
  81. package/dist/src/WebComponent/launcher/typeEmojiStyles.d.ts +1 -0
  82. package/dist/src/WebComponent/launcher/typeMiniStyles.d.ts +1 -0
  83. package/dist/src/WebComponent/launcher/typeMobileStyles.d.ts +1 -0
  84. package/dist/src/WebComponent/leasing-chat-styles.d.ts +1 -0
  85. package/dist/src/WebComponent/loaders/index.d.ts +4 -0
  86. package/dist/src/WebComponent/loaders/mega-loader.d.ts +7 -0
  87. package/dist/src/WebComponent/loaders/skeleton-card.d.ts +12 -0
  88. package/dist/src/WebComponent/loaders/skeleton-loader-styles.d.ts +3 -0
  89. package/dist/src/WebComponent/loaders/skeleton-loader.d.ts +13 -0
  90. package/dist/src/WebComponent/me-chat.d.ts +91 -0
  91. package/dist/src/WebComponent/me-select.d.ts +24 -0
  92. package/dist/src/WebComponent/mini-loader.d.ts +5 -0
  93. package/dist/src/WebComponent/pubnub-chat-styles.d.ts +1 -0
  94. package/dist/src/WebComponent/pubnub-chat.d.ts +48 -0
  95. package/dist/src/WebComponent/pubnub-media.d.ts +14 -0
  96. package/dist/src/WebComponent/pubnub-message-styles.d.ts +1 -0
  97. package/dist/src/WebComponent/pubnub-message.d.ts +39 -0
  98. package/dist/src/WebComponent/simple-launcher/simple-launcher-styles.d.ts +1 -0
  99. package/dist/src/WebComponent/simple-launcher/simple-launcher.d.ts +12 -0
  100. package/dist/src/WebComponent/utilities-chat.d.ts +47 -0
  101. package/dist/src/WebComponent/utilities-styles.d.ts +1 -0
  102. package/dist/src/WebComponent/utils.d.ts +31 -0
  103. package/dist/src/analytics.d.ts +64 -0
  104. package/dist/src/disclaimers.d.ts +16 -0
  105. package/dist/src/fetchBuildingABTestType.d.ts +8 -0
  106. package/dist/src/fetchBuildingInfo.d.ts +58 -0
  107. package/dist/src/fetchBuildingWebchatView.d.ts +124 -0
  108. package/dist/src/fetchFeatureFlag.d.ts +14 -0
  109. package/dist/src/fetchLeadSources.d.ts +4 -0
  110. package/dist/src/fetchPhoneNumberFromSource.d.ts +6 -0
  111. package/dist/src/getAvailabilities.d.ts +46 -0
  112. package/dist/src/getBuildingPhoneNumber.d.ts +1 -0
  113. package/dist/src/getShouldAllowScheduling.d.ts +1 -0
  114. package/dist/src/getShouldShowWebchat.d.ts +3 -0
  115. package/dist/src/getTimezoneString.d.ts +1 -0
  116. package/dist/src/globals.d.ts +2 -0
  117. package/dist/src/gtm.d.ts +6 -0
  118. package/dist/src/handleChatId.d.ts +11 -0
  119. package/dist/src/insertDNIIntoWebsite.d.ts +5 -0
  120. package/dist/src/insertLeadSourceIntoSchedulerLinks.d.ts +4 -0
  121. package/dist/src/main/MEChat.d.ts +74 -0
  122. package/dist/src/main/utils.d.ts +2 -0
  123. package/dist/src/postLeadSources.d.ts +3 -0
  124. package/dist/src/rentgrata.d.ts +4 -0
  125. package/dist/src/replaceSelectButtonsWithNewLink.d.ts +5 -0
  126. package/dist/src/services/fees/calculateQuote.d.ts +14 -0
  127. package/dist/src/services/fees/fetchBuildingFeesV2.d.ts +10 -0
  128. package/dist/src/services/fees/fetchBuildingUnits.d.ts +29 -0
  129. package/dist/src/services/fees/utils.d.ts +1 -0
  130. package/dist/src/svgIcons.d.ts +5 -0
  131. package/dist/src/themes.d.ts +5 -0
  132. package/dist/src/types/incentive-v2.d.ts +23 -0
  133. package/dist/src/types/rest-sdk.types.d.ts +11 -0
  134. package/dist/src/types/webchat-no-show-reason.d.ts +1 -0
  135. package/dist/src/utils/getWidgetOverrides.d.ts +39 -0
  136. package/dist/src/utils/queryParamBuilder.d.ts +8 -0
  137. package/dist/src/utils.d.ts +13 -0
  138. package/package.json +1 -1
  139. package/src/MyPubnub.ts +792 -0
  140. package/src/WebComponent/FeeCalculator/components/addons/addon-item-matrix-qty-selector/addon-item-matrix-qty-selector-styles.ts +35 -0
  141. package/src/WebComponent/FeeCalculator/components/addons/addon-item-matrix-qty-selector/addon-item-matrix-qty-selector.ts +206 -0
  142. package/src/WebComponent/FeeCalculator/components/addons/addon-item-qty-selector/addon-item-qty-selector-styles.ts +6 -0
  143. package/src/WebComponent/FeeCalculator/components/addons/addon-item-qty-selector/addon-item-qty-selector.ts +101 -0
  144. package/src/WebComponent/FeeCalculator/components/addons/common-addon-styles.ts +82 -0
  145. package/src/WebComponent/FeeCalculator/components/addons/rentable-item-qty-selector/rentable-item-qty-selector-styles.ts +9 -0
  146. package/src/WebComponent/FeeCalculator/components/addons/rentable-item-qty-selector/rentable-item-qty-selector.ts +124 -0
  147. package/src/WebComponent/FeeCalculator/components/fee-calculator-layout/fee-calculator-layout-styles.ts +142 -0
  148. package/src/WebComponent/FeeCalculator/components/fee-calculator-layout/fee-calculator-layout.ts +243 -0
  149. package/src/WebComponent/FeeCalculator/components/fee-card/fee-card-styles.ts +65 -0
  150. package/src/WebComponent/FeeCalculator/components/fee-card/fee-card.ts +91 -0
  151. package/src/WebComponent/FeeCalculator/components/fee-item/fee-item-styles.ts +44 -0
  152. package/src/WebComponent/FeeCalculator/components/fee-item/fee-item.ts +38 -0
  153. package/src/WebComponent/FeeCalculator/components/floor-plan-selector/floor-plan-selector-styles.ts +151 -0
  154. package/src/WebComponent/FeeCalculator/components/floor-plan-selector/floor-plan-selector.ts +248 -0
  155. package/src/WebComponent/FeeCalculator/components/floorplan-image-card/floorplan-image-card-styles.ts +82 -0
  156. package/src/WebComponent/FeeCalculator/components/floorplan-image-card/floorplan-image-card.ts +76 -0
  157. package/src/WebComponent/FeeCalculator/components/incentive-banner/incentive-banner-styles.ts +40 -0
  158. package/src/WebComponent/FeeCalculator/components/incentive-banner/incentive-banner.ts +43 -0
  159. package/src/WebComponent/FeeCalculator/components/incentive-banner/index.ts +1 -0
  160. package/src/WebComponent/FeeCalculator/components/index.ts +5 -0
  161. package/src/WebComponent/FeeCalculator/components/promo-card/promo-card-styles.ts +39 -0
  162. package/src/WebComponent/FeeCalculator/components/promo-card/promo-card.ts +39 -0
  163. package/src/WebComponent/FeeCalculator/constants.ts +5 -0
  164. package/src/WebComponent/FeeCalculator/fee-calculator-styles.ts +310 -0
  165. package/src/WebComponent/FeeCalculator/fee-calculator.ts +341 -0
  166. package/src/WebComponent/FeeCalculator/index.ts +4 -0
  167. package/src/WebComponent/FeeCalculator/model/building-fee-view.ts +84 -0
  168. package/src/WebComponent/FeeCalculator/model/building-fee.ts +126 -0
  169. package/src/WebComponent/FeeCalculator/model/desired-addon.ts +6 -0
  170. package/src/WebComponent/FeeCalculator/model/desired-rentable-item.ts +4 -0
  171. package/src/WebComponent/FeeCalculator/model/index.ts +13 -0
  172. package/src/WebComponent/FeeCalculator/model/item-combination.ts +16 -0
  173. package/src/WebComponent/FeeCalculator/model/item-quantity.ts +4 -0
  174. package/src/WebComponent/FeeCalculator/model/pricing-matrix.ts +45 -0
  175. package/src/WebComponent/FeeCalculator/model/pricing-rule.ts +9 -0
  176. package/src/WebComponent/FeeCalculator/model/rent-frequency.ts +1 -0
  177. package/src/WebComponent/FeeCalculator/model/rentable-item-summary.ts +10 -0
  178. package/src/WebComponent/FeeCalculator/model/rentable-item.ts +10 -0
  179. package/src/WebComponent/FeeCalculator/model/transaction-category.ts +23 -0
  180. package/src/WebComponent/FeeCalculator/model/unit-fee-bundle.ts +54 -0
  181. package/src/WebComponent/LeadSourceClient.ts +332 -0
  182. package/src/WebComponent/MEChat.css +5 -0
  183. package/src/WebComponent/OfficeHours.ts +73 -0
  184. package/src/WebComponent/Scheduler/date-picker.ts +405 -0
  185. package/src/WebComponent/Scheduler/time-picker.ts +195 -0
  186. package/src/WebComponent/Scheduler/tour-scheduler.ts +1430 -0
  187. package/src/WebComponent/Scheduler/tour-type-option.ts +112 -0
  188. package/src/WebComponent/Scheduler/tourSchedulerStyles.ts +418 -0
  189. package/src/WebComponent/actions/InputStyles.ts +57 -0
  190. package/src/WebComponent/actions/action-confirm-button.ts +125 -0
  191. package/src/WebComponent/actions/call-us-window.ts +467 -0
  192. package/src/WebComponent/actions/collapse-expand-button.ts +65 -0
  193. package/src/WebComponent/actions/details-window.ts +150 -0
  194. package/src/WebComponent/actions/email-us-window.ts +556 -0
  195. package/src/WebComponent/actions/formatPhoneNumber.ts +72 -0
  196. package/src/WebComponent/actions/minimize-expand-button.ts +93 -0
  197. package/src/WebComponent/chat-additional-actions.ts +135 -0
  198. package/src/WebComponent/health-chat.ts +270 -0
  199. package/src/WebComponent/healthchat-styles.ts +119 -0
  200. package/src/WebComponent/icons/ApplyOutlineIcon.ts +22 -0
  201. package/src/WebComponent/icons/BookTourOutlineIcon.ts +13 -0
  202. package/src/WebComponent/icons/CalculatorOutlineIcon.ts +22 -0
  203. package/src/WebComponent/icons/ChatOutlineIcon.ts +10 -0
  204. package/src/WebComponent/icons/ChevronLeftIcon.ts +7 -0
  205. package/src/WebComponent/icons/ChevronRightIcon.ts +7 -0
  206. package/src/WebComponent/icons/ContactResidentIcon.ts +9 -0
  207. package/src/WebComponent/icons/DollarOutlineIcon.ts +26 -0
  208. package/src/WebComponent/icons/EmailOutlineIcon.ts +7 -0
  209. package/src/WebComponent/icons/HeyThereEmojiIcon.ts +12 -0
  210. package/src/WebComponent/icons/PhoneOutlineIcon.ts +7 -0
  211. package/src/WebComponent/icons/SendMessageIcon.ts +17 -0
  212. package/src/WebComponent/icons/TourSelfGuidedIcon.ts +17 -0
  213. package/src/WebComponent/icons/TourVirtuallyIcon.ts +17 -0
  214. package/src/WebComponent/icons/TourWithAgentIcon.ts +17 -0
  215. package/src/WebComponent/icons/XOutlineIcon.ts +8 -0
  216. package/src/WebComponent/index.ts +2 -0
  217. package/src/WebComponent/launcher/Launcher.ts +1284 -0
  218. package/src/WebComponent/launcher/launcherStyles.ts +500 -0
  219. package/src/WebComponent/launcher/mobile-launcher.ts +162 -0
  220. package/src/WebComponent/launcher/typeEmojiStyles.ts +161 -0
  221. package/src/WebComponent/launcher/typeMiniStyles.ts +60 -0
  222. package/src/WebComponent/launcher/typeMobileStyles.ts +50 -0
  223. package/src/WebComponent/leasing-chat-styles.ts +114 -0
  224. package/src/WebComponent/loaders/index.ts +7 -0
  225. package/src/WebComponent/loaders/mega-loader.ts +36 -0
  226. package/src/WebComponent/loaders/skeleton-card.ts +31 -0
  227. package/src/WebComponent/loaders/skeleton-loader-styles.ts +112 -0
  228. package/src/WebComponent/loaders/skeleton-loader.ts +34 -0
  229. package/src/WebComponent/me-chat.ts +1264 -0
  230. package/src/WebComponent/me-select.ts +322 -0
  231. package/src/WebComponent/mini-loader.ts +28 -0
  232. package/src/WebComponent/pubnub-chat-styles.ts +204 -0
  233. package/src/WebComponent/pubnub-chat.ts +771 -0
  234. package/src/WebComponent/pubnub-media.ts +208 -0
  235. package/src/WebComponent/pubnub-message-styles.ts +54 -0
  236. package/src/WebComponent/pubnub-message.ts +431 -0
  237. package/src/WebComponent/simple-launcher/simple-launcher-styles.ts +34 -0
  238. package/src/WebComponent/simple-launcher/simple-launcher.ts +100 -0
  239. package/src/WebComponent/utilities-chat.ts +270 -0
  240. package/src/WebComponent/utilities-styles.ts +110 -0
  241. package/src/WebComponent/utils.ts +82 -0
  242. package/src/analytics.ts +217 -0
  243. package/src/assetUrls.ts +6 -0
  244. package/src/disclaimers.ts +301 -0
  245. package/src/fetchBuildingABTestType.ts +21 -0
  246. package/src/fetchBuildingInfo.ts +88 -0
  247. package/src/fetchBuildingWebchatView.ts +176 -0
  248. package/src/fetchFeatureFlag.ts +250 -0
  249. package/src/fetchLeadSources.ts +98 -0
  250. package/src/fetchPhoneNumberFromSource.ts +31 -0
  251. package/src/fetchWebchatPreferences.ts +54 -0
  252. package/src/getAvailabilities.ts +189 -0
  253. package/src/getBuildingPhoneNumber.ts +26 -0
  254. package/src/getShouldAllowScheduling.ts +16 -0
  255. package/src/getShouldShowWebchat.ts +114 -0
  256. package/src/getTimezoneString.ts +40 -0
  257. package/src/globals.ts +3 -0
  258. package/src/gtm.ts +17 -0
  259. package/src/handleChatId.ts +101 -0
  260. package/src/insertDNIIntoWebsite.ts +146 -0
  261. package/src/insertLeadSourceIntoSchedulerLinks.ts +71 -0
  262. package/src/main/MEChat.test.ts +110 -0
  263. package/src/main/MEChat.ts +404 -0
  264. package/src/main/utils.ts +70 -0
  265. package/src/postLeadSources.ts +44 -0
  266. package/src/rentgrata.ts +74 -0
  267. package/src/replaceSelectButtonsWithNewLink.ts +91 -0
  268. package/src/services/fees/calculateQuote.ts +74 -0
  269. package/src/services/fees/fetchBuildingFees.ts +50 -0
  270. package/src/services/fees/fetchBuildingFeesV2.ts +56 -0
  271. package/src/services/fees/fetchBuildingFloorplans.ts +74 -0
  272. package/src/services/fees/fetchBuildingUnits.ts +86 -0
  273. package/src/services/fees/utils.ts +4 -0
  274. package/src/svgIcons.ts +14 -0
  275. package/src/themes.ts +65 -0
  276. package/src/types/incentive-v2.ts +24 -0
  277. package/src/types/rest-sdk.types.ts +13 -0
  278. package/src/types/webchat-no-show-reason.ts +6 -0
  279. package/src/utils/getWidgetOverrides.ts +91 -0
  280. package/src/utils/queryParamBuilder.ts +28 -0
  281. package/src/utils.ts +121 -0
@@ -0,0 +1,112 @@
1
+ import { css, html, LitElement, TemplateResult } from "lit";
2
+ import { customElement, property } from "lit/decorators.js";
3
+ import { styleMap } from "lit/directives/style-map.js";
4
+ import { defaultPrimaryColor, defaultBackgroundColor } from "../../themes";
5
+
6
+ @customElement("tour-type-option")
7
+ export class TourTypeOption extends LitElement {
8
+ @property({ type: String })
9
+ heading = "";
10
+ @property({ type: String })
11
+ subtitle = "";
12
+ @property({ type: Boolean })
13
+ selected = false;
14
+ @property({ attribute: false })
15
+ onClick?: () => void;
16
+
17
+ @property({ attribute: true })
18
+ primaryColor: string = defaultPrimaryColor;
19
+
20
+ @property({ attribute: true })
21
+ backgroundColor: string = defaultBackgroundColor;
22
+
23
+ @property({ attribute: true })
24
+ foregroundColorOnPrimaryBackgroundColor = "white";
25
+
26
+ @property({ attribute: true })
27
+ foregroundColorOnSecondaryBackgroundColor = "black";
28
+
29
+ static styles = [
30
+ css`
31
+ .tour-type-option {
32
+ height: 90px;
33
+ width: 100%;
34
+ background: #e7e7e7;
35
+ border: 1px solid #ffffff;
36
+ border-radius: 10px;
37
+ position: relative;
38
+ user-select: none;
39
+ box-sizing: border-box;
40
+ }
41
+
42
+ :host([selected]) .tour-type-option {
43
+ background: #202020;
44
+ border: 3px solid #83818e;
45
+ }
46
+
47
+ .content {
48
+ display: flex;
49
+ align-items: center;
50
+ justify-content: center;
51
+ gap: 15px;
52
+ width: 100%;
53
+ position: absolute;
54
+ top: 50%;
55
+ left: 50%;
56
+ transform: translate(-50%, -50%);
57
+ }
58
+
59
+ .text {
60
+ display: flex;
61
+ flex-direction: column;
62
+ color: #202020;
63
+ font-family: "Helvetica Neue", Arial;
64
+ }
65
+
66
+ :host([selected]) .text {
67
+ color: #ffffff;
68
+ }
69
+
70
+ h1,
71
+ h2 {
72
+ font-size: 15px;
73
+ margin: 0;
74
+ }
75
+
76
+ h1 {
77
+ font-weight: 600;
78
+ }
79
+
80
+ h2 {
81
+ font-weight: 400;
82
+ }
83
+ `,
84
+ ];
85
+
86
+ render(): TemplateResult {
87
+ return html`
88
+ <div
89
+ class="tour-type-option"
90
+ tabindex="0"
91
+ style=${styleMap({
92
+ background: this.selected ? this.primaryColor : undefined,
93
+ })}
94
+ >
95
+ <div class="content">
96
+ <slot name="icon"></slot>
97
+ <div
98
+ class="text"
99
+ style=${styleMap({
100
+ color: this.selected
101
+ ? this.foregroundColorOnPrimaryBackgroundColor
102
+ : this.foregroundColorOnSecondaryBackgroundColor,
103
+ })}
104
+ >
105
+ <h1>${this.heading}</h1>
106
+ <h2>${this.subtitle}</h2>
107
+ </div>
108
+ </div>
109
+ </div>
110
+ `;
111
+ }
112
+ }
@@ -0,0 +1,418 @@
1
+ import { css } from "lit";
2
+
3
+ // the entire tourScheduler needs a complete rework - it's a mess
4
+ export const tourSchedulerStyles = css`
5
+ * {
6
+ box-sizing: border-box;
7
+ }
8
+
9
+ h1,
10
+ h2,
11
+ h3,
12
+ h4,
13
+ h5,
14
+ h6 {
15
+ margin: 0;
16
+ padding: 0;
17
+ }
18
+
19
+ .tour-scheduler-full,
20
+ .tour-scheduler-compact,
21
+ .tour-scheduler-mobile {
22
+ background: #ffffff;
23
+ box-shadow: 0px 16px 18px 10px rgba(21, 21, 21, 0.4);
24
+ border-radius: 10px;
25
+ font-family: "Helvetica Neue", Arial;
26
+ color: #202020;
27
+
28
+ max-width: 1000px;
29
+ }
30
+ .tour-scheduler-full {
31
+ position: fixed;
32
+ left: 50%;
33
+ top: 50%;
34
+ transform: translate(-50%, -50%);
35
+ width: 100%;
36
+ max-width: 1018px;
37
+ }
38
+ .tour-scheduler-compact {
39
+ position: fixed;
40
+ left: 5%;
41
+ top: 50%;
42
+ transform: translate(0%, -50%);
43
+ width: 100%;
44
+ max-width: calc(90% - 340px); /* 340px is width of chat popup */
45
+ }
46
+ .tour-scheduler-mobile {
47
+ position: fixed;
48
+ left: 6px;
49
+ right: 0;
50
+ bottom: 0;
51
+ top: 6px;
52
+ height: calc(100% - 12px);
53
+ width: calc(100% - 12px);
54
+ box-sizing: border-box;
55
+
56
+ display: flex;
57
+ flex-direction: column;
58
+ overflow: hidden;
59
+ }
60
+ #mobile-body-container {
61
+ flex: 1;
62
+ box-sizing: border-box;
63
+ padding: 24px;
64
+ }
65
+
66
+ #mobile-next-bttn {
67
+ height: 50px;
68
+ padding: 13px 22px 14px 22px;
69
+ float: right;
70
+ background: #202020;
71
+ border: 1px solid #ffffff;
72
+ border-radius: 10px;
73
+ font-family: "Helvetica Neue", Arial;
74
+ font-weight: 700;
75
+ font-size: 14px;
76
+ color: #ffffff;
77
+ box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.5);
78
+ margin-top: 22px;
79
+ cursor: pointer;
80
+ }
81
+ #mobile-next-bttn:disabled {
82
+ background: #e7e7e7;
83
+ box-shadow: none;
84
+ }
85
+ #schedule-bttn {
86
+ float: right;
87
+ margin-top: 4px;
88
+ margin-bottom: 4px;
89
+ cursor: pointer;
90
+ }
91
+ #top-header {
92
+ position: sticky;
93
+ top: 0;
94
+ left: 0;
95
+ width: 100%;
96
+ height: 64px;
97
+
98
+ box-sizing: border-box;
99
+ padding-left: 24px;
100
+ padding-right: 24px;
101
+ display: flex;
102
+ justify-content: space-between;
103
+ align-items: center;
104
+
105
+ border-bottom: 1px solid #e7e7e7;
106
+ }
107
+ #tour-header-title {
108
+ font-size: 14px;
109
+ font-weight: 600;
110
+ }
111
+ #close-button {
112
+ background: none;
113
+ border: none;
114
+ cursor: pointer;
115
+ padding: 0;
116
+ margin: 0;
117
+ }
118
+ #scheduler-container {
119
+ padding: 24px;
120
+ height: 500px;
121
+ overflow-y: auto;
122
+ position: relative;
123
+ }
124
+
125
+ #book-tour-journey-items {
126
+ display: flex;
127
+ justify-content: space-between;
128
+ gap: 24px;
129
+ }
130
+ .journey-header {
131
+ font-size: 14px;
132
+ font-weight: 600;
133
+ padding-bottom: 12px;
134
+ }
135
+
136
+ #tour-type-menu-outer-container {
137
+ width: 220px;
138
+ }
139
+ #date-and-time-menu-outer-container {
140
+ width: calc(70% - 220px);
141
+ }
142
+ #user-info-and-layout-menu-outer-container {
143
+ width: 30%;
144
+ }
145
+
146
+ #tour-type-menu {
147
+ align-self: start;
148
+ display: flex;
149
+ flex-direction: column;
150
+ gap: 6px;
151
+ }
152
+
153
+ @media screen and (max-width: 1200px) {
154
+ #book-tour-journey-items {
155
+ display: flex;
156
+ flex-direction: column;
157
+ align-items: center;
158
+ }
159
+ #tour-type-menu-outer-container {
160
+ width: 320px;
161
+ padding-bottom: 24px;
162
+ border-bottom: 1px solid #e7e7e7;
163
+ }
164
+ #date-and-time-menu-outer-container {
165
+ width: 320px;
166
+ padding-bottom: 24px;
167
+ border-bottom: 1px solid #e7e7e7;
168
+ }
169
+ #user-info-and-layout-menu-outer-container {
170
+ width: 320px;
171
+ padding-bottom: 64px;
172
+ }
173
+
174
+ #datePicker {
175
+ display: flex;
176
+ flex-direction: column;
177
+ justify-content: center;
178
+ align-items: center;
179
+ width: 100%;
180
+ }
181
+ }
182
+
183
+ /*
184
+ makes button fit size of SVG:
185
+ https://stackoverflow.com/questions/45423874/button-height-is-greater-than-the-nested-contents-height
186
+ otherwise there's some empty space at the bottom of the button, which interferes with vertical centering
187
+ */
188
+ button#closeButton > svg {
189
+ vertical-align: middle;
190
+ }
191
+
192
+ h2 {
193
+ font-weight: 600;
194
+ font-size: 14px;
195
+ grid-row: label-row;
196
+ }
197
+
198
+ h2#tourType {
199
+ grid-column: 1;
200
+ grid-row: 2;
201
+ }
202
+
203
+ h2#dateAndTime {
204
+ grid-column: 2;
205
+ grid-row: 2;
206
+ }
207
+
208
+ h2#yourInformation {
209
+ grid-column: 3;
210
+ grid-row: 2;
211
+ }
212
+
213
+ #datePicker {
214
+ display: flex;
215
+ gap: 8px;
216
+ }
217
+
218
+ #dateAndTimeMenu {
219
+ grid-row: 4 / 5;
220
+ grid-column: 2;
221
+ align-self: start;
222
+ display: flex;
223
+ flex-direction: column;
224
+ }
225
+
226
+ #yourInformationMenu {
227
+ grid-row: 4 / 5;
228
+ grid-column: 3;
229
+ display: flex;
230
+ flex-direction: column;
231
+ gap: 12px;
232
+ }
233
+
234
+ #yourInformationMenu input {
235
+ width: 100%;
236
+ height: 49px;
237
+ }
238
+
239
+ hr {
240
+ grid-row: 6;
241
+ grid-column: 1 / 5;
242
+ /* remove side margins because of this
243
+ * (https://stackoverflow.com/questions/34365271/hr-inside-container-with-display-flex-become-corrupted)
244
+ * and top/bottom margins to position the line exactly at the gridline
245
+ */
246
+ margin: 0;
247
+ }
248
+
249
+ #tour-scheduler-footer {
250
+ height: 100px;
251
+ display: flex;
252
+ justify-content: space-between;
253
+ align-items: center;
254
+ border-top: 1px solid #e7e7e7;
255
+
256
+ padding-left: 24px;
257
+ padding-right: 24px;
258
+ box-sizing: border-box;
259
+ }
260
+
261
+ .explanation {
262
+ font-weight: 400;
263
+ font-size: 14px;
264
+ padding-right: 24px;
265
+ }
266
+ #schedule {
267
+ width: 145px;
268
+ height: 50px;
269
+ justify-self: end;
270
+ }
271
+
272
+ #confirmationMessage {
273
+ display: flex;
274
+ flex-direction: column;
275
+ justify-content: center;
276
+ align-items: center;
277
+ padding: 24px;
278
+ box-sizing: border-box;
279
+ gap: 12px;
280
+ }
281
+
282
+ #confirmationMessage > p {
283
+ font-size: 18px;
284
+ }
285
+
286
+ /* Loading styles: pulsing gray overlay on all the form elements */
287
+
288
+ @keyframes spin {
289
+ 0% {
290
+ transform: none;
291
+ }
292
+ 50% {
293
+ transform: rotateZ(180deg);
294
+ }
295
+ 100% {
296
+ transform: rotateZ(360deg);
297
+ }
298
+ }
299
+
300
+ svg#loadingIcon {
301
+ animation: spin 2s infinite linear;
302
+ }
303
+
304
+ .tour-scheduler.loading #scheduleATour {
305
+ display: flex;
306
+ gap: 10px;
307
+ }
308
+
309
+ @keyframes loadingPulse {
310
+ 0% {
311
+ background-color: #e7e7e7;
312
+ }
313
+ 50% {
314
+ background-color: white;
315
+ }
316
+ 100% {
317
+ background-color: #e7e7e7;
318
+ }
319
+ }
320
+
321
+ tour-type-option,
322
+ date-picker,
323
+ #yourInformationMenu .inputContainer {
324
+ position: relative;
325
+ }
326
+
327
+ #self-guided-redirect-bttn {
328
+ height: 50px;
329
+ width: 240px;
330
+ background: #d4d4d4;
331
+ border: 1px solid #ffffff;
332
+ border-radius: 10px;
333
+ font-family: "Helvetica Neue", Arial;
334
+ font-weight: 500;
335
+ font-size: 14px;
336
+ color: #000000;
337
+ box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.5);
338
+ cursor: pointer;
339
+ }
340
+
341
+ .tour-scheduler.loading
342
+ :is(tour-type-option, date-picker, #yourInformationMenu
343
+ .inputContainer)::after {
344
+ content: "";
345
+ position: absolute;
346
+ top: 0;
347
+ left: 0;
348
+ height: 100%;
349
+ z-index: 1;
350
+ animation: loadingPulse 2s infinite;
351
+ }
352
+
353
+ .tour-scheduler.loading tour-type-option::after {
354
+ border-radius: 10px;
355
+ width: 200px;
356
+ }
357
+
358
+ .tour-scheduler.loading date-picker::after {
359
+ border-radius: 10px;
360
+ width: 205px;
361
+ }
362
+
363
+ .tour-scheduler.loading #yourInformationMenu .inputContainer input {
364
+ visibility: hidden;
365
+ }
366
+
367
+ .tour-scheduler.loading time-picker {
368
+ display: none;
369
+ }
370
+
371
+ #namesWrapper {
372
+ display: flex;
373
+ justify-content: space-between;
374
+ }
375
+
376
+ .nameContainer {
377
+ width: 48%;
378
+ }
379
+
380
+ .nameInput {
381
+ width: 100%;
382
+ }
383
+
384
+ .center-tour-not-avail {
385
+ display: flex;
386
+ justify-content: center;
387
+ align-items: center;
388
+ flex-direction: column;
389
+
390
+ height: 320px;
391
+ box-sizing: border-box;
392
+ text-align: center;
393
+
394
+ width: 100%;
395
+ padding: 24px;
396
+ max-width: 440px;
397
+ margin: auto;
398
+ }
399
+ .center-tour-not-avail > h1 {
400
+ font-size: 18px;
401
+ font-weight: 400;
402
+ text-align: center;
403
+ margin: 0;
404
+ }
405
+ .center-tour-not-avail > p {
406
+ font-size: 14px;
407
+ text-align: left;
408
+ }
409
+ .loading-entire-tour-icon {
410
+ padding: 24px;
411
+ }
412
+
413
+ .reschedule-buttons-wrapper {
414
+ display: flex;
415
+ gap: 12px;
416
+ align-items: center;
417
+ }
418
+ `;
@@ -0,0 +1,57 @@
1
+ import { css } from "lit";
2
+
3
+ export const InputStyles = css`
4
+ .webchat-input {
5
+ outline: none;
6
+
7
+ color: #202020;
8
+ font-family: "Helvetica Neue", Arial;
9
+ font-style: normal;
10
+ font-weight: 400;
11
+ line-height: 22px;
12
+
13
+ background: #d9d9d9;
14
+ border: 1px solid #efefef;
15
+ border-radius: 100px;
16
+ padding: 10px 16px;
17
+
18
+ font-size: 14px;
19
+ }
20
+
21
+ .webchat-input__error {
22
+ border-color: #ff0000;
23
+ }
24
+
25
+ .error-message {
26
+ color: #ff0000;
27
+ font-size: 12px;
28
+ font-weight: 400;
29
+ line-height: 16px;
30
+ margin-top: 4px;
31
+ }
32
+
33
+ .webchat-font__desktop {
34
+ font-size: 14px;
35
+ }
36
+ .webchat-font__mobile {
37
+ font-size: 16px;
38
+ }
39
+ .webchat-textarea {
40
+ border-radius: 8px;
41
+ padding: 8px 16px;
42
+ }
43
+
44
+ .webchat-input:active {
45
+ border: 1px solid #000000;
46
+ }
47
+
48
+ .webchat-input:focus-within {
49
+ border: 1px solid #000000;
50
+ }
51
+
52
+ .webchat-input::placeholder {
53
+ color: rgba(32, 32, 32, 0.5);
54
+ font-family: "Helvetica Neue", Arial;
55
+ font-size: 14px;
56
+ }
57
+ `;
@@ -0,0 +1,125 @@
1
+ import classnames from "classnames";
2
+ import { css, html, LitElement, TemplateResult } from "lit";
3
+ import { customElement, property } from "lit/decorators.js";
4
+
5
+ @customElement("action-confirm-button")
6
+ export class ActionConfirmButton extends LitElement {
7
+ static styles = [
8
+ css`
9
+ .action-confirm-button {
10
+ display: flex;
11
+ justify-content: center;
12
+ align-items: center;
13
+
14
+ background: #000000;
15
+ border: none;
16
+
17
+ border-radius: 20px;
18
+
19
+ font-family: "Helvetica Neue", Arial;
20
+ font-style: normal;
21
+ font-weight: 400;
22
+ font-size: 12px;
23
+ line-height: 20px;
24
+
25
+ color: #ffffff;
26
+ padding: 5px 15px;
27
+ cursor: pointer;
28
+ }
29
+
30
+ .action-confirm-button:disabled {
31
+ background: #e7e7e7;
32
+ box-shadow: none;
33
+ cursor: initial;
34
+ }
35
+ .action-confirm-button:not(:is(:disabled, .loading)):active {
36
+ transform: translateY(2px);
37
+ box-shadow: 0px 0px 0px rgba(36, 53, 141, 0.25);
38
+ }
39
+
40
+ .action-confirm-button:not(:is(:active, :disabled, .loading)):hover {
41
+ opacity: 0.7;
42
+ }
43
+
44
+ .loading {
45
+ cursor: initial;
46
+ }
47
+
48
+ .lds-ring {
49
+ display: inline-block;
50
+ position: relative;
51
+ width: 28px;
52
+ height: 28px;
53
+ }
54
+ .lds-ring div {
55
+ box-sizing: border-box;
56
+ display: block;
57
+ position: absolute;
58
+ width: 28px;
59
+ height: 28px;
60
+ border: 8px solid #fff;
61
+ border-radius: 50%;
62
+ animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
63
+ border-color: #fff transparent transparent transparent;
64
+ }
65
+ .lds-ring div:nth-child(1) {
66
+ animation-delay: -0.45s;
67
+ }
68
+ .lds-ring div:nth-child(2) {
69
+ animation-delay: -0.3s;
70
+ }
71
+ .lds-ring div:nth-child(3) {
72
+ animation-delay: -0.15s;
73
+ }
74
+ @keyframes lds-ring {
75
+ 0% {
76
+ transform: rotate(0deg);
77
+ }
78
+ 100% {
79
+ transform: rotate(360deg);
80
+ }
81
+ }
82
+ `,
83
+ ];
84
+ @property()
85
+ onClick?: () => void;
86
+ @property()
87
+ text = "Submit";
88
+ @property({ attribute: false })
89
+ isLoading = false;
90
+ @property({ type: Boolean })
91
+ disabled = false;
92
+ @property({ type: String })
93
+ height = "initial";
94
+ @property({ type: String })
95
+ width = "initial";
96
+
97
+ focus = (): void => {
98
+ this.shadowRoot?.querySelector("button")?.focus();
99
+ };
100
+
101
+ render = (): TemplateResult => {
102
+ return html`<button
103
+ class=${classnames("action-confirm-button", { loading: this.isLoading })}
104
+ @click=${!this.isLoading ? this.onClick : null}
105
+ ?disabled=${this.disabled}
106
+ style=${`height: ${this.height}; width: ${this.width};`}
107
+ tabindex="0"
108
+ >
109
+ ${!this.isLoading
110
+ ? this.text
111
+ : html`<div class="lds-ring">
112
+ <div></div>
113
+ <div></div>
114
+ <div></div>
115
+ <div></div>
116
+ </div>`}
117
+ </button>`;
118
+ };
119
+ }
120
+
121
+ export const installActionConfirmButton = (): void => {
122
+ if (!window.customElements.get("action-confirm-button")) {
123
+ window.customElements.define("action-confirm-button", ActionConfirmButton);
124
+ }
125
+ };