@meetelise/chat 1.20.32 → 1.20.33
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/package.json +1 -1
- package/public/dist/index.js +665 -583
- package/src/WebComponent/Launcher.ts +8 -6
- package/src/WebComponent/Scheduler/tour-scheduler.ts +335 -331
- package/src/WebComponent/actions/InputStyles.ts +14 -8
- package/src/WebComponent/actions/action-confirm-button.ts +6 -7
- package/src/WebComponent/actions/call-us-window.ts +40 -17
- package/src/WebComponent/actions/details-window.ts +36 -3
- package/src/WebComponent/actions/email-us-window.ts +54 -47
- package/src/WebComponent/actions/text-us-window.ts +95 -65
- package/src/WebComponent/launcherStyles.ts +11 -1
- package/src/WebComponent/me-chat.ts +6 -5
- package/src/svgIcons.ts +4 -0
|
@@ -2,27 +2,33 @@ import { css } from "lit";
|
|
|
2
2
|
|
|
3
3
|
export const InputStyles = css`
|
|
4
4
|
.webchat-input {
|
|
5
|
-
border: 1px solid #83818e;
|
|
6
5
|
outline: none;
|
|
7
6
|
color: #202020;
|
|
8
7
|
font-weight: 400;
|
|
9
|
-
font-size:
|
|
10
|
-
line-height:
|
|
8
|
+
font-size: 14px;
|
|
9
|
+
line-height: 14px;
|
|
11
10
|
font-family: "Poppins";
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
|
|
12
|
+
background: #ffffff;
|
|
13
|
+
border-radius: 20px;
|
|
14
|
+
border: none;
|
|
15
|
+
padding: 0px 20px;
|
|
16
|
+
border: 1px solid #ffffff;
|
|
17
|
+
}
|
|
18
|
+
.webchat-textarea {
|
|
19
|
+
padding: 20px 20px;
|
|
14
20
|
}
|
|
15
21
|
|
|
16
22
|
.webchat-input:active {
|
|
17
|
-
border: 1px solid #
|
|
23
|
+
border: 1px solid #000000;
|
|
18
24
|
}
|
|
19
25
|
|
|
20
26
|
.webchat-input:focus-within {
|
|
21
|
-
border: 1px solid #
|
|
27
|
+
border: 1px solid #000000;
|
|
22
28
|
}
|
|
23
29
|
|
|
24
30
|
.webchat-input::placeholder {
|
|
25
|
-
|
|
31
|
+
opacity: 0.5;
|
|
26
32
|
font-family: "Poppins";
|
|
27
33
|
font-size: 16px;
|
|
28
34
|
}
|
|
@@ -13,17 +13,16 @@ export class ActionConfirmButton extends LitElement {
|
|
|
13
13
|
background: #1e1e1e;
|
|
14
14
|
border: 2px solid #ffffff;
|
|
15
15
|
box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.5);
|
|
16
|
-
border-radius:
|
|
17
|
-
|
|
16
|
+
border-radius: 20px;
|
|
17
|
+
|
|
18
18
|
font-family: "Poppins";
|
|
19
19
|
font-style: normal;
|
|
20
|
-
font-weight:
|
|
20
|
+
font-weight: 400;
|
|
21
21
|
font-size: 14px;
|
|
22
22
|
line-height: 22px;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
padding
|
|
26
|
-
padding-bottom: 12px;
|
|
23
|
+
|
|
24
|
+
color: #ffffff;
|
|
25
|
+
padding: 5px 15px;
|
|
27
26
|
cursor: pointer;
|
|
28
27
|
}
|
|
29
28
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { css, html, LitElement, TemplateResult } from "lit";
|
|
2
2
|
import { customElement, property } from "lit/decorators.js";
|
|
3
|
+
import { SimplePhoneIcon } from "../../svgIcons";
|
|
3
4
|
|
|
4
5
|
import { getOfficeHourText } from "../OfficeHours";
|
|
5
6
|
|
|
@@ -13,22 +14,35 @@ export class CallUsWindow extends LitElement {
|
|
|
13
14
|
}
|
|
14
15
|
|
|
15
16
|
.call-us-window__call-us-text {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
font-
|
|
19
|
-
font-size:
|
|
17
|
+
font-family: "Helvetica";
|
|
18
|
+
font-style: normal;
|
|
19
|
+
font-weight: 700;
|
|
20
|
+
font-size: 16px;
|
|
20
21
|
line-height: 24px;
|
|
22
|
+
color: #202020;
|
|
21
23
|
}
|
|
22
24
|
|
|
23
|
-
.call-us-
|
|
25
|
+
.call-us-window__phone-redirect {
|
|
26
|
+
display: flex;
|
|
27
|
+
justify-content: flex-start;
|
|
28
|
+
align-items: center;
|
|
29
|
+
margin-bottom: 28px;
|
|
30
|
+
gap: 5px;
|
|
31
|
+
}
|
|
32
|
+
.call-us-window__phone-redirect > a {
|
|
24
33
|
color: unset;
|
|
25
|
-
text-decoration:
|
|
34
|
+
text-decoration: underline;
|
|
26
35
|
}
|
|
27
36
|
|
|
28
|
-
.call-us-window__office-hours-header
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
37
|
+
.call-us-window__office-hours-header,
|
|
38
|
+
.call-us-window__day-of-week,
|
|
39
|
+
.call-us-window__day-of-week-wrapper {
|
|
40
|
+
font-family: "Helvetica";
|
|
41
|
+
font-style: normal;
|
|
42
|
+
font-weight: 400;
|
|
43
|
+
font-size: 14px;
|
|
44
|
+
line-height: 22px;
|
|
45
|
+
color: #202020;
|
|
32
46
|
}
|
|
33
47
|
|
|
34
48
|
.call-us-window__day-of-week {
|
|
@@ -39,8 +53,7 @@ export class CallUsWindow extends LitElement {
|
|
|
39
53
|
.call-us-window__day-of-week-wrapper {
|
|
40
54
|
display: flex;
|
|
41
55
|
align-items: center;
|
|
42
|
-
margin-bottom:
|
|
43
|
-
font-size: 12px;
|
|
56
|
+
margin-bottom: 5px;
|
|
44
57
|
}
|
|
45
58
|
|
|
46
59
|
.call-us-window__open-times {
|
|
@@ -57,7 +70,9 @@ export class CallUsWindow extends LitElement {
|
|
|
57
70
|
@property({ attribute: false })
|
|
58
71
|
buildingId = 0;
|
|
59
72
|
@property({ attribute: true })
|
|
60
|
-
chatCallUsHeader = "
|
|
73
|
+
chatCallUsHeader = "";
|
|
74
|
+
@property({ attribute: true })
|
|
75
|
+
hasTextUsEnabled = "";
|
|
61
76
|
|
|
62
77
|
firstUpdated = async (): Promise<void> => {
|
|
63
78
|
if (!this.buildingId) {
|
|
@@ -90,15 +105,17 @@ export class CallUsWindow extends LitElement {
|
|
|
90
105
|
render = (): TemplateResult => {
|
|
91
106
|
return html`
|
|
92
107
|
<details-window
|
|
93
|
-
height
|
|
108
|
+
height=${this.hasTextUsEnabled ? "600px" : "443px"}
|
|
94
109
|
headerText="${this.chatCallUsHeader}"
|
|
95
110
|
.onCloseClick=${this.onCloseClicked}
|
|
111
|
+
useGradientDesign="true"
|
|
96
112
|
>
|
|
97
113
|
<div class="call-us-window__content-wrapper">
|
|
98
114
|
<div class="call-us-window__call-us-text">
|
|
99
|
-
Contact our leasing team
|
|
100
|
-
|
|
101
|
-
|
|
115
|
+
Contact our leasing team
|
|
116
|
+
</div>
|
|
117
|
+
<div class="call-us-window__phone-redirect">
|
|
118
|
+
${SimplePhoneIcon} ${this.getCallLink(this.phoneNumber)}
|
|
102
119
|
</div>
|
|
103
120
|
<div class="call-us-window__office-hours-wrapper">
|
|
104
121
|
<div class="call-us-window__office-hours-header">Office hours</div>
|
|
@@ -122,6 +139,12 @@ export class CallUsWindow extends LitElement {
|
|
|
122
139
|
`;
|
|
123
140
|
})}
|
|
124
141
|
</div>
|
|
142
|
+
${this.hasTextUsEnabled
|
|
143
|
+
? html` <text-us-window
|
|
144
|
+
.buildingId=${this.buildingId}
|
|
145
|
+
inPopup=${!this.hasTextUsEnabled}
|
|
146
|
+
></text-us-window>`
|
|
147
|
+
: ""}
|
|
125
148
|
</details-window>
|
|
126
149
|
`;
|
|
127
150
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { css, html, LitElement, TemplateResult } from "lit";
|
|
2
2
|
import { customElement, property, state } from "lit/decorators.js";
|
|
3
|
+
import { classMap } from "lit/directives/class-map.js";
|
|
3
4
|
import { styleMap } from "lit/directives/style-map.js";
|
|
4
5
|
import { isMobile } from "../../utils";
|
|
5
6
|
|
|
@@ -16,13 +17,39 @@ export class DetailsWindow extends LitElement {
|
|
|
16
17
|
border-radius: 10px 0px 0px 10px;
|
|
17
18
|
}
|
|
18
19
|
|
|
20
|
+
.gradient-window-wrapper {
|
|
21
|
+
background: rgba(0, 0, 0 0.75);
|
|
22
|
+
border-width: 3px 0px 3px 3px;
|
|
23
|
+
border-style: solid;
|
|
24
|
+
border-color: #ffffff;
|
|
25
|
+
box-shadow: 0px 0px 14px 5px rgba(0, 0, 0, 0.25);
|
|
26
|
+
border-radius: 10px 0px 0px 10px;
|
|
27
|
+
padding: 16px;
|
|
28
|
+
display: block;
|
|
29
|
+
background: linear-gradient(
|
|
30
|
+
154.34deg,
|
|
31
|
+
rgba(255, 255, 255, 1) 0.55%,
|
|
32
|
+
rgba(0, 0, 0, 1) 160.1%
|
|
33
|
+
);
|
|
34
|
+
}
|
|
19
35
|
.details-window-header {
|
|
20
36
|
display: flex;
|
|
21
37
|
justify-content: space-between;
|
|
38
|
+
}
|
|
39
|
+
.header-text {
|
|
22
40
|
font-weight: 700;
|
|
23
41
|
font-size: 14px;
|
|
24
42
|
line-height: 22px;
|
|
25
|
-
|
|
43
|
+
|
|
44
|
+
font-family: "Helvetica";
|
|
45
|
+
font-style: normal;
|
|
46
|
+
font-weight: 700;
|
|
47
|
+
font-size: 16px;
|
|
48
|
+
line-height: 24px;
|
|
49
|
+
|
|
50
|
+
color: #202020;
|
|
51
|
+
margin-top: 20px;
|
|
52
|
+
margin-bottom: 14px;
|
|
26
53
|
}
|
|
27
54
|
|
|
28
55
|
@media screen and (max-width: 767px) {
|
|
@@ -49,6 +76,9 @@ export class DetailsWindow extends LitElement {
|
|
|
49
76
|
@state()
|
|
50
77
|
isMobileSized = false;
|
|
51
78
|
|
|
79
|
+
@property({ attribute: true })
|
|
80
|
+
useGradientDesign = false;
|
|
81
|
+
|
|
52
82
|
async firstUpdated(): Promise<void> {
|
|
53
83
|
// Give the browser a chance to paint
|
|
54
84
|
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
@@ -61,14 +91,17 @@ export class DetailsWindow extends LitElement {
|
|
|
61
91
|
render(): TemplateResult {
|
|
62
92
|
return html`
|
|
63
93
|
<div
|
|
64
|
-
class
|
|
94
|
+
class=${classMap({
|
|
95
|
+
["gradient-window-wrapper"]: this.useGradientDesign,
|
|
96
|
+
["details-window-wrapper"]: !this.useGradientDesign,
|
|
97
|
+
})}
|
|
65
98
|
style=${styleMap({
|
|
66
99
|
height: this.height,
|
|
67
100
|
width: this.isMobileSized ? "-webkit-fill-available" : this.width,
|
|
68
101
|
})}
|
|
69
102
|
>
|
|
70
103
|
<div class="details-window-header">
|
|
71
|
-
<div>${this.headerText}</div>
|
|
104
|
+
<div class="header-text">${this.headerText}</div>
|
|
72
105
|
${this.onCloseClick
|
|
73
106
|
? html`<div @click=${this.onCloseClick}>
|
|
74
107
|
<svg
|
|
@@ -16,6 +16,13 @@ import axios from "axios";
|
|
|
16
16
|
export class EmailUsWindow extends LitElement {
|
|
17
17
|
static styles = [
|
|
18
18
|
css`
|
|
19
|
+
.email-us__name-input,
|
|
20
|
+
.email-us__contact_input,
|
|
21
|
+
.email-us_message-input {
|
|
22
|
+
white-space: nowrap;
|
|
23
|
+
overflow: hidden;
|
|
24
|
+
text-overflow: ellipsis;
|
|
25
|
+
}
|
|
19
26
|
.email-us__name-input {
|
|
20
27
|
width: 134px;
|
|
21
28
|
height: 49px;
|
|
@@ -26,8 +33,8 @@ export class EmailUsWindow extends LitElement {
|
|
|
26
33
|
}
|
|
27
34
|
|
|
28
35
|
.email-us__horizontal-spacer {
|
|
29
|
-
margin-left:
|
|
30
|
-
margin-right:
|
|
36
|
+
margin-left: 6px;
|
|
37
|
+
margin-right: 6px;
|
|
31
38
|
}
|
|
32
39
|
|
|
33
40
|
.email-us__contact-input {
|
|
@@ -40,6 +47,11 @@ export class EmailUsWindow extends LitElement {
|
|
|
40
47
|
margin-bottom: 15px;
|
|
41
48
|
}
|
|
42
49
|
|
|
50
|
+
.action-bttn-container {
|
|
51
|
+
display: flex;
|
|
52
|
+
justify-content: flex-end;
|
|
53
|
+
}
|
|
54
|
+
|
|
43
55
|
.email-us__message-input {
|
|
44
56
|
resize: none;
|
|
45
57
|
width: -webkit-fill-available;
|
|
@@ -47,19 +59,6 @@ export class EmailUsWindow extends LitElement {
|
|
|
47
59
|
padding: 8px;
|
|
48
60
|
}
|
|
49
61
|
|
|
50
|
-
.email-us__legal-terms {
|
|
51
|
-
color: #202020;
|
|
52
|
-
font-family: "Poppins";
|
|
53
|
-
font-style: normal;
|
|
54
|
-
font-weight: 400;
|
|
55
|
-
font-size: 12px;
|
|
56
|
-
line-height: 22px;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
.email-us__legal-term-action {
|
|
60
|
-
color: #202020;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
62
|
.email-us__submitted-info {
|
|
64
63
|
font-size: 18px;
|
|
65
64
|
line-height: 24px;
|
|
@@ -67,16 +66,24 @@ export class EmailUsWindow extends LitElement {
|
|
|
67
66
|
}
|
|
68
67
|
|
|
69
68
|
.email-us__error-text {
|
|
70
|
-
|
|
71
|
-
font-family: "
|
|
72
|
-
font-
|
|
73
|
-
|
|
74
|
-
|
|
69
|
+
margin-top: 4px;
|
|
70
|
+
font-family: "Helvetica";
|
|
71
|
+
font-style: normal;
|
|
72
|
+
font-weight: 400;
|
|
73
|
+
font-size: 12px;
|
|
74
|
+
line-height: 14px;
|
|
75
|
+
|
|
76
|
+
color: rgb(235, 64, 52);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.email-us__center_icon {
|
|
80
|
+
display: flex;
|
|
81
|
+
justify-content: center;
|
|
75
82
|
}
|
|
76
83
|
|
|
77
84
|
@media screen and (max-width: 767px) {
|
|
78
85
|
.email-us__name-input {
|
|
79
|
-
width:
|
|
86
|
+
width: 50%;
|
|
80
87
|
}
|
|
81
88
|
}
|
|
82
89
|
`,
|
|
@@ -257,23 +264,26 @@ export class EmailUsWindow extends LitElement {
|
|
|
257
264
|
if (this.hasSubmittedForm) {
|
|
258
265
|
return html`
|
|
259
266
|
<details-window
|
|
260
|
-
headerText="
|
|
267
|
+
headerText=""
|
|
268
|
+
useGradientDesign="true"
|
|
261
269
|
.onCloseClick=${this.onCloseClicked}
|
|
262
270
|
>
|
|
263
271
|
<div class="email-us-wrapper">
|
|
264
272
|
<div class="email-us__vertical-spacer"></div>
|
|
265
|
-
<
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
273
|
+
<div class="email-us__center_icon">
|
|
274
|
+
<svg
|
|
275
|
+
width="22"
|
|
276
|
+
height="18"
|
|
277
|
+
viewBox="0 0 22 18"
|
|
278
|
+
fill="none"
|
|
279
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
280
|
+
>
|
|
281
|
+
<path
|
|
282
|
+
d="M22 17.007C21.9982 17.2696 21.8931 17.521 21.7075 17.7068C21.5219 17.8926 21.2706 17.9979 21.008 18H2.992C2.72881 17.9997 2.4765 17.895 2.29049 17.7088C2.10448 17.5226 2 17.2702 2 17.007V16H20V4.3L12 11.5L2 2.5V1C2 0.734784 2.10536 0.48043 2.29289 0.292893C2.48043 0.105357 2.73478 0 3 0H21C21.2652 0 21.5196 0.105357 21.7071 0.292893C21.8946 0.48043 22 0.734784 22 1V17.007ZM4.434 2L12 8.81L19.566 2H4.434ZM0 12H8V14H0V12ZM0 7H5V9H0V7Z"
|
|
283
|
+
fill="#202020"
|
|
284
|
+
/>
|
|
285
|
+
</svg>
|
|
286
|
+
</div>
|
|
277
287
|
<div class="email-us__vertical-spacer"></div>
|
|
278
288
|
<div class="email-us__submitted-info">
|
|
279
289
|
Thank you for your message. A member of our leasing team will
|
|
@@ -286,9 +296,10 @@ export class EmailUsWindow extends LitElement {
|
|
|
286
296
|
|
|
287
297
|
return html`
|
|
288
298
|
<details-window
|
|
289
|
-
headerText="Email
|
|
299
|
+
headerText="Email our leasing team"
|
|
290
300
|
.onCloseClick=${this.onCloseClicked}
|
|
291
301
|
height="${this.windowHeight}px"
|
|
302
|
+
useGradientDesign="true"
|
|
292
303
|
>
|
|
293
304
|
<div class="email-us-wrapper">
|
|
294
305
|
<div class="email-us__name-wrapper">
|
|
@@ -366,6 +377,7 @@ export class EmailUsWindow extends LitElement {
|
|
|
366
377
|
class=${classMap({
|
|
367
378
|
["email-us__message-input"]: true,
|
|
368
379
|
["webchat-input"]: true,
|
|
380
|
+
["webchat-textarea"]: true,
|
|
369
381
|
})}
|
|
370
382
|
@keyup=${this.onChangeMessage}
|
|
371
383
|
></textarea>
|
|
@@ -373,24 +385,19 @@ export class EmailUsWindow extends LitElement {
|
|
|
373
385
|
? html` <div class="email-us__error-text">Include a message</div> `
|
|
374
386
|
: ""}
|
|
375
387
|
<div class="email-us__vertical-spacer"></div>
|
|
376
|
-
<action-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
388
|
+
<div class="action-bttn-container">
|
|
389
|
+
<action-confirm-button
|
|
390
|
+
.onClick=${this.onClick}
|
|
391
|
+
.isLoading=${this.isSubmitting}
|
|
392
|
+
text="SEND"
|
|
393
|
+
></action-confirm-button>
|
|
394
|
+
</div>
|
|
381
395
|
${this.hasSubmissionError
|
|
382
396
|
? html`
|
|
383
397
|
<div class="email-us__error-text">Error submitting message</div>
|
|
384
398
|
`
|
|
385
399
|
: ""}
|
|
386
400
|
<div class="email-us__vertical-spacer"></div>
|
|
387
|
-
<div class="email-us__legal-terms">
|
|
388
|
-
<a
|
|
389
|
-
class="email-us__legal-term-action"
|
|
390
|
-
href="${this.privatePolicyUrl}"
|
|
391
|
-
>Privacy Policy</a
|
|
392
|
-
>
|
|
393
|
-
</div>
|
|
394
401
|
</div>
|
|
395
402
|
</details-window>
|
|
396
403
|
`;
|
|
@@ -22,16 +22,32 @@ export class TextUsWindow extends LitElement {
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
.text-us-window__description {
|
|
25
|
-
font-
|
|
25
|
+
font-family: "Helvetica";
|
|
26
|
+
font-style: normal;
|
|
27
|
+
font-weight: 700;
|
|
28
|
+
font-size: 16px;
|
|
26
29
|
line-height: 24px;
|
|
30
|
+
color: #202020;
|
|
31
|
+
|
|
27
32
|
margin-top: 32px;
|
|
28
33
|
}
|
|
29
34
|
|
|
35
|
+
.text-us-window__input-container {
|
|
36
|
+
width: -webkit-fill-available;
|
|
37
|
+
height: 49px;
|
|
38
|
+
position: relative;
|
|
39
|
+
}
|
|
40
|
+
|
|
30
41
|
.text-us-window__phone-input {
|
|
31
42
|
width: -webkit-fill-available;
|
|
32
43
|
height: 49px;
|
|
33
44
|
}
|
|
34
45
|
|
|
46
|
+
.text-us-window__submit-text {
|
|
47
|
+
position: absolute;
|
|
48
|
+
top: 6px;
|
|
49
|
+
right: 6px;
|
|
50
|
+
}
|
|
35
51
|
.text-us-window__vertical-spacer {
|
|
36
52
|
height: 20px;
|
|
37
53
|
}
|
|
@@ -59,6 +75,8 @@ export class TextUsWindow extends LitElement {
|
|
|
59
75
|
buildingSlug = "";
|
|
60
76
|
@property({ attribute: true })
|
|
61
77
|
orgSlug = "";
|
|
78
|
+
@property({ attribute: true })
|
|
79
|
+
inPopup = false;
|
|
62
80
|
|
|
63
81
|
phoneNumberInputRef: Ref<HTMLInputElement> = createRef();
|
|
64
82
|
|
|
@@ -122,84 +140,96 @@ export class TextUsWindow extends LitElement {
|
|
|
122
140
|
}
|
|
123
141
|
};
|
|
124
142
|
|
|
143
|
+
renderTextUs = (): TemplateResult => {
|
|
144
|
+
return html` <div class="text-us-wrapper">
|
|
145
|
+
<div class="text-us-window__description">Send us a text</div>
|
|
146
|
+
<div class="text-us-window__vertical-spacer"></div>
|
|
147
|
+
<div class="text-us-window__input-container">
|
|
148
|
+
<input
|
|
149
|
+
${ref(this.phoneNumberInputRef)}
|
|
150
|
+
maxlength="14"
|
|
151
|
+
type="text"
|
|
152
|
+
placeholder="Phone number"
|
|
153
|
+
inputmode="tel"
|
|
154
|
+
class=${classMap({
|
|
155
|
+
["webchat-input"]: true,
|
|
156
|
+
["text-us-window__phone-input"]: true,
|
|
157
|
+
})}
|
|
158
|
+
.value=${this.phoneNumber}
|
|
159
|
+
@keydown=${this.enforceFormat}
|
|
160
|
+
@keyup=${this.onChangePhoneNumber}
|
|
161
|
+
/>
|
|
162
|
+
<div class="text-us-window__submit-text">
|
|
163
|
+
<action-confirm-button
|
|
164
|
+
.onClick=${this.onClick}
|
|
165
|
+
.isLoading=${this.isSubmitting}
|
|
166
|
+
text="SEND"
|
|
167
|
+
></action-confirm-button>
|
|
168
|
+
</div>
|
|
169
|
+
</div>
|
|
170
|
+
${this.hasPhoneNumberError
|
|
171
|
+
? html`
|
|
172
|
+
<div class="text-us-window__error">Enter a valid phone number</div>
|
|
173
|
+
`
|
|
174
|
+
: ""}
|
|
175
|
+
|
|
176
|
+
<div class="text-us-window__vertical-spacer"></div>
|
|
177
|
+
<div class="text-us-window__subtext">
|
|
178
|
+
By entering your number, you consent to be contacted by our AI Leasing
|
|
179
|
+
Assistant. Your consent to this process is not a requirement for leasing
|
|
180
|
+
at our property. Message and data rates may apply.
|
|
181
|
+
</div>
|
|
182
|
+
</div>`;
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
renderSubmitted = (): TemplateResult => {
|
|
186
|
+
return html`
|
|
187
|
+
<div class="text-us-wrapper">
|
|
188
|
+
<div class="text-us-window__vertical-spacer"></div>
|
|
189
|
+
<svg
|
|
190
|
+
width="20"
|
|
191
|
+
height="20"
|
|
192
|
+
viewBox="0 0 20 20"
|
|
193
|
+
fill="none"
|
|
194
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
195
|
+
>
|
|
196
|
+
<path
|
|
197
|
+
d="M4.455 16L0 19.5V1C0 0.734784 0.105357 0.48043 0.292893 0.292893C0.48043 0.105357 0.734784 0 1 0H19C19.2652 0 19.5196 0.105357 19.7071 0.292893C19.8946 0.48043 20 0.734784 20 1V15C20 15.2652 19.8946 15.5196 19.7071 15.7071C19.5196 15.8946 19.2652 16 19 16H4.455ZM2 15.385L3.763 14H18V2H2V15.385ZM10 7V4L14 8L10 12V9H6V7H10Z"
|
|
198
|
+
fill="#202020"
|
|
199
|
+
/>
|
|
200
|
+
</svg>
|
|
201
|
+
<div class="text-us-window__description">
|
|
202
|
+
Thank you!<br />Look for a text message from our team. We can answer
|
|
203
|
+
questions and help you book a tour through text.
|
|
204
|
+
</div>
|
|
205
|
+
<div class="text-us-window__vertical-spacer"></div>
|
|
206
|
+
<div class="text-us-window__subtext">
|
|
207
|
+
Opt out at anytime by texting “Stop”
|
|
208
|
+
</div>
|
|
209
|
+
</div>
|
|
210
|
+
`;
|
|
211
|
+
};
|
|
212
|
+
|
|
125
213
|
render = (): TemplateResult => {
|
|
126
214
|
installDetailsWindow();
|
|
127
215
|
installActionConfirmButton();
|
|
216
|
+
if (this.inPopup) {
|
|
217
|
+
if (this.hasSubmittedForm) return this.renderSubmitted();
|
|
218
|
+
else return this.renderTextUs();
|
|
219
|
+
}
|
|
128
220
|
if (this.hasSubmittedForm) {
|
|
129
221
|
return html`
|
|
130
222
|
<details-window
|
|
131
223
|
headerText="Text us"
|
|
132
224
|
.onCloseClick=${this.onCloseClicked}
|
|
133
225
|
>
|
|
134
|
-
|
|
135
|
-
<div class="text-us-window__vertical-spacer"></div>
|
|
136
|
-
<svg
|
|
137
|
-
width="20"
|
|
138
|
-
height="20"
|
|
139
|
-
viewBox="0 0 20 20"
|
|
140
|
-
fill="none"
|
|
141
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
142
|
-
>
|
|
143
|
-
<path
|
|
144
|
-
d="M4.455 16L0 19.5V1C0 0.734784 0.105357 0.48043 0.292893 0.292893C0.48043 0.105357 0.734784 0 1 0H19C19.2652 0 19.5196 0.105357 19.7071 0.292893C19.8946 0.48043 20 0.734784 20 1V15C20 15.2652 19.8946 15.5196 19.7071 15.7071C19.5196 15.8946 19.2652 16 19 16H4.455ZM2 15.385L3.763 14H18V2H2V15.385ZM10 7V4L14 8L10 12V9H6V7H10Z"
|
|
145
|
-
fill="#202020"
|
|
146
|
-
/>
|
|
147
|
-
</svg>
|
|
148
|
-
<div class="text-us-window__description">
|
|
149
|
-
Thank you!<br />Look for a text message from our team. We can
|
|
150
|
-
answer questions and help you book a tour through text.
|
|
151
|
-
</div>
|
|
152
|
-
<div class="text-us-window__vertical-spacer"></div>
|
|
153
|
-
<div class="text-us-window__subtext">
|
|
154
|
-
Opt out at anytime by texting “Stop”
|
|
155
|
-
</div>
|
|
156
|
-
</div>
|
|
226
|
+
${this.renderSubmitted}
|
|
157
227
|
</details-window>
|
|
158
228
|
`;
|
|
159
229
|
}
|
|
160
|
-
|
|
161
230
|
return html`
|
|
162
231
|
<details-window headerText="Text us" .onCloseClick=${this.onCloseClicked}>
|
|
163
|
-
|
|
164
|
-
<div class="text-us-window__description">
|
|
165
|
-
Have questions? <br />
|
|
166
|
-
Our team can answer via <br />text message.
|
|
167
|
-
</div>
|
|
168
|
-
<div class="text-us-window__vertical-spacer"></div>
|
|
169
|
-
<input
|
|
170
|
-
${ref(this.phoneNumberInputRef)}
|
|
171
|
-
maxlength="14"
|
|
172
|
-
type="text"
|
|
173
|
-
placeholder="Phone number"
|
|
174
|
-
inputmode="tel"
|
|
175
|
-
class=${classMap({
|
|
176
|
-
["webchat-input"]: true,
|
|
177
|
-
["text-us-window__phone-input"]: true,
|
|
178
|
-
})}
|
|
179
|
-
.value=${this.phoneNumber}
|
|
180
|
-
@keydown=${this.enforceFormat}
|
|
181
|
-
@keyup=${this.onChangePhoneNumber}
|
|
182
|
-
/>
|
|
183
|
-
${this.hasPhoneNumberError
|
|
184
|
-
? html`
|
|
185
|
-
<div class="text-us-window__error">
|
|
186
|
-
Enter a valid phone number
|
|
187
|
-
</div>
|
|
188
|
-
`
|
|
189
|
-
: ""}
|
|
190
|
-
<div class="text-us-window__vertical-spacer"></div>
|
|
191
|
-
<action-confirm-button
|
|
192
|
-
.onClick=${this.onClick}
|
|
193
|
-
.isLoading=${this.isSubmitting}
|
|
194
|
-
text="Send"
|
|
195
|
-
></action-confirm-button>
|
|
196
|
-
<div class="text-us-window__vertical-spacer"></div>
|
|
197
|
-
<div class="text-us-window__subtext">
|
|
198
|
-
By entering your number, you consent to be contacted by our AI
|
|
199
|
-
Leasing Assistant. Your consent to this process is not a requirement
|
|
200
|
-
for leasing at our property. Message and data rates may apply.
|
|
201
|
-
</div>
|
|
202
|
-
</div>
|
|
232
|
+
${this.renderTextUs}
|
|
203
233
|
</details-window>
|
|
204
234
|
`;
|
|
205
235
|
};
|
|
@@ -310,7 +310,7 @@ export const launcherStyles = css`
|
|
|
310
310
|
}
|
|
311
311
|
.inner-pill-wrapper {
|
|
312
312
|
background: #353535;
|
|
313
|
-
border-width:
|
|
313
|
+
border-width: 2px 0px 2px 2px;
|
|
314
314
|
border-style: solid;
|
|
315
315
|
border-color: #ffffff;
|
|
316
316
|
box-shadow: 0px 34px 34px 14px rgba(0, 0, 0, 0.35);
|
|
@@ -348,4 +348,14 @@ export const launcherStyles = css`
|
|
|
348
348
|
bottom: 0;
|
|
349
349
|
}
|
|
350
350
|
}
|
|
351
|
+
@media screen and (min-width: 1000px) {
|
|
352
|
+
.inner-pill-wrapper {
|
|
353
|
+
font-size: 24px;
|
|
354
|
+
line-height: 28px;
|
|
355
|
+
}
|
|
356
|
+
.vertical-pill-icon {
|
|
357
|
+
transform: scale(1.5);
|
|
358
|
+
width: 42px;
|
|
359
|
+
}
|
|
360
|
+
}
|
|
351
361
|
`;
|