@meetelise/chat 1.29.0 → 1.30.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.
- package/dist/src/MyPubnub.d.ts +116 -0
- package/dist/src/WebComponent/FeeCalculator/components/addon-item/addon-item-styles.d.ts +2 -0
- package/dist/src/WebComponent/FeeCalculator/components/addon-item/addon-item.d.ts +22 -0
- package/dist/src/WebComponent/FeeCalculator/components/addon-item/index.d.ts +1 -0
- package/dist/src/WebComponent/FeeCalculator/components/fee-calculator-layout/fee-calculator-layout-styles.d.ts +2 -0
- package/dist/src/WebComponent/FeeCalculator/components/fee-calculator-layout/fee-calculator-layout.d.ts +34 -0
- package/dist/src/WebComponent/FeeCalculator/components/fee-card/fee-card-styles.d.ts +2 -0
- package/dist/src/WebComponent/FeeCalculator/components/fee-card/fee-card.d.ts +21 -0
- package/dist/src/WebComponent/FeeCalculator/components/fee-item/fee-item-styles.d.ts +2 -0
- package/dist/src/WebComponent/FeeCalculator/components/fee-item/fee-item.d.ts +13 -0
- package/dist/src/WebComponent/FeeCalculator/components/floor-plan-selector/floor-plan-selector-styles.d.ts +2 -0
- package/dist/src/WebComponent/FeeCalculator/components/floor-plan-selector/floor-plan-selector.d.ts +33 -0
- package/dist/src/WebComponent/FeeCalculator/components/floorplan-image-card/floorplan-image-card-styles.d.ts +2 -0
- package/dist/src/WebComponent/FeeCalculator/components/floorplan-image-card/floorplan-image-card.d.ts +18 -0
- package/dist/src/WebComponent/FeeCalculator/components/index.d.ts +5 -0
- package/dist/src/WebComponent/FeeCalculator/components/promo-card/promo-card-styles.d.ts +2 -0
- package/dist/src/WebComponent/FeeCalculator/components/promo-card/promo-card.d.ts +13 -0
- package/dist/src/WebComponent/FeeCalculator/constants.d.ts +2 -0
- package/dist/src/WebComponent/FeeCalculator/fee-calculator-styles.d.ts +1 -0
- package/dist/src/WebComponent/FeeCalculator/fee-calculator.d.ts +59 -0
- package/dist/src/WebComponent/FeeCalculator/index.d.ts +2 -0
- package/dist/src/WebComponent/FeeCalculator/model/building-fee.d.ts +80 -0
- package/dist/src/WebComponent/FeeCalculator/model/transaction-category.d.ts +23 -0
- package/dist/src/WebComponent/LeadSourceClient.d.ts +46 -0
- package/dist/src/WebComponent/OfficeHours.d.ts +21 -0
- package/dist/src/WebComponent/Scheduler/date-picker.d.ts +28 -0
- package/dist/src/WebComponent/Scheduler/time-picker.d.ts +14 -0
- package/dist/src/WebComponent/Scheduler/tour-scheduler.d.ts +100 -0
- package/dist/src/WebComponent/Scheduler/tour-type-option.d.ts +13 -0
- package/dist/src/WebComponent/Scheduler/tourSchedulerStyles.d.ts +1 -0
- package/dist/src/WebComponent/actions/InputStyles.d.ts +1 -0
- package/dist/src/WebComponent/actions/action-confirm-button.d.ts +13 -0
- package/dist/src/WebComponent/actions/call-us-window.d.ts +37 -0
- package/dist/src/WebComponent/actions/collapse-expand-button.d.ts +8 -0
- package/dist/src/WebComponent/actions/details-window.d.ts +14 -0
- package/dist/src/WebComponent/actions/email-us-window.d.ts +46 -0
- package/dist/src/WebComponent/actions/formatPhoneNumber.d.ts +17 -0
- package/dist/src/WebComponent/actions/minimize-expand-button.d.ts +8 -0
- package/dist/src/WebComponent/chat-additional-actions.d.ts +28 -0
- package/dist/src/WebComponent/health-chat.d.ts +47 -0
- package/dist/src/WebComponent/healthchat-styles.d.ts +1 -0
- package/dist/src/WebComponent/icons/ApplyOutlineIcon.d.ts +2 -0
- package/dist/src/WebComponent/icons/BookTourOutlineIcon.d.ts +2 -0
- package/dist/src/WebComponent/icons/CalculatorOutlineIcon.d.ts +2 -0
- package/dist/src/WebComponent/icons/ChatOutlineIcon.d.ts +2 -0
- package/dist/src/WebComponent/icons/ChevronLeftIcon.d.ts +2 -0
- package/dist/src/WebComponent/icons/ChevronRightIcon.d.ts +2 -0
- package/dist/src/WebComponent/icons/ContactResidentIcon.d.ts +2 -0
- package/dist/src/WebComponent/icons/DollarOutlineIcon.d.ts +3 -0
- package/dist/src/WebComponent/icons/EmailOutlineIcon.d.ts +2 -0
- package/dist/src/WebComponent/icons/HeyThereEmojiIcon.d.ts +2 -0
- package/dist/src/WebComponent/icons/PhoneOutlineIcon.d.ts +2 -0
- package/dist/src/WebComponent/icons/SendMessageIcon.d.ts +3 -0
- package/dist/src/WebComponent/icons/TourSelfGuidedIcon.d.ts +2 -0
- package/dist/src/WebComponent/icons/TourVirtuallyIcon.d.ts +2 -0
- package/dist/src/WebComponent/icons/TourWithAgentIcon.d.ts +2 -0
- package/dist/src/WebComponent/icons/XOutlineIcon.d.ts +2 -0
- package/dist/src/WebComponent/index.d.ts +2 -0
- package/dist/src/WebComponent/launcher/Launcher.d.ts +98 -0
- package/dist/src/WebComponent/launcher/launcherStyles.d.ts +1 -0
- package/dist/src/WebComponent/launcher/mobile-launcher.d.ts +27 -0
- package/dist/src/WebComponent/launcher/typeEmojiStyles.d.ts +1 -0
- package/dist/src/WebComponent/launcher/typeMiniStyles.d.ts +1 -0
- package/dist/src/WebComponent/launcher/typeMobileStyles.d.ts +1 -0
- package/dist/src/WebComponent/leasing-chat-styles.d.ts +1 -0
- package/dist/src/WebComponent/me-chat.d.ts +91 -0
- package/dist/src/WebComponent/me-select.d.ts +24 -0
- package/dist/src/WebComponent/mega-loader.d.ts +7 -0
- package/dist/src/WebComponent/mini-loader.d.ts +5 -0
- package/dist/src/WebComponent/pubnub-chat-styles.d.ts +1 -0
- package/dist/src/WebComponent/pubnub-chat.d.ts +49 -0
- package/dist/src/WebComponent/pubnub-media.d.ts +14 -0
- package/dist/src/WebComponent/pubnub-message-styles.d.ts +1 -0
- package/dist/src/WebComponent/pubnub-message.d.ts +39 -0
- package/dist/src/WebComponent/simple-launcher/simple-launcher-styles.d.ts +1 -0
- package/dist/src/WebComponent/simple-launcher/simple-launcher.d.ts +12 -0
- package/dist/src/WebComponent/utilities-chat.d.ts +47 -0
- package/dist/src/WebComponent/utilities-styles.d.ts +1 -0
- package/dist/src/WebComponent/utils.d.ts +31 -0
- package/dist/src/analytics.d.ts +64 -0
- package/dist/src/disclaimers.d.ts +8 -0
- package/dist/src/fetchBuildingABTestType.d.ts +8 -0
- package/dist/src/fetchBuildingInfo.d.ts +57 -0
- package/dist/src/fetchBuildingWebchatView.d.ts +123 -0
- package/dist/src/fetchFeatureFlag.d.ts +14 -0
- package/dist/src/fetchLeadSources.d.ts +4 -0
- package/dist/src/fetchPhoneNumberFromSource.d.ts +6 -0
- package/dist/src/getAvailabilities.d.ts +45 -0
- package/dist/src/getBuildingPhoneNumber.d.ts +1 -0
- package/dist/src/getShouldAllowScheduling.d.ts +1 -0
- package/dist/src/getShouldShowWebchat.d.ts +3 -0
- package/dist/src/getTimezoneString.d.ts +1 -0
- package/dist/src/globals.d.ts +1 -0
- package/dist/src/gtm.d.ts +6 -0
- package/dist/src/handleChatId.d.ts +11 -0
- package/dist/src/insertDNIIntoWebsite.d.ts +5 -0
- package/dist/src/insertLeadSourceIntoSchedulerLinks.d.ts +4 -0
- package/dist/src/main/MEChat.d.ts +74 -0
- package/dist/src/main/utils.d.ts +2 -0
- package/dist/src/postLeadSources.d.ts +3 -0
- package/dist/src/rentgrata.d.ts +4 -0
- package/dist/src/replaceSelectButtonsWithNewLink.d.ts +5 -0
- package/dist/src/services/fees/calculateQuote.d.ts +52 -0
- package/dist/src/services/fees/fetchBuildingFees.d.ts +24 -0
- package/dist/src/services/fees/fetchBuildingFloorplans.d.ts +21 -0
- package/dist/src/services/fees/utils.d.ts +1 -0
- package/dist/src/svgIcons.d.ts +5 -0
- package/dist/src/themes.d.ts +5 -0
- package/dist/src/types/rest-sdk.types.d.ts +11 -0
- package/dist/src/types/webchat-no-show-reason.d.ts +1 -0
- package/dist/src/utils.d.ts +13 -0
- package/package.json +1 -1
- package/public/dist/index.js +384 -179
- package/src/MyPubnub.ts +792 -0
- package/src/WebComponent/FeeCalculator/components/addon-item/addon-item-styles.ts +79 -0
- package/src/WebComponent/FeeCalculator/components/addon-item/addon-item.ts +121 -0
- package/src/WebComponent/FeeCalculator/components/addon-item/index.ts +1 -0
- package/src/WebComponent/FeeCalculator/components/fee-calculator-layout/fee-calculator-layout-styles.ts +127 -0
- package/src/WebComponent/FeeCalculator/components/fee-calculator-layout/fee-calculator-layout.ts +191 -0
- package/src/WebComponent/FeeCalculator/components/fee-card/fee-card-styles.ts +65 -0
- package/src/WebComponent/FeeCalculator/components/fee-card/fee-card.ts +91 -0
- package/src/WebComponent/FeeCalculator/components/fee-item/fee-item-styles.ts +44 -0
- package/src/WebComponent/FeeCalculator/components/fee-item/fee-item.ts +38 -0
- package/src/WebComponent/FeeCalculator/components/floor-plan-selector/floor-plan-selector-styles.ts +144 -0
- package/src/WebComponent/FeeCalculator/components/floor-plan-selector/floor-plan-selector.ts +241 -0
- package/src/WebComponent/FeeCalculator/components/floorplan-image-card/floorplan-image-card-styles.ts +74 -0
- package/src/WebComponent/FeeCalculator/components/floorplan-image-card/floorplan-image-card.ts +72 -0
- package/src/WebComponent/FeeCalculator/components/index.ts +5 -0
- package/src/WebComponent/FeeCalculator/components/promo-card/promo-card-styles.ts +39 -0
- package/src/WebComponent/FeeCalculator/components/promo-card/promo-card.ts +39 -0
- package/src/WebComponent/FeeCalculator/constants.ts +3 -0
- package/src/WebComponent/FeeCalculator/fee-calculator-styles.ts +334 -0
- package/src/WebComponent/FeeCalculator/fee-calculator.ts +369 -0
- package/src/WebComponent/FeeCalculator/index.ts +4 -0
- package/src/WebComponent/FeeCalculator/model/building-fee.ts +120 -0
- package/src/WebComponent/FeeCalculator/model/transaction-category.ts +23 -0
- package/src/WebComponent/LeadSourceClient.ts +332 -0
- package/src/WebComponent/MEChat.css +5 -0
- package/src/WebComponent/OfficeHours.ts +73 -0
- package/src/WebComponent/Scheduler/date-picker.ts +405 -0
- package/src/WebComponent/Scheduler/time-picker.ts +190 -0
- package/src/WebComponent/Scheduler/tour-scheduler.ts +1373 -0
- package/src/WebComponent/Scheduler/tour-type-option.ts +112 -0
- package/src/WebComponent/Scheduler/tourSchedulerStyles.ts +418 -0
- package/src/WebComponent/actions/InputStyles.ts +57 -0
- package/src/WebComponent/actions/action-confirm-button.ts +125 -0
- package/src/WebComponent/actions/call-us-window.ts +445 -0
- package/src/WebComponent/actions/collapse-expand-button.ts +65 -0
- package/src/WebComponent/actions/details-window.ts +150 -0
- package/src/WebComponent/actions/email-us-window.ts +555 -0
- package/src/WebComponent/actions/formatPhoneNumber.ts +72 -0
- package/src/WebComponent/actions/minimize-expand-button.ts +93 -0
- package/src/WebComponent/chat-additional-actions.ts +135 -0
- package/src/WebComponent/health-chat.ts +270 -0
- package/src/WebComponent/healthchat-styles.ts +119 -0
- package/src/WebComponent/icons/ApplyOutlineIcon.ts +22 -0
- package/src/WebComponent/icons/BookTourOutlineIcon.ts +13 -0
- package/src/WebComponent/icons/CalculatorOutlineIcon.ts +22 -0
- package/src/WebComponent/icons/ChatOutlineIcon.ts +10 -0
- package/src/WebComponent/icons/ChevronLeftIcon.ts +7 -0
- package/src/WebComponent/icons/ChevronRightIcon.ts +7 -0
- package/src/WebComponent/icons/ContactResidentIcon.ts +9 -0
- package/src/WebComponent/icons/DollarOutlineIcon.ts +18 -0
- package/src/WebComponent/icons/EmailOutlineIcon.ts +7 -0
- package/src/WebComponent/icons/HeyThereEmojiIcon.ts +12 -0
- package/src/WebComponent/icons/PhoneOutlineIcon.ts +7 -0
- package/src/WebComponent/icons/SendMessageIcon.ts +17 -0
- package/src/WebComponent/icons/TourSelfGuidedIcon.ts +17 -0
- package/src/WebComponent/icons/TourVirtuallyIcon.ts +17 -0
- package/src/WebComponent/icons/TourWithAgentIcon.ts +17 -0
- package/src/WebComponent/icons/XOutlineIcon.ts +8 -0
- package/src/WebComponent/index.ts +2 -0
- package/src/WebComponent/launcher/Launcher.ts +1282 -0
- package/src/WebComponent/launcher/launcherStyles.ts +500 -0
- package/src/WebComponent/launcher/mobile-launcher.ts +162 -0
- package/src/WebComponent/launcher/typeEmojiStyles.ts +161 -0
- package/src/WebComponent/launcher/typeMiniStyles.ts +60 -0
- package/src/WebComponent/launcher/typeMobileStyles.ts +50 -0
- package/src/WebComponent/leasing-chat-styles.ts +114 -0
- package/src/WebComponent/me-chat.ts +1262 -0
- package/src/WebComponent/me-select.ts +322 -0
- package/src/WebComponent/mega-loader.ts +36 -0
- package/src/WebComponent/mini-loader.ts +28 -0
- package/src/WebComponent/pubnub-chat-styles.ts +204 -0
- package/src/WebComponent/pubnub-chat.ts +928 -0
- package/src/WebComponent/pubnub-media.ts +208 -0
- package/src/WebComponent/pubnub-message-styles.ts +54 -0
- package/src/WebComponent/pubnub-message.ts +431 -0
- package/src/WebComponent/simple-launcher/simple-launcher-styles.ts +34 -0
- package/src/WebComponent/simple-launcher/simple-launcher.ts +100 -0
- package/src/WebComponent/utilities-chat.ts +270 -0
- package/src/WebComponent/utilities-styles.ts +110 -0
- package/src/WebComponent/utils.ts +82 -0
- package/src/analytics.ts +217 -0
- package/src/assetUrls.ts +6 -0
- package/src/disclaimers.ts +58 -0
- package/src/fetchBuildingABTestType.ts +21 -0
- package/src/fetchBuildingInfo.ts +87 -0
- package/src/fetchBuildingWebchatView.ts +156 -0
- package/src/fetchFeatureFlag.ts +250 -0
- package/src/fetchLeadSources.ts +98 -0
- package/src/fetchPhoneNumberFromSource.ts +31 -0
- package/src/fetchWebchatPreferences.ts +54 -0
- package/src/getAvailabilities.ts +179 -0
- package/src/getBuildingPhoneNumber.ts +26 -0
- package/src/getShouldAllowScheduling.ts +16 -0
- package/src/getShouldShowWebchat.ts +114 -0
- package/src/getTimezoneString.ts +39 -0
- package/src/globals.ts +1 -0
- package/src/gtm.ts +17 -0
- package/src/handleChatId.ts +101 -0
- package/src/insertDNIIntoWebsite.ts +146 -0
- package/src/insertLeadSourceIntoSchedulerLinks.ts +71 -0
- package/src/main/MEChat.test.ts +110 -0
- package/src/main/MEChat.ts +404 -0
- package/src/main/utils.ts +70 -0
- package/src/postLeadSources.ts +44 -0
- package/src/rentgrata.ts +74 -0
- package/src/replaceSelectButtonsWithNewLink.ts +69 -0
- package/src/services/fees/calculateQuote.ts +135 -0
- package/src/services/fees/fetchBuildingFees.ts +63 -0
- package/src/services/fees/fetchBuildingFloorplans.ts +74 -0
- package/src/services/fees/utils.ts +4 -0
- package/src/svgIcons.ts +14 -0
- package/src/themes.ts +65 -0
- package/src/types/rest-sdk.types.ts +13 -0
- package/src/types/webchat-no-show-reason.ts +6 -0
- package/src/utils.ts +121 -0
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { css, html, LitElement, TemplateResult } from "lit";
|
|
2
|
+
import { customElement, property } from "lit/decorators.js";
|
|
3
|
+
import { classMap } from "lit/directives/class-map.js";
|
|
4
|
+
import { BuildingWebchatView } from "../fetchBuildingWebchatView";
|
|
5
|
+
import {
|
|
6
|
+
shouldUsePrimaryColorForChatFooter,
|
|
7
|
+
hexToAlmostWhite,
|
|
8
|
+
defaultPrimaryColor,
|
|
9
|
+
} from "../themes";
|
|
10
|
+
|
|
11
|
+
@customElement("chat-additional-actions")
|
|
12
|
+
export class ChatAdditionalActions extends LitElement {
|
|
13
|
+
static styles = css`
|
|
14
|
+
.hideTab {
|
|
15
|
+
display: none;
|
|
16
|
+
}
|
|
17
|
+
.showTab {
|
|
18
|
+
display: flex;
|
|
19
|
+
align-items: center;
|
|
20
|
+
justify-content: space-between;
|
|
21
|
+
gap: 32px;
|
|
22
|
+
}
|
|
23
|
+
`;
|
|
24
|
+
|
|
25
|
+
@property({ type: String })
|
|
26
|
+
id = "";
|
|
27
|
+
|
|
28
|
+
@property({ type: Boolean })
|
|
29
|
+
showChatAdditionalActions = false;
|
|
30
|
+
|
|
31
|
+
@property({ type: Object })
|
|
32
|
+
buildingWebchatView: BuildingWebchatView | null = null;
|
|
33
|
+
|
|
34
|
+
@property({ type: String })
|
|
35
|
+
primaryColor: string | null = null;
|
|
36
|
+
|
|
37
|
+
@property({ type: String })
|
|
38
|
+
backgroundColor: string | null = null;
|
|
39
|
+
|
|
40
|
+
@property({ type: Object })
|
|
41
|
+
enabledChatWidgets: {
|
|
42
|
+
callDesktop: boolean;
|
|
43
|
+
chatDesktop: boolean;
|
|
44
|
+
emailDesktop: boolean;
|
|
45
|
+
textDesktop: boolean;
|
|
46
|
+
sstDesktop: boolean;
|
|
47
|
+
} = {
|
|
48
|
+
callDesktop: false,
|
|
49
|
+
chatDesktop: false,
|
|
50
|
+
emailDesktop: false,
|
|
51
|
+
textDesktop: false,
|
|
52
|
+
sstDesktop: false,
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
@property({ attribute: true })
|
|
56
|
+
onClickMinimize: () => void = () => {
|
|
57
|
+
return;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
@property({ attribute: true })
|
|
61
|
+
onClickEmailOption: (e: MouseEvent) => void = () => {
|
|
62
|
+
return;
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
@property({ attribute: true })
|
|
66
|
+
onClickPhoneOption: (e: MouseEvent) => void = () => {
|
|
67
|
+
return;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
@property({ attribute: true })
|
|
71
|
+
onClickSSTOption: (e: MouseEvent) => void = () => {
|
|
72
|
+
return;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
@property({ attribute: true })
|
|
76
|
+
onClose: (e: MouseEvent) => void = () => {
|
|
77
|
+
return;
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
render(): TemplateResult {
|
|
81
|
+
const primaryColorValue = this.primaryColor || defaultPrimaryColor;
|
|
82
|
+
const backgroundColorValue = this.backgroundColor || "#ffffff";
|
|
83
|
+
|
|
84
|
+
const triangleDivColor =
|
|
85
|
+
this.buildingWebchatView &&
|
|
86
|
+
shouldUsePrimaryColorForChatFooter(
|
|
87
|
+
this.buildingWebchatView.orgId,
|
|
88
|
+
this.buildingWebchatView.id
|
|
89
|
+
) &&
|
|
90
|
+
primaryColorValue !== defaultPrimaryColor
|
|
91
|
+
? hexToAlmostWhite(primaryColorValue, 0.6)
|
|
92
|
+
: "black";
|
|
93
|
+
|
|
94
|
+
return html`
|
|
95
|
+
<style>
|
|
96
|
+
#${this.id}::after {
|
|
97
|
+
border-right-color: ${triangleDivColor} !important;
|
|
98
|
+
}
|
|
99
|
+
</style>
|
|
100
|
+
<div
|
|
101
|
+
id=${this.id}
|
|
102
|
+
class=${classMap({
|
|
103
|
+
["showTab"]: this.showChatAdditionalActions,
|
|
104
|
+
["hideTab"]: !this.showChatAdditionalActions,
|
|
105
|
+
})}
|
|
106
|
+
>
|
|
107
|
+
<mobile-launcher
|
|
108
|
+
.onClickMinimize=${this.onClickMinimize}
|
|
109
|
+
.onClickEmailOption=${this.onClickEmailOption}
|
|
110
|
+
.onClickPhoneOption=${this.onClickPhoneOption}
|
|
111
|
+
.onClickSSTOption=${this.onClickSSTOption}
|
|
112
|
+
.primaryColor=${primaryColorValue}
|
|
113
|
+
.backgroundColor=${backgroundColorValue}
|
|
114
|
+
.hideChat=${true}
|
|
115
|
+
.hasCallUsEnabled=${this.enabledChatWidgets.callDesktop}
|
|
116
|
+
.hasChatEnabled=${this.enabledChatWidgets.chatDesktop}
|
|
117
|
+
.hasEmailEnabled=${this.enabledChatWidgets.emailDesktop}
|
|
118
|
+
.hasTextUsEnabled=${this.enabledChatWidgets.textDesktop}
|
|
119
|
+
.hasSSTEnabled=${this.enabledChatWidgets.sstDesktop}
|
|
120
|
+
></mobile-launcher>
|
|
121
|
+
<minimize-expand-button
|
|
122
|
+
.primaryColor=${primaryColorValue}
|
|
123
|
+
.backgroundColor=${backgroundColorValue}
|
|
124
|
+
.onClick=${this.onClose}
|
|
125
|
+
></minimize-expand-button>
|
|
126
|
+
</div>
|
|
127
|
+
`;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
declare global {
|
|
132
|
+
interface HTMLElementTagNameMap {
|
|
133
|
+
"chat-additional-actions": ChatAdditionalActions;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
import { css, html, LitElement, TemplateResult } from "lit";
|
|
2
|
+
import { customElement, property, state } from "lit/decorators.js";
|
|
3
|
+
import { createRef, Ref } from "lit/directives/ref.js";
|
|
4
|
+
import { Launcher } from "./launcher/Launcher";
|
|
5
|
+
import "./Scheduler/tour-scheduler";
|
|
6
|
+
import { installLauncher } from "./launcher/Launcher";
|
|
7
|
+
|
|
8
|
+
import "./MEChat.css";
|
|
9
|
+
import MyPubnub from "../MyPubnub";
|
|
10
|
+
|
|
11
|
+
import "./actions/minimize-expand-button";
|
|
12
|
+
import "./launcher/mobile-launcher";
|
|
13
|
+
import "./pubnub-chat";
|
|
14
|
+
import {
|
|
15
|
+
clearChatStorageKey,
|
|
16
|
+
createChatStorageKey,
|
|
17
|
+
getChatStorageKey,
|
|
18
|
+
isChatKeyValid,
|
|
19
|
+
} from "../handleChatId";
|
|
20
|
+
import { isMobile } from "../utils";
|
|
21
|
+
import "./simple-launcher/simple-launcher";
|
|
22
|
+
import { WidgetType } from "../main/MEChat";
|
|
23
|
+
|
|
24
|
+
@customElement("health-chat")
|
|
25
|
+
export class HealthChat extends LitElement {
|
|
26
|
+
static styles = css`
|
|
27
|
+
:host {
|
|
28
|
+
all: initial;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
#__talkjs_launcher:not(.shouldBeVisible) {
|
|
32
|
+
display: none;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.launcherContainer.launcher__mobile {
|
|
36
|
+
width: 100%;
|
|
37
|
+
height: 100px;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
#typeMobile-bttn {
|
|
41
|
+
position: fixed;
|
|
42
|
+
right: 24px;
|
|
43
|
+
bottom: 24px;
|
|
44
|
+
width: 80px;
|
|
45
|
+
height: 80px;
|
|
46
|
+
|
|
47
|
+
border: 2px solid #f3f6fc;
|
|
48
|
+
border-radius: 1000px;
|
|
49
|
+
|
|
50
|
+
display: flex;
|
|
51
|
+
justify-content: center;
|
|
52
|
+
align-items: center;
|
|
53
|
+
margin-right: 40px;
|
|
54
|
+
}
|
|
55
|
+
#typeMobile-bttn:hover > #typeMobile-inner {
|
|
56
|
+
background: #eaecf4;
|
|
57
|
+
cursor: pointer;
|
|
58
|
+
}
|
|
59
|
+
#typeMobile-bttn > #typeMobile-inner {
|
|
60
|
+
width: 72px;
|
|
61
|
+
height: 72px;
|
|
62
|
+
|
|
63
|
+
background: #ffffff;
|
|
64
|
+
border: 2px solid #f3f6fc;
|
|
65
|
+
border-radius: 1000px;
|
|
66
|
+
|
|
67
|
+
display: flex;
|
|
68
|
+
justify-content: center;
|
|
69
|
+
align-items: center;
|
|
70
|
+
gap: 4px;
|
|
71
|
+
}
|
|
72
|
+
#typeMobile-txt {
|
|
73
|
+
font-family: Poppins, "Open Sans", "Helvetica", sans-serif;
|
|
74
|
+
box-sizing: border-box;
|
|
75
|
+
font-weight: 300;
|
|
76
|
+
line-height: 150%;
|
|
77
|
+
font-size: 16px;
|
|
78
|
+
}
|
|
79
|
+
`;
|
|
80
|
+
|
|
81
|
+
@property({ type: String })
|
|
82
|
+
private healthcareId = "";
|
|
83
|
+
|
|
84
|
+
@property({ type: Number })
|
|
85
|
+
private right = 0;
|
|
86
|
+
|
|
87
|
+
@property({ type: Number })
|
|
88
|
+
private bottom = 0;
|
|
89
|
+
|
|
90
|
+
@property({ type: Number })
|
|
91
|
+
private top = 0;
|
|
92
|
+
|
|
93
|
+
@property({ type: Number })
|
|
94
|
+
private left = 0;
|
|
95
|
+
|
|
96
|
+
@state()
|
|
97
|
+
private launcher: HTMLElement | null = null;
|
|
98
|
+
|
|
99
|
+
@state()
|
|
100
|
+
private currentLeadSource: string | null = null;
|
|
101
|
+
|
|
102
|
+
@state()
|
|
103
|
+
private displayPubnubChat = false;
|
|
104
|
+
|
|
105
|
+
@state()
|
|
106
|
+
private myPubnub: MyPubnub | null = null;
|
|
107
|
+
|
|
108
|
+
@state()
|
|
109
|
+
private requiresConsent = false;
|
|
110
|
+
|
|
111
|
+
@state()
|
|
112
|
+
private privacyPolicyUrl = "http://bit.ly/me_privacy_policy";
|
|
113
|
+
|
|
114
|
+
@state()
|
|
115
|
+
private isLoading = true;
|
|
116
|
+
|
|
117
|
+
launcherRef: Ref<Launcher> = createRef();
|
|
118
|
+
|
|
119
|
+
firstUpdated = async (): Promise<void> => {
|
|
120
|
+
const isInMaintenanceMode = false; // TODO: check
|
|
121
|
+
if (isInMaintenanceMode) {
|
|
122
|
+
// eslint-disable-next-line no-console
|
|
123
|
+
console.warn(
|
|
124
|
+
"MeetElise Chat is in maintenance mode. Chat icon will not appear."
|
|
125
|
+
);
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
await this.initializeChatVariables();
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
private initializeChatVariables = async (): Promise<void> => {
|
|
132
|
+
this.isLoading = true;
|
|
133
|
+
|
|
134
|
+
// important to distinguish between a user who has never opened the chat and a user who has opened the chat but closed it
|
|
135
|
+
const currentChatStorageKey = getChatStorageKey(this.healthcareId);
|
|
136
|
+
const updatedChatStorageKey = isChatKeyValid(
|
|
137
|
+
this.healthcareId,
|
|
138
|
+
currentChatStorageKey
|
|
139
|
+
)
|
|
140
|
+
? currentChatStorageKey
|
|
141
|
+
: createChatStorageKey(this.healthcareId, false);
|
|
142
|
+
|
|
143
|
+
if (!updatedChatStorageKey.leadId) {
|
|
144
|
+
throw new Error("Lead ID is null");
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
this.myPubnub = new MyPubnub(
|
|
148
|
+
this.healthcareId,
|
|
149
|
+
null,
|
|
150
|
+
"",
|
|
151
|
+
this.currentLeadSource,
|
|
152
|
+
updatedChatStorageKey.leadId,
|
|
153
|
+
null,
|
|
154
|
+
WidgetType.Healthcare
|
|
155
|
+
);
|
|
156
|
+
|
|
157
|
+
if (updatedChatStorageKey.initiatedChat) {
|
|
158
|
+
await this.myPubnub.initializePubnub(currentChatStorageKey);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
if (!isMobile()) {
|
|
162
|
+
this.displayPubnubChat = true;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
this.attachOnClickToLauncher();
|
|
166
|
+
|
|
167
|
+
this.isLoading = false;
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
public async restartConversation(): Promise<void> {
|
|
171
|
+
this.myPubnub?.handleDisconnect();
|
|
172
|
+
clearChatStorageKey(this.healthcareId);
|
|
173
|
+
this.myPubnub = null;
|
|
174
|
+
this.displayPubnubChat = false;
|
|
175
|
+
await this.initializeChatVariables();
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/** Show the chat button on the screen if it was previously hidden. */
|
|
179
|
+
show(): void {
|
|
180
|
+
if (!this.launcher) {
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
this.launcher.style.display = "";
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/** Hide the chat button from the screen (but don't remove from the DOM). */
|
|
187
|
+
hide(): void {
|
|
188
|
+
if (!this.launcher) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
this.launcher.style.display = "none";
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
disconnectedCallback(): void {
|
|
195
|
+
this.myPubnub?.handleDisconnect();
|
|
196
|
+
super.disconnectedCallback();
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
private attachOnClickToLauncher = () => {
|
|
200
|
+
const launcher = this.launcherRef.value;
|
|
201
|
+
if (!launcher) {
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
launcher.onChatTapped = async () => {
|
|
205
|
+
this.displayPubnubChat = true;
|
|
206
|
+
};
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
render(): TemplateResult {
|
|
210
|
+
installLauncher();
|
|
211
|
+
|
|
212
|
+
if (this.isLoading) return html``;
|
|
213
|
+
return html`
|
|
214
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
|
215
|
+
<div id="aria-describe-info" style="display: none;">
|
|
216
|
+
EliseAI widget that allows you to chat with a virtual assistant, book
|
|
217
|
+
a tour, contact the leasing office, and more.
|
|
218
|
+
</div>
|
|
219
|
+
${
|
|
220
|
+
this.displayPubnubChat
|
|
221
|
+
? html`
|
|
222
|
+
<pubnub-chat
|
|
223
|
+
id="pubnub-chat"
|
|
224
|
+
.widgetType=${WidgetType.Healthcare}
|
|
225
|
+
.channel=${this.myPubnub?.channel}
|
|
226
|
+
.myPubnub=${this.myPubnub}
|
|
227
|
+
.buildingSlug=${this.healthcareId}
|
|
228
|
+
.onClickExit=${() => {
|
|
229
|
+
this.displayPubnubChat = false;
|
|
230
|
+
}}
|
|
231
|
+
.requiresConsent=${this.requiresConsent}
|
|
232
|
+
.privacyPolicyUrl=${this.privacyPolicyUrl}
|
|
233
|
+
.top=${this.top}
|
|
234
|
+
.bottom=${this.bottom}
|
|
235
|
+
.left=${this.left}
|
|
236
|
+
.right=${this.right}
|
|
237
|
+
></pubnub-chat>
|
|
238
|
+
`
|
|
239
|
+
: html``
|
|
240
|
+
}
|
|
241
|
+
<simple-launcher
|
|
242
|
+
id="healthcare-launcher"
|
|
243
|
+
.top=${this.top}
|
|
244
|
+
.bottom=${this.bottom}
|
|
245
|
+
.left=${this.left}
|
|
246
|
+
.right=${this.right}
|
|
247
|
+
.isChatOpen=${this.displayPubnubChat}
|
|
248
|
+
.onClickCloseChat=${() => {
|
|
249
|
+
this.displayPubnubChat = false;
|
|
250
|
+
}}
|
|
251
|
+
.onClickOpenChat=${() => {
|
|
252
|
+
this.displayPubnubChat = true;
|
|
253
|
+
}}
|
|
254
|
+
|
|
255
|
+
></simple-launcher>
|
|
256
|
+
|
|
257
|
+
</meta>
|
|
258
|
+
`;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
declare global {
|
|
263
|
+
interface HTMLElementTagNameMap {
|
|
264
|
+
"health-chat": HealthChat;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
interface Window {
|
|
268
|
+
RCTPCampaign?: { CampaignDetails: { Source: string } };
|
|
269
|
+
}
|
|
270
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { css } from "lit";
|
|
2
|
+
|
|
3
|
+
export const healthChatStyles = css`
|
|
4
|
+
#healthchat-container {
|
|
5
|
+
position: fixed;
|
|
6
|
+
|
|
7
|
+
z-index: 100001;
|
|
8
|
+
display: flex;
|
|
9
|
+
align-items: center;
|
|
10
|
+
|
|
11
|
+
display: flex;
|
|
12
|
+
flex-direction: column;
|
|
13
|
+
overflow: hidden;
|
|
14
|
+
box-shadow: -10px 60px 60px 0px #bfbfbf4d;
|
|
15
|
+
|
|
16
|
+
box-shadow: 0px 1px 24px 0px #0000001a;
|
|
17
|
+
|
|
18
|
+
font-family: Poppins, "Open Sans", "Helvetica", sans-serif;
|
|
19
|
+
}
|
|
20
|
+
.healthchat-container__desktop {
|
|
21
|
+
width: 300px;
|
|
22
|
+
height: 420px;
|
|
23
|
+
border-radius: 10px;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
#healthchat-header {
|
|
27
|
+
height: 60px;
|
|
28
|
+
width: 100%;
|
|
29
|
+
background: white;
|
|
30
|
+
overflow: hidden;
|
|
31
|
+
|
|
32
|
+
box-sizing: border-box;
|
|
33
|
+
|
|
34
|
+
display: flex;
|
|
35
|
+
align-items: center;
|
|
36
|
+
padding: 24px 16px;
|
|
37
|
+
justify-content: space-between;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
#healthchat-header-subtext {
|
|
41
|
+
font-family: Helvetica;
|
|
42
|
+
font-size: 8px;
|
|
43
|
+
font-weight: 300;
|
|
44
|
+
line-height: 11px;
|
|
45
|
+
letter-spacing: 0em;
|
|
46
|
+
text-align: left;
|
|
47
|
+
color: #737373;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.healthcare-conversation-body-backdrop {
|
|
51
|
+
background: #f1f2f4;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@media screen and (max-width: 767px) {
|
|
55
|
+
#conversation-body {
|
|
56
|
+
background: #efefef;
|
|
57
|
+
backdrop-filter: none;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.healthcare-disclaimer-inner {
|
|
62
|
+
width: 190px;
|
|
63
|
+
margin: 0 auto;
|
|
64
|
+
}
|
|
65
|
+
.healthcare-disclaimer-message {
|
|
66
|
+
font-size: 10px;
|
|
67
|
+
color: #737373;
|
|
68
|
+
line-height: 12px;
|
|
69
|
+
font-weight: 400;
|
|
70
|
+
text-align: center;
|
|
71
|
+
}
|
|
72
|
+
.healthcare-disclaimer-inner > a {
|
|
73
|
+
color: #737373;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
#healthcare-footer {
|
|
77
|
+
min-height: 60px;
|
|
78
|
+
width: 100%;
|
|
79
|
+
background: white;
|
|
80
|
+
z-index: 100001;
|
|
81
|
+
}
|
|
82
|
+
#healthcare-inner-footer {
|
|
83
|
+
display: flex;
|
|
84
|
+
align-items: center;
|
|
85
|
+
justify-content: space-between;
|
|
86
|
+
box-sizing: border-box;
|
|
87
|
+
padding: 16px;
|
|
88
|
+
gap: 0px;
|
|
89
|
+
}
|
|
90
|
+
#healthcare-inner-footer > #message-input {
|
|
91
|
+
width: 100%;
|
|
92
|
+
max-height: 100px;
|
|
93
|
+
overflowy: auto;
|
|
94
|
+
|
|
95
|
+
font-family: inherit;
|
|
96
|
+
box-sizing: border-box;
|
|
97
|
+
font-weight: light;
|
|
98
|
+
border: none;
|
|
99
|
+
color: black;
|
|
100
|
+
background: none;
|
|
101
|
+
|
|
102
|
+
padding-right: 6px; /* width of the scrollbar */
|
|
103
|
+
box-sizing: border-box;
|
|
104
|
+
z-index: 1000000000000000000000000001;
|
|
105
|
+
}
|
|
106
|
+
#healthcare-inner-footer > #message-input:focus {
|
|
107
|
+
outline: none;
|
|
108
|
+
-webkit-box-shadow: none;
|
|
109
|
+
box-shadow: none;
|
|
110
|
+
}
|
|
111
|
+
#healthcare-send-message-bttn {
|
|
112
|
+
background: none;
|
|
113
|
+
border: none;
|
|
114
|
+
cursor: pointer;
|
|
115
|
+
}
|
|
116
|
+
.health-bttn-allow-access {
|
|
117
|
+
padding-right: 28px;
|
|
118
|
+
}
|
|
119
|
+
`;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { svg, SVGTemplateResult } from "lit";
|
|
2
|
+
|
|
3
|
+
export const ApplyOutlineIcon = (
|
|
4
|
+
color = "white"
|
|
5
|
+
): SVGTemplateResult => svg`<svg width="16" height="14" viewBox="0 0 16 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
6
|
+
<g clip-path="url(#clip0_18382_27345)">
|
|
7
|
+
<g clip-path="url(#clip1_18382_27345)">
|
|
8
|
+
<path d="M9.91666 0.625V3.45833C9.91666 3.6462 9.99128 3.82636 10.1241 3.9592C10.257 4.09204 10.4371 4.16667 10.625 4.16667H13.4583" stroke="${color}" stroke-linecap="round" stroke-linejoin="round"/>
|
|
9
|
+
<path d="M12.0417 13.375H4.95832C4.5826 13.375 4.22227 13.2257 3.95659 12.9601C3.69091 12.6944 3.54166 12.3341 3.54166 11.9583V2.04167C3.54166 1.66594 3.69091 1.30561 3.95659 1.03993C4.22227 0.774255 4.5826 0.625 4.95832 0.625H9.91666L13.4583 4.16667V11.9583C13.4583 12.3341 13.3091 12.6944 13.0434 12.9601C12.7777 13.2257 12.4174 13.375 12.0417 13.375Z" stroke="${color}" stroke-linecap="round" stroke-linejoin="round"/>
|
|
10
|
+
<path d="M6.375 9.125L7.79167 10.5417L10.625 7.70833" stroke="${color}" stroke-linecap="round" stroke-linejoin="round"/>
|
|
11
|
+
</g>
|
|
12
|
+
</g>
|
|
13
|
+
<defs>
|
|
14
|
+
<clipPath id="clip0_18382_27345">
|
|
15
|
+
<rect width="16" height="14" fill="white"/>
|
|
16
|
+
</clipPath>
|
|
17
|
+
<clipPath id="clip1_18382_27345">
|
|
18
|
+
<rect width="17" height="17" fill="white" transform="translate(0 -1.5)"/>
|
|
19
|
+
</clipPath>
|
|
20
|
+
</defs>
|
|
21
|
+
</svg>
|
|
22
|
+
`;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { svg, SVGTemplateResult } from "lit";
|
|
2
|
+
|
|
3
|
+
export const BookTourOutlineIcon = (
|
|
4
|
+
color = "black"
|
|
5
|
+
): SVGTemplateResult => svg`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="18" viewBox="0 0 16 18" fill="none">
|
|
6
|
+
<path d="M15.6825 6.11855H0.00653076C0.0588276 4.00052 1.79117 2.30087 3.92226 2.30087H4.41255V3.6083C4.41255 3.88285 4.63481 4.09858 4.90283 4.09858C5.17085 4.09858 5.39311 3.88285 5.39311 3.6083V2.30087H10.2959V3.6083C10.2959 3.88285 10.5182 4.09858 10.7862 4.09858C11.0542 4.09858 11.2765 3.88285 11.2765 3.6083V2.30087H11.7668C13.8979 2.30087 15.6302 4.00052 15.6825 6.11855Z" fill="${color}"/>
|
|
7
|
+
<path d="M15.0641 7.39731V14.0677C15.0641 15.8922 13.5861 17.365 11.7668 17.365H3.92227C2.10298 17.365 0.625 15.8922 0.625 14.0677V7.39731H15.0641Z" fill="transparent" stroke="${color}" stroke-width="1.25"/>
|
|
8
|
+
<path d="M4.90283 1V2.30742" stroke="${color}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
9
|
+
<path d="M10.7863 1V2.30742" stroke="${color}" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round"/>
|
|
10
|
+
<path d="M0 6.11862H0.00653352C-3.5908e-06 6.15131 0 6.19053 0 6.22322V6.11862Z" fill="white"/>
|
|
11
|
+
<path d="M15.689 6.11862V6.22322C15.689 6.19053 15.689 6.15131 15.6825 6.11862H15.689Z" fill="white"/>
|
|
12
|
+
<path d="M4.74594 11.9562L6.56326 13.7735C6.8182 14.0285 7.23004 14.0285 7.48499 13.7735L10.9366 10.3219" stroke="${color}" stroke-miterlimit="10" stroke-linecap="round"/>
|
|
13
|
+
</svg>`;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { svg, SVGTemplateResult } from "lit";
|
|
2
|
+
|
|
3
|
+
export const CalculatorOutlineIcon = (
|
|
4
|
+
color = "white"
|
|
5
|
+
): SVGTemplateResult => svg`<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
6
|
+
<g id="Frame" clip-path="url(#clip0_14068_170001)">
|
|
7
|
+
<path id="Vector" d="M3.33301 4.16667C3.33301 3.72464 3.5086 3.30072 3.82116 2.98816C4.13372 2.67559 4.55765 2.5 4.99967 2.5H14.9997C15.4417 2.5 15.8656 2.67559 16.1782 2.98816C16.4907 3.30072 16.6663 3.72464 16.6663 4.16667V15.8333C16.6663 16.2754 16.4907 16.6993 16.1782 17.0118C15.8656 17.3244 15.4417 17.5 14.9997 17.5H4.99967C4.55765 17.5 4.13372 17.3244 3.82116 17.0118C3.5086 16.6993 3.33301 16.2754 3.33301 15.8333V4.16667Z" stroke=${color} stroke-linecap="round" stroke-linejoin="round"/>
|
|
8
|
+
<path id="Vector_2" d="M6.66699 6.66634C6.66699 6.44533 6.75479 6.23337 6.91107 6.07709C7.06735 5.92081 7.27931 5.83301 7.50033 5.83301H12.5003C12.7213 5.83301 12.9333 5.92081 13.0896 6.07709C13.2459 6.23337 13.3337 6.44533 13.3337 6.66634V7.49967C13.3337 7.72069 13.2459 7.93265 13.0896 8.08893C12.9333 8.24521 12.7213 8.33301 12.5003 8.33301H7.50033C7.27931 8.33301 7.06735 8.24521 6.91107 8.08893C6.75479 7.93265 6.66699 7.72069 6.66699 7.49967V6.66634Z" stroke=${color} stroke-linecap="round" stroke-linejoin="round"/>
|
|
9
|
+
<path id="Vector_3" d="M6.66699 11.667V11.6753" stroke=${color} stroke-linecap="round" stroke-linejoin="round"/>
|
|
10
|
+
<path id="Vector_4" d="M10 11.667V11.6753" stroke=${color} stroke-linecap="round" stroke-linejoin="round"/>
|
|
11
|
+
<path id="Vector_5" d="M13.333 11.667V11.6753" stroke=${color} stroke-linecap="round" stroke-linejoin="round"/>
|
|
12
|
+
<path id="Vector_6" d="M6.66699 14.167V14.1753" stroke=${color} stroke-linecap="round" stroke-linejoin="round"/>
|
|
13
|
+
<path id="Vector_7" d="M10 14.167V14.1753" stroke=${color} stroke-linecap="round" stroke-linejoin="round"/>
|
|
14
|
+
<path id="Vector_8" d="M13.333 14.167V14.1753" stroke=${color} stroke-linecap="round" stroke-linejoin="round"/>
|
|
15
|
+
</g>
|
|
16
|
+
<defs>
|
|
17
|
+
<clipPath id="clip0_14068_170001">
|
|
18
|
+
<rect width="20" height="20" fill="white"/>
|
|
19
|
+
</clipPath>
|
|
20
|
+
</defs>
|
|
21
|
+
</svg>
|
|
22
|
+
`;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { svg, SVGTemplateResult } from "lit";
|
|
2
|
+
|
|
3
|
+
export const ChatOutlineIcon = (color = "white"): SVGTemplateResult => svg`
|
|
4
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
|
5
|
+
<path
|
|
6
|
+
fill-rule="evenodd"
|
|
7
|
+
clip-rule="evenodd"
|
|
8
|
+
d="M6.64026 0.25H8.8598C10.0157 0.249995 10.9219 0.249992 11.6459 0.318826C12.3838 0.388987 12.988 0.534458 13.5206 0.860861C14.0784 1.20267 14.5474 1.67164 14.8892 2.22942C15.2156 2.76206 15.3611 3.36627 15.4312 4.10419C15.5001 4.82813 15.5001 5.73432 15.5001 6.89025V7.65964C15.5001 8.48243 15.5001 9.12755 15.4645 9.64868C15.4283 10.1789 15.3535 10.6202 15.1845 11.0283C14.7638 12.044 13.9568 12.851 12.9411 13.2717C12.3607 13.5121 11.6997 13.5654 10.7947 13.581C10.4782 13.5865 10.2777 13.5905 10.1248 13.6074C9.98202 13.6232 9.92665 13.6464 9.89426 13.6652C9.86008 13.6851 9.81351 13.7213 9.73267 13.8323C9.64518 13.9523 9.54632 14.1182 9.38955 14.3831L8.99874 15.0433C8.44104 15.9856 7.05899 15.9856 6.5013 15.0433L6.11048 14.3831C5.95371 14.1182 5.85485 13.9523 5.76736 13.8323C5.68652 13.7213 5.63995 13.6851 5.60577 13.6652C5.57338 13.6464 5.51801 13.6232 5.37519 13.6074C5.22235 13.5905 5.02184 13.5865 4.70528 13.581C3.80031 13.5654 3.13933 13.5121 2.559 13.2717C1.54327 12.851 0.736277 12.044 0.315547 11.0283C0.146515 10.6202 0.0717299 10.1789 0.0355529 9.64868C-4.05001e-06 9.12754 -2.20251e-06 8.48243 1.60891e-07 7.65963L7.4949e-08 6.89026C-4.52294e-06 5.73432 -8.08928e-06 4.82814 0.0688256 4.10419C0.138987 3.36627 0.284458 2.76206 0.610861 2.22942C0.95267 1.67164 1.42164 1.20267 1.97942 0.860861C2.51206 0.534458 3.11627 0.388987 3.85419 0.318826C4.57814 0.249992 5.48432 0.249995 6.64026 0.25ZM3.95654 1.39537C3.29779 1.458 2.87862 1.57812 2.54445 1.78291C2.13217 2.03555 1.78555 2.38217 1.53291 2.79445C1.32812 3.12862 1.208 3.54779 1.14537 4.20654C1.08197 4.87334 1.0814 5.7282 1.0814 6.91863V7.63956C1.0814 8.48674 1.08169 9.09505 1.11444 9.57507C1.14686 10.0502 1.20927 10.3601 1.31463 10.6144C1.6256 11.3652 2.22208 11.9617 2.97284 12.2726C3.34458 12.4266 3.81883 12.4842 4.72391 12.4998L4.74685 12.5002C5.03378 12.5051 5.28522 12.5094 5.49421 12.5326C5.71878 12.5574 5.9384 12.6077 6.14946 12.7304C6.35874 12.8522 6.50969 13.0148 6.64128 13.1953C6.76287 13.3622 6.88783 13.5733 7.02936 13.8124L7.4319 14.4925C7.57086 14.7273 7.92917 14.7273 8.06813 14.4925L8.47067 13.8124C8.6122 13.5733 8.73716 13.3622 8.85875 13.1953C8.99034 13.0148 9.14129 12.8522 9.35057 12.7304C9.56163 12.6077 9.78126 12.5574 10.0058 12.5326C10.2148 12.5094 10.4662 12.5051 10.7532 12.5002L10.7761 12.4998C11.6812 12.4842 12.1555 12.4266 12.5272 12.2726C13.278 11.9617 13.8745 11.3652 14.1854 10.6144C14.2908 10.3601 14.3532 10.0502 14.3856 9.57507C14.4184 9.09505 14.4187 8.48674 14.4187 7.63956V6.91863C14.4187 5.7282 14.4181 4.87334 14.3547 4.20654C14.2921 3.54779 14.1719 3.12862 13.9672 2.79445C13.7145 2.38217 13.3679 2.03555 12.9556 1.78291C12.6214 1.57812 12.2023 1.458 11.5435 1.39537C10.8767 1.33197 10.0219 1.3314 8.83143 1.3314H6.66863C5.4782 1.3314 4.62334 1.33197 3.95654 1.39537ZM7.75003 3.85467C8.04865 3.85467 8.29073 4.09674 8.29073 4.39536V10.1628C8.29073 10.4614 8.04865 10.7035 7.75003 10.7035C7.45141 10.7035 7.20933 10.4614 7.20933 10.1628V4.39536C7.20933 4.09674 7.45141 3.85467 7.75003 3.85467ZM4.8663 5.29653C5.16492 5.29653 5.407 5.53861 5.407 5.83723V8.72096C5.407 9.01958 5.16492 9.26166 4.8663 9.26166C4.56768 9.26166 4.3256 9.01958 4.3256 8.72096V5.83723C4.3256 5.53861 4.56768 5.29653 4.8663 5.29653ZM10.6338 5.29653C10.9324 5.29653 11.1745 5.53861 11.1745 5.83723V8.72096C11.1745 9.01958 10.9324 9.26166 10.6338 9.26166C10.3351 9.26166 10.0931 9.01958 10.0931 8.72096V5.83723C10.0931 5.53861 10.3351 5.29653 10.6338 5.29653Z"
|
|
9
|
+
fill="${color}"/>
|
|
10
|
+
</svg>`;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { svg, SVGTemplateResult } from "lit";
|
|
2
|
+
|
|
3
|
+
export const ChevronLeftIcon = (
|
|
4
|
+
color = "white"
|
|
5
|
+
): SVGTemplateResult => svg`<svg xmlns="http://www.w3.org/2000/svg" width="5" height="8" viewBox="0 0 5 8" fill="none">
|
|
6
|
+
<path d="M3.68188 7L0.681885 4L3.68188 1" stroke="${color}" stroke-linecap="round" stroke-linejoin="round"/>
|
|
7
|
+
</svg>`;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { svg, SVGTemplateResult } from "lit";
|
|
2
|
+
|
|
3
|
+
export const ChevronRightIcon = (
|
|
4
|
+
color = "white"
|
|
5
|
+
): SVGTemplateResult => svg`<svg xmlns="http://www.w3.org/2000/svg" width="5" height="8" viewBox="0 0 5 8" fill="none">
|
|
6
|
+
<path d="M1.31812 7L4.31812 4L1.31811 1" stroke="${color}" stroke-linecap="round" stroke-linejoin="round"/>
|
|
7
|
+
</svg>`;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { svg, SVGTemplateResult } from "lit";
|
|
2
|
+
|
|
3
|
+
export const ContactResidentIcon = (
|
|
4
|
+
color = "black"
|
|
5
|
+
): SVGTemplateResult => svg`<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
6
|
+
<path d="M6 6C7.65685 6 9 4.65685 9 3C9 1.34315 7.65685 0 6 0C4.34315 0 3 1.34315 3 3C3 4.65685 4.34315 6 6 6ZM8 3C8 4.10457 7.10457 5 6 5C4.89543 5 4 4.10457 4 3C4 1.89543 4.89543 1 6 1C7.10457 1 8 1.89543 8 3Z" fill="${color}"/>
|
|
7
|
+
<path d="M12 11C12 12 11 12 11 12H1C1 12 0 12 0 11C0 10 1 7 6 7C11 7 12 10 12 11ZM11 10.9965C10.9986 10.7497 10.8462 10.0104 10.1679 9.33211C9.51563 8.67985 8.2891 8 5.99999 8C3.71088 8 2.48435 8.67985 1.8321 9.33211C1.15375 10.0104 1.00142 10.7497 1 10.9965H11Z" fill="${color}"/>
|
|
8
|
+
</svg>
|
|
9
|
+
`;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { svg, SVGTemplateResult } from "lit";
|
|
2
|
+
|
|
3
|
+
const DollarOutlineIcon = (color = "#347FF7"): SVGTemplateResult => svg`
|
|
4
|
+
<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
5
|
+
<g id="Frame" clip-path="url(#clip0_18718_332018)">
|
|
6
|
+
<path id="Vector" d="M3 12.5C3 13.6819 3.23279 14.8522 3.68508 15.9442C4.13738 17.0361 4.80031 18.0282 5.63604 18.864C6.47177 19.6997 7.46392 20.3626 8.55585 20.8149C9.64778 21.2672 10.8181 21.5 12 21.5C13.1819 21.5 14.3522 21.2672 15.4442 20.8149C16.5361 20.3626 17.5282 19.6997 18.364 18.864C19.1997 18.0282 19.8626 17.0361 20.3149 15.9442C20.7672 14.8522 21 13.6819 21 12.5C21 11.3181 20.7672 10.1478 20.3149 9.05585C19.8626 7.96392 19.1997 6.97177 18.364 6.13604C17.5282 5.30031 16.5361 4.63738 15.4442 4.18508C14.3522 3.73279 13.1819 3.5 12 3.5C10.8181 3.5 9.64778 3.73279 8.55585 4.18508C7.46392 4.63738 6.47177 5.30031 5.63604 6.13604C4.80031 6.97177 4.13738 7.96392 3.68508 9.05585C3.23279 10.1478 3 11.3181 3 12.5Z" stroke="${color}" stroke-linecap="round" stroke-linejoin="round"/>
|
|
7
|
+
<path id="Vector_2" d="M14.8 9.50016C14.6188 9.18592 14.3557 8.92686 14.0386 8.75071C13.7215 8.57456 13.3625 8.48795 13 8.50016H11C10.4696 8.50016 9.96086 8.71087 9.58579 9.08594C9.21071 9.46102 9 9.96972 9 10.5002C9 11.0306 9.21071 11.5393 9.58579 11.9144C9.96086 12.2894 10.4696 12.5002 11 12.5002H13C13.5304 12.5002 14.0391 12.7109 14.4142 13.0859C14.7893 13.461 15 13.9697 15 14.5002C15 15.0306 14.7893 15.5393 14.4142 15.9144C14.0391 16.2894 13.5304 16.5002 13 16.5002H11C10.6375 16.5124 10.2785 16.4258 9.96142 16.2496C9.64435 16.0735 9.38115 15.8144 9.2 15.5002" stroke="${color}" stroke-linecap="round" stroke-linejoin="round"/>
|
|
8
|
+
<path id="Vector_3" d="M12 7.5V17.5" stroke="${color}" stroke-linecap="round" stroke-linejoin="round"/>
|
|
9
|
+
</g>
|
|
10
|
+
<defs>
|
|
11
|
+
<clipPath id="clip0_18718_332018">
|
|
12
|
+
<rect width="24" height="24" fill="white" transform="translate(0 0.5)"/>
|
|
13
|
+
</clipPath>
|
|
14
|
+
</defs>
|
|
15
|
+
</svg>
|
|
16
|
+
`;
|
|
17
|
+
|
|
18
|
+
export default DollarOutlineIcon;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { svg, SVGTemplateResult } from "lit";
|
|
2
|
+
|
|
3
|
+
export const EmailOutlineIcon = (
|
|
4
|
+
color = "white"
|
|
5
|
+
): SVGTemplateResult => svg`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="14" viewBox="0 0 16 14" fill="none">
|
|
6
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M6.46964 0.488343H9.53036C10.898 0.488331 11.9813 0.488321 12.829 0.602304C13.7015 0.719609 14.4077 0.966767 14.9647 1.52369C15.5216 2.08061 15.7687 2.78681 15.886 3.65932C16 4.50711 16 5.59038 16 6.95802V7.04198C16 8.40962 16 9.49289 15.886 10.3407C15.7687 11.2132 15.5216 11.9194 14.9647 12.4763C14.4077 13.0332 13.7015 13.2804 12.829 13.3977C11.9813 13.5117 10.898 13.5117 9.53035 13.5117H6.46965C5.10201 13.5117 4.01875 13.5117 3.17096 13.3977C2.29846 13.2804 1.59227 13.0332 1.03534 12.4763C0.478423 11.9194 0.231266 11.2132 0.113961 10.3407C-2.09587e-05 9.49289 -1.15596e-05 8.40962 2.39342e-07 7.04198V6.95801C-1.15596e-05 5.59037 -2.09587e-05 4.50711 0.113961 3.65932C0.231266 2.78681 0.478423 2.08061 1.03534 1.52369C1.59227 0.966767 2.29846 0.719609 3.17096 0.602304C4.01875 0.488321 5.10201 0.488331 6.46964 0.488343ZM3.3197 1.70863C2.57098 1.8093 2.13962 1.99807 1.82467 2.31302C1.50973 2.62797 1.32095 3.05934 1.22029 3.80806C1.11746 4.57283 1.11628 5.58096 1.11628 7C1.11628 8.41903 1.11746 9.42716 1.22029 10.1919C1.32095 10.9407 1.50973 11.372 1.82467 11.687C2.13962 12.0019 2.57098 12.1907 3.3197 12.2914C4.08447 12.3942 5.0926 12.3954 6.51163 12.3954H9.48837C10.9074 12.3954 11.9155 12.3942 12.6803 12.2914C13.429 12.1907 13.8604 12.0019 14.1753 11.687C14.4903 11.372 14.6791 10.9407 14.7797 10.1919C14.8825 9.42716 14.8837 8.41903 14.8837 7C14.8837 5.58096 14.8825 4.57283 14.7797 3.80806C14.6791 3.05934 14.4903 2.62797 14.1753 2.31302C13.8604 1.99807 13.429 1.8093 12.6803 1.70863C11.9155 1.60581 10.9074 1.60463 9.48837 1.60463H6.51163C5.0926 1.60463 4.08448 1.60581 3.3197 1.70863ZM3.10611 3.66593C3.30345 3.42912 3.65539 3.39713 3.8922 3.59446L5.49882 4.93332C6.19311 5.5119 6.67515 5.9123 7.08211 6.17404C7.47605 6.42741 7.7432 6.51246 8 6.51246C8.2568 6.51246 8.52395 6.42741 8.91789 6.17404C9.32485 5.9123 9.80689 5.5119 10.5012 4.93332L12.1078 3.59446C12.3446 3.39713 12.6966 3.42912 12.8939 3.66593C13.0912 3.90273 13.0592 4.25468 12.8224 4.45202L11.1878 5.81419C10.5282 6.36389 9.99359 6.80943 9.52173 7.11291C9.0302 7.42904 8.5515 7.62875 8 7.62875C7.4485 7.62875 6.9698 7.42904 6.47827 7.11291C6.00641 6.80943 5.47179 6.36389 4.81218 5.81419L3.17757 4.45202C2.94077 4.25468 2.90877 3.90273 3.10611 3.66593Z" fill="${color}"/>
|
|
7
|
+
</svg>`;
|