@meetelise/chat 1.20.48 → 1.20.50

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.
@@ -1,6 +1,10 @@
1
1
  import { css } from "lit";
2
2
 
3
3
  export const launcherStyles = css`
4
+ * {
5
+ font-family: "Helvetica Neue";
6
+ font-size: 14px;
7
+ }
4
8
  :host {
5
9
  --glowBarHeight: 11.2px;
6
10
  --enterAnimationDuration: 0.5s;
@@ -16,7 +20,7 @@ export const launcherStyles = css`
16
20
  }
17
21
  }
18
22
  .launcher {
19
- font-family: Poppins;
23
+ font-family: "Helvetica Neue";
20
24
  user-select: none;
21
25
  position: fixed;
22
26
  }
@@ -113,7 +117,7 @@ export const launcherStyles = css`
113
117
  }
114
118
 
115
119
  .launcher__primary-action-text {
116
- font-family: "Poppins";
120
+ font-family: "Helvetica Neue";
117
121
  font-weight: 700;
118
122
  font-size: 24px;
119
123
  line-height: 22px;
@@ -199,6 +203,14 @@ export const launcherStyles = css`
199
203
  display: flex;
200
204
  align-items: center;
201
205
  }
206
+ .launcher__mobile-launcher-wrapper {
207
+ position: fixed;
208
+ right: 12px;
209
+ bottom: 0px;
210
+ z-index: 100000;
211
+ display: flex;
212
+ align-items: center;
213
+ }
202
214
 
203
215
  .launcher__mini-option {
204
216
  position: relative;
@@ -343,6 +355,308 @@ export const launcherStyles = css`
343
355
  width: 28px;
344
356
  }
345
357
 
358
+ .type-gradient__list {
359
+ width: 199px;
360
+ height: 262px;
361
+ left: 1218px;
362
+ top: 604px;
363
+
364
+ border: 1px solid #ffffff;
365
+ border-radius: 20px 0px 20px 20px;
366
+ background: #262626;
367
+ color: #fff;
368
+ display: flex;
369
+ flex-direction: column;
370
+ justify-content: flex-end;
371
+ overflow: hidden;
372
+ cursor: pointer;
373
+
374
+ box-shadow: 0px 8px 8px 4px rgba(0, 0, 0, 0.5);
375
+ }
376
+ .type-gradient__top-container {
377
+ position: relative;
378
+ width: 100%;
379
+ height: 100%;
380
+ background: #ffffff;
381
+ overflow: hidden;
382
+ }
383
+ .video-container {
384
+ position: relative;
385
+ margin-left: -48px;
386
+ }
387
+ .glowBackground {
388
+ position: absolute;
389
+ width: 100%;
390
+ height: 100%;
391
+ top: 0px;
392
+ left: 0px;
393
+ object-fit: cover;
394
+ transform: scale(1.3);
395
+ filter: brightness(80%);
396
+ }
397
+ .type-gradient__scroll-info {
398
+ padding: 18px;
399
+ display: flex;
400
+ flex-direction: column;
401
+ z-index: 99999;
402
+
403
+ margin-top: 0em;
404
+
405
+ opacity: 0.95;
406
+ }
407
+ .type-gradient__scroll-info:hover {
408
+ text-shadow: 0px 0px 5px rgba(255, 255, 255, 0.85);
409
+ }
410
+ .type-gradient__scroll-info:hover > .type-gradient__description > li {
411
+ opacity: 0.99;
412
+ }
413
+
414
+ .type-gradient__chat-container {
415
+ display: flex;
416
+ align-items: center;
417
+ gap: 8px;
418
+ margin-top: 4px;
419
+ }
420
+ .type-gradient__chat-header > .title-bold {
421
+ font-family: "Helvetica Neue";
422
+ font-style: normal;
423
+ font-size: 22px;
424
+ line-height: 28px;
425
+ color: #ffffff;
426
+ opacity: 0.95;
427
+ }
428
+ .type-gradient__chat-header {
429
+ font-family: "Helvetica Neue";
430
+ font-style: normal;
431
+ font-size: 22px;
432
+ line-height: 28px;
433
+ color: #ffffff;
434
+ font-weight: 300;
435
+ }
436
+ .type-gradient__description {
437
+ padding: 0;
438
+ margin: 0;
439
+ list-style: none;
440
+ }
441
+ .type-gradient__description > li {
442
+ font-family: "Helvetica Neue";
443
+ font-style: normal;
444
+ font-weight: 300;
445
+ font-size: 18px;
446
+ line-height: 24px;
447
+
448
+ color: #ffffff;
449
+ opacity: 0.5;
450
+ }
451
+
452
+ .type-gradient__email {
453
+ background: #000000;
454
+ border-top: 1px solid #4d4d4d;
455
+ border-bottom: 1px solid #4d4d4d;
456
+ }
457
+
458
+ .type-gradient__bottom-tab {
459
+ font-family: "Helvetica Neue";
460
+ font-style: normal;
461
+ font-weight: 400;
462
+ font-size: 16px;
463
+ line-height: 18px;
464
+ padding: 16px 20px;
465
+
466
+ color: #ffffff;
467
+ display: flex;
468
+ align-items: center;
469
+ gap: 10px;
470
+ }
471
+ .type-gradient__bottom-tab:hover {
472
+ text-shadow: 0px 0px 5px rgba(255, 255, 255, 0.85);
473
+ background: linear-gradient(265.11deg, #000000 16.43%, #3c3c3c 87.21%);
474
+ }
475
+ .type-gradient__icon {
476
+ display: flex;
477
+ justify-content: center;
478
+ align-items: center;
479
+ }
480
+ .type-gradient__icon svg {
481
+ color: #ffffff;
482
+ }
483
+
484
+ .type-hey__list {
485
+ width: 280px;
486
+ height: 300px;
487
+ margin-right: 24px;
488
+
489
+ background: linear-gradient(139.82deg, #5770f5 -33.12%, #ffffff 111.99%);
490
+
491
+ border-radius: 16px;
492
+ display: flex;
493
+ flex-direction: column;
494
+ justify-content: center;
495
+ align-items: center;
496
+ position: relative;
497
+ }
498
+ .type-hey__chat-container {
499
+ position: absolute;
500
+ bottom: -84px;
501
+ right: 24px;
502
+ cursor: pointer;
503
+ }
504
+ .type-hey__chat-container:hover {
505
+ filter: brightness(90%);
506
+ }
507
+
508
+ .type-hey__bottom-section {
509
+ background: rgba(255, 255, 255, 1);
510
+ border-radius: 16px;
511
+ display: flex;
512
+ flex-direction: column;
513
+ justify-content: center;
514
+ align-items: center;
515
+ gap: 4px;
516
+ padding: 26px 40px;
517
+ flex: 1;
518
+ }
519
+
520
+ .type-hey__email,
521
+ .type-hey__contact {
522
+ width: 170px;
523
+ height: 32px;
524
+
525
+ background: #ffffff;
526
+ mix-blend-mode: normal;
527
+ box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.03),
528
+ 0px 10px 10px rgba(0, 0, 0, 0.03);
529
+ border-radius: 4px;
530
+
531
+ display: flex;
532
+ justify-content: flex-start;
533
+ align-items: center;
534
+
535
+ padding-left: 15px;
536
+ padding-right: 15px;
537
+ gap: 12px;
538
+ font-size: 12px;
539
+
540
+ cursor: pointer;
541
+ }
542
+ .type-hey__email:hover,
543
+ .type-hey__contact:hover {
544
+ background: rgba(167, 141, 243, 0.1);
545
+ }
546
+ .type-hey__ai-topic {
547
+ background: rgba(255, 255, 255, 0.2);
548
+ border-radius: 4px 4px 4px 0px;
549
+ padding: 0px 8px;
550
+ text-align: center;
551
+ width: 73px;
552
+
553
+ margin: auto;
554
+ margin-top: 26px;
555
+ color: #ffffff;
556
+ position: relative;
557
+ }
558
+ .type-hey__ai-topic p {
559
+ font-weight: 700;
560
+ font-size: 8px;
561
+ line-height: 18px;
562
+ letter-spacing: 0.05em;
563
+ text-transform: uppercase;
564
+ }
565
+ .type-hey__ai-topic-notch {
566
+ content: "";
567
+ width: 0px;
568
+ height: 0px;
569
+ position: absolute;
570
+ border-left: 3px solid rgba(255, 255, 255, 0.2);
571
+ border-right: 3px solid transparent;
572
+ border-top: 3px solid rgba(255, 255, 255, 0.2);
573
+ border-bottom: 3px solid transparent;
574
+ left: 0px;
575
+ bottom: -6px;
576
+ }
577
+ .type-hey__icon {
578
+ display: flex;
579
+ align-items: center;
580
+ justify-content: center;
581
+ }
582
+ .type-hey__greeting {
583
+ margin: auto;
584
+ display: flex;
585
+ justify-content: center;
586
+ align-items: center;
587
+ gap: 4px;
588
+ }
589
+ .type-hey__greeting > h1 {
590
+ font-family: "Helvetica Neue";
591
+ font-style: normal;
592
+ font-weight: 500;
593
+ font-size: 20px;
594
+ line-height: 22px;
595
+
596
+ color: #ffffff;
597
+ }
598
+
599
+ .type-hey__ask-prompt {
600
+ margin: auto;
601
+ margin-top: 9px;
602
+ margin-bottom: 24px;
603
+
604
+ width: 220px;
605
+ height: 32px;
606
+
607
+ background: rgba(255, 255, 255, 0.2);
608
+ mix-blend-mode: normal;
609
+ box-shadow: 0px 14px 100px rgba(91, 69, 196, 0.1),
610
+ 0px 14px 20px rgba(91, 69, 196, 0.3);
611
+ border-radius: 4px;
612
+ cursor: pointer;
613
+ }
614
+ .type-hey__ask-prompt-inner {
615
+ width: calc(100% - 30px);
616
+ height: 100%;
617
+ box-shadow: inset 0px 10px 8px -10px rgba(156, 156, 156, 0.9),
618
+ inset 0px -10px 8px -10px rgba(156, 156, 156, 0.9);
619
+ display: flex;
620
+ justify-content: space-between;
621
+ align-items: center;
622
+ padding-left: 15px;
623
+ padding-right: 15px;
624
+ position: relative;
625
+ z-index: 10000000000000000000000000000000000000000000000000000000;
626
+ }
627
+ .type-hey__ask-start {
628
+ display: flex;
629
+ align-items: center;
630
+ gap: 8px;
631
+ }
632
+ .type-hey__ask-start > h2 {
633
+ font-family: "Helvetica Neue";
634
+ font-style: normal;
635
+ font-weight: 400;
636
+ font-size: 12px;
637
+ line-height: 18px;
638
+ color: #ffffff;
639
+ }
640
+
641
+ .type-hey__bottom-info {
642
+ margin-top: 16px;
643
+ font-family: "Helvetica Neue";
644
+ font-style: normal;
645
+ font-size: 10px;
646
+ line-height: 140%;
647
+ }
648
+
649
+ .title-bold {
650
+ font-weight: 700;
651
+ }
652
+ .heavy-blue {
653
+ font-family: "Helvetica Neue";
654
+ font-style: normal;
655
+ font-size: 10px;
656
+ line-height: 140%;
657
+ color: #5770f5;
658
+ font-weight: 700;
659
+ }
346
660
  @media screen and (max-height: 750px) {
347
661
  .launcher__window-wrapper {
348
662
  bottom: 0;
@@ -354,4 +668,110 @@ export const launcherStyles = css`
354
668
  width: 164px;
355
669
  }
356
670
  }
671
+
672
+ .scroll-container {
673
+ height: 32px;
674
+ position: relative;
675
+ overflow: hidden;
676
+ }
677
+ .scroll-container > ul {
678
+ display: flex;
679
+ flex-direction: column;
680
+ animation: move calc(3s * 4) steps(4) infinite;
681
+ list-style: none;
682
+ padding: 0;
683
+ margin-top: 26px;
684
+
685
+ -webkit-transition: 1.5s;
686
+ -moz-transition: 1.5s;
687
+ transition: 1.5s;
688
+
689
+ -webkit-transition-timing-function: linear;
690
+ -moz-transition-timing-function: linear;
691
+ transition-timing-function: linear;
692
+ }
693
+ .scroll-container > ul li {
694
+ width: 100%;
695
+ animation: liMove calc(3s) infinite;
696
+ display: flex;
697
+ align-items: center;
698
+ height: 18px;
699
+
700
+ font-family: "Helvetica Neue";
701
+ font-style: normal;
702
+ font-size: 12px;
703
+ font-weight: 700;
704
+ color: #ffffff;
705
+
706
+ -webkit-transition: 1.5s;
707
+ -moz-transition: 1.5s;
708
+ transition: 1.5s;
709
+
710
+ -webkit-transition-timing-function: linear;
711
+ -moz-transition-timing-function: linear;
712
+ transition-timing-function: linear;
713
+ }
714
+ @keyframes move {
715
+ 0% {
716
+ transform: translate(0, 0);
717
+ }
718
+ 100% {
719
+ transform: translate(
720
+ 0,
721
+ calc(4 * 18 * -1px)
722
+ ); // 18 is the height of each list item
723
+ }
724
+ }
725
+ @keyframes liMove {
726
+ 0% {
727
+ transform: translate(0, 0);
728
+ }
729
+ 80%,
730
+ 100% {
731
+ transform: translate(0, calc(18 * -1px));
732
+ }
733
+ }
734
+
735
+ .typeMobile-list {
736
+ display: flex;
737
+ justify-content: flex-end;
738
+ align-items: center;
739
+ }
740
+ .typeMobile-list > ul {
741
+ padding: 0;
742
+ list-style: none;
743
+ display: flex;
744
+ justify-content: center;
745
+ align-items: center;
746
+ gap: 8px;
747
+ }
748
+ .typeMobile-bttn {
749
+ width: 51px;
750
+ height: 51px;
751
+ background: #f3f6fc;
752
+ border: 1px solid rgba(156, 171, 209, 0.2);
753
+ box-shadow: 0px 6px 8px rgba(0, 0, 0, 0.2);
754
+ border-radius: 10px;
755
+
756
+ display: flex;
757
+ justify-content: center;
758
+ align-items: center;
759
+ }
760
+ .typeMobile-bttn > .typeMobile-inner {
761
+ width: 43px;
762
+ height: 43px;
763
+ background: linear-gradient(
764
+ 325.18deg,
765
+ #151821 33.41%,
766
+ rgba(155, 170, 208, 0.8) 117.28%
767
+ );
768
+ border: 1px solid rgba(255, 255, 255, 0.7);
769
+ box-shadow: -2px -2px 4px 1px #ffffff,
770
+ 2px 2px 4px 1px rgba(57, 83, 149, 0.2);
771
+ border-radius: 6px;
772
+
773
+ display: flex;
774
+ justify-content: center;
775
+ align-items: center;
776
+ }
357
777
  `;
@@ -14,7 +14,6 @@ import fetchCurrentParsedLeadSource from "../fetchCurrentParsedLeadSource";
14
14
  import { getTheme, Theme, ThemeIdString } from "../themes";
15
15
  import { isMobile } from "../utils";
16
16
  import { installLauncher } from "./Launcher";
17
- import { FilledTourIcon, FilledEmailIcon, ChevronIcon } from "../svgIcons";
18
17
  import parseISO from "date-fns/parseISO";
19
18
  import isPast from "date-fns/isPast";
20
19
 
@@ -24,6 +23,11 @@ import { StyleInfo } from "lit/directives/style-map";
24
23
  import addMinutes from "date-fns/addMinutes";
25
24
  import formatISO from "date-fns/formatISO";
26
25
  import fetchLeadSources from "../fetchLeadSources";
26
+ import {
27
+ ChevronIcon,
28
+ PhoneWhiteStrokeIcon,
29
+ WhiteStrokeTourIcon,
30
+ } from "../svgIcons";
27
31
 
28
32
  export interface Options {
29
33
  building: string;
@@ -48,6 +52,16 @@ export class MEChat extends LitElement {
48
52
  width: 100%;
49
53
  height: 100px;
50
54
  }
55
+
56
+ .hideTab {
57
+ display: none;
58
+ }
59
+ .showTab {
60
+ display: flex;
61
+ align-items: center;
62
+ justify-content: flex-start;
63
+ gap: 32px;
64
+ }
51
65
  #contactTabPopup {
52
66
  position: fixed;
53
67
  width: 300px;
@@ -55,33 +69,24 @@ export class MEChat extends LitElement {
55
69
  padding-right: 20px;
56
70
  padding-bottom: 24px;
57
71
  z-index: 1000000000;
58
- background: #353535;
72
+ background: #000000;
59
73
  border-radius: 10px 0px 0px 0px;
60
74
  border-width: 1px 0px 0px 1px;
61
75
  border-style: solid;
62
76
  border-color: #ffffff;
63
77
  }
64
- .hideTab {
65
- display: none;
66
- }
67
- .showTab {
68
- display: flex;
69
- align-items: center;
70
- justify-content: space-between;
71
- }
72
78
  .actionTabBttn {
73
- font-family: "Poppins";
79
+ font-family: "Helvetica Neue";
74
80
  font-style: normal;
75
- font-weight: 600;
76
81
  font-size: 14px;
77
- line-height: 22px;
82
+ line-height: 18px;
78
83
  color: #ffffff;
79
84
  border: none;
80
85
  background: none;
81
86
  padding: 0;
82
87
  display: flex;
83
88
  align-items: center;
84
- gap: 5px;
89
+ gap: 8px;
85
90
  }
86
91
  .actionTabBttn:hover {
87
92
  cursor: pointer;
@@ -108,7 +113,7 @@ export class MEChat extends LitElement {
108
113
  @property({ type: String })
109
114
  private orgSlug = "";
110
115
  @property({ type: String })
111
- private themeId: string | undefined;
116
+ private themeId: string | undefined = "Glass";
112
117
  @property({ attribute: false })
113
118
  private avatarSrc?: string | null;
114
119
  @property({ type: Boolean })
@@ -306,12 +311,7 @@ export class MEChat extends LitElement {
306
311
  const shouldAutoOpen =
307
312
  !autoOpenedTimestamp ||
308
313
  (autoOpenedTimestamp && isPast(parseISO(autoOpenedTimestamp)));
309
- if (
310
- building.autoOpenChatWidget &&
311
- shouldAutoOpen &&
312
- !isMobile() &&
313
- this.buildingABTestType !== "close"
314
- ) {
314
+ if (building.autoOpenChatWidget && shouldAutoOpen && !isMobile()) {
315
315
  this.popup.show();
316
316
  this.hideLauncher = true;
317
317
  this.hasMounted = true;
@@ -379,6 +379,13 @@ export class MEChat extends LitElement {
379
379
  this.launcherRef.value?.onClickSSTOption(e);
380
380
  };
381
381
 
382
+ handleContactTabClicked = (e: MouseEvent): void => {
383
+ this.popup?.hide();
384
+ this.hideLauncher = false;
385
+
386
+ this.launcherRef.value?.onClickPhoneOption(e);
387
+ };
388
+
382
389
  // Talkjs is very limiting with changing it's design and working around it.
383
390
  // For the top header contact, we change its pos based on the current x and y
384
391
  // of the talkjs popup - so we must adjust its coords on resize and mount
@@ -391,7 +398,6 @@ export class MEChat extends LitElement {
391
398
  headerRef.style.top = `${currentHeaderCoords.top - 50}px`;
392
399
  }
393
400
  };
394
-
395
401
  connectedCallback(): void {
396
402
  super.connectedCallback();
397
403
  window.addEventListener("resize", this.adjustTopHeaderContactCoords);
@@ -409,7 +415,8 @@ export class MEChat extends LitElement {
409
415
  const hideTopContactTab =
410
416
  !this.hideLauncher ||
411
417
  this.isLoading ||
412
- this.buildingABTestType === "close";
418
+ this.buildingABTestType !== "Concept 1 (Blue/Black)" ||
419
+ this.isMobile;
413
420
  return html`
414
421
  <div>
415
422
  <div
@@ -419,16 +426,16 @@ export class MEChat extends LitElement {
419
426
  ["hideTab"]: hideTopContactTab,
420
427
  })}
421
428
  >
422
- <button class="actionTabBttn" @click=${this.handleContactClicked}>
423
- ${FilledEmailIcon}
424
- <p><span class="heavyLabel">Email</span> an agent</p>
425
- ${ChevronIcon}
426
- </button>
427
429
  <button class="actionTabBttn" @click=${this.handleTourClicked}>
428
- ${FilledTourIcon}
430
+ ${WhiteStrokeTourIcon}
429
431
  <p><span class="heavyLabel">Book</span> a tour</p>
430
432
  ${ChevronIcon}
431
433
  </button>
434
+ <button class="actionTabBttn" @click=${this.handleContactTabClicked}>
435
+ ${PhoneWhiteStrokeIcon}
436
+ <p><span class="heavyLabel">Contact</span> us</p>
437
+ ${ChevronIcon}
438
+ </button>
432
439
  </div>
433
440
  <div
434
441
  class=${classMap({
@@ -502,7 +509,6 @@ export class MEChat extends LitElement {
502
509
  }
503
510
 
504
511
  this.popup.show();
505
- this.adjustTopHeaderContactCoords();
506
512
  this.analytics?.ping("open");
507
513
  this.hideLauncher = true;
508
514
  this.hasMounted = true;
@@ -110,12 +110,11 @@ export class MESelect extends LitElement {
110
110
 
111
111
  font-size: 14px;
112
112
  line-height: 14px;
113
- font-family: "Poppins";
113
+ font-family: "Helvetica Neue";
114
114
  }
115
115
 
116
116
  #select {
117
117
  width: -webkit-fill-available;
118
- height: 49px;
119
118
  display: flex;
120
119
  align-items: center;
121
120
  justify-content: space-between;
package/src/assetUrls.ts CHANGED
@@ -2,3 +2,5 @@ export const glowBarMp4 =
2
2
  "https://eliseusercontent.meetelise.com/webchat/HorizontalBar-Shadow.mp4";
3
3
  export const glowBarWebm =
4
4
  "https://eliseusercontent.meetelise.com/webchat/HorizontalBar-Shadow.webm";
5
+ export const glowBackgroundMp4 =
6
+ "https://eliseusercontent.meetelise.com/webchat/01-EliseAI-Hero_1.mp4";
@@ -2,6 +2,10 @@ import axios from "axios";
2
2
  interface BuildingABType {
3
3
  abTestType: string;
4
4
  }
5
+ export enum abTestTypes {
6
+ "ConceptBlueBlack" = "Concept 1 (Blue/Black)",
7
+ "ConceptBlueWhite" = "Concept 2 (Blue/White)",
8
+ }
5
9
  export default async function fetchBuildingABTestType(
6
10
  buildingSlug: string
7
11
  ): Promise<BuildingABType | null> {