@meetelise/chat 1.25.0 → 1.25.2

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 (136) hide show
  1. package/coverage/lcov-report/base.css +224 -0
  2. package/coverage/lcov-report/block-navigation.js +79 -0
  3. package/coverage/lcov-report/favicon.png +0 -0
  4. package/coverage/lcov-report/index.html +111 -0
  5. package/coverage/lcov-report/index.js.html +17093 -0
  6. package/coverage/lcov-report/prettify.css +1 -0
  7. package/coverage/lcov-report/prettify.js +2 -0
  8. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  9. package/coverage/lcov-report/sorter.js +170 -0
  10. package/coverage/lcov.info +9986 -0
  11. package/dist/index.d.ts +1 -0
  12. package/package.json +1 -1
  13. package/.eslintignore +0 -2
  14. package/.eslintrc.cjs +0 -23
  15. package/.github/pull_request_template.md +0 -61
  16. package/.github/workflows/pull.yml +0 -46
  17. package/.github/workflows/release.yml +0 -23
  18. package/.husky/commit-msg +0 -2
  19. package/.husky/pre-commit +0 -4
  20. package/.idea/codeStyles/Project.xml +0 -57
  21. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  22. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  23. package/.idea/vcs.xml +0 -6
  24. package/.idea/workspace.xml +0 -67
  25. package/.prettierignore +0 -2
  26. package/.prettierrc.json +0 -1
  27. package/.vscode/settings.json +0 -13
  28. package/CONTRIBUTING.md +0 -36
  29. package/public/demo/index.html +0 -347
  30. package/public/demo/secret.html +0 -63
  31. package/src/MyPubnub.ts +0 -792
  32. package/src/WebComponent/FeeCalculator/components/collapsible-fee-section/collapsible-fee-section-styles.ts +0 -86
  33. package/src/WebComponent/FeeCalculator/components/collapsible-fee-section/collapsible-fee-section.ts +0 -94
  34. package/src/WebComponent/FeeCalculator/components/fee-item/fee-item-styles.ts +0 -47
  35. package/src/WebComponent/FeeCalculator/components/fee-item/fee-item.ts +0 -50
  36. package/src/WebComponent/FeeCalculator/components/floor-plan-selector/floor-plan-selector-styles.ts +0 -46
  37. package/src/WebComponent/FeeCalculator/components/floor-plan-selector/floor-plan-selector.ts +0 -70
  38. package/src/WebComponent/FeeCalculator/components/index.ts +0 -3
  39. package/src/WebComponent/FeeCalculator/components/promo-card/promo-card-styles.ts +0 -39
  40. package/src/WebComponent/FeeCalculator/components/promo-card/promo-card.ts +0 -39
  41. package/src/WebComponent/FeeCalculator/fee-calculator-styles.ts +0 -280
  42. package/src/WebComponent/FeeCalculator/fee-calculator.ts +0 -256
  43. package/src/WebComponent/FeeCalculator/index.ts +0 -4
  44. package/src/WebComponent/FeeCalculator/model/building-fee.ts +0 -83
  45. package/src/WebComponent/FeeCalculator/model/transaction-category.ts +0 -23
  46. package/src/WebComponent/LeadSourceClient.ts +0 -332
  47. package/src/WebComponent/MEChat.css +0 -5
  48. package/src/WebComponent/OfficeHours.ts +0 -73
  49. package/src/WebComponent/Scheduler/date-picker.ts +0 -405
  50. package/src/WebComponent/Scheduler/time-picker.ts +0 -190
  51. package/src/WebComponent/Scheduler/tour-scheduler.ts +0 -1352
  52. package/src/WebComponent/Scheduler/tour-type-option.ts +0 -112
  53. package/src/WebComponent/Scheduler/tourSchedulerStyles.ts +0 -418
  54. package/src/WebComponent/actions/InputStyles.ts +0 -57
  55. package/src/WebComponent/actions/action-confirm-button.ts +0 -125
  56. package/src/WebComponent/actions/call-us-window.ts +0 -445
  57. package/src/WebComponent/actions/collapse-expand-button.ts +0 -65
  58. package/src/WebComponent/actions/details-window.ts +0 -150
  59. package/src/WebComponent/actions/email-us-window.ts +0 -555
  60. package/src/WebComponent/actions/formatPhoneNumber.ts +0 -72
  61. package/src/WebComponent/actions/minimize-expand-button.ts +0 -93
  62. package/src/WebComponent/chat-additional-actions.ts +0 -135
  63. package/src/WebComponent/health-chat.ts +0 -270
  64. package/src/WebComponent/healthchat-styles.ts +0 -119
  65. package/src/WebComponent/icons/ApplyOutlineIcon.ts +0 -22
  66. package/src/WebComponent/icons/BookTourOutlineIcon.ts +0 -13
  67. package/src/WebComponent/icons/CalculatorOutlineIcon.ts +0 -22
  68. package/src/WebComponent/icons/ChatOutlineIcon.ts +0 -10
  69. package/src/WebComponent/icons/ChevronLeftIcon.ts +0 -7
  70. package/src/WebComponent/icons/ChevronRightIcon.ts +0 -7
  71. package/src/WebComponent/icons/ContactResidentIcon.ts +0 -9
  72. package/src/WebComponent/icons/DollarOutlineIcon.ts +0 -18
  73. package/src/WebComponent/icons/EmailOutlineIcon.ts +0 -7
  74. package/src/WebComponent/icons/HeyThereEmojiIcon.ts +0 -12
  75. package/src/WebComponent/icons/PhoneOutlineIcon.ts +0 -7
  76. package/src/WebComponent/icons/SendMessageIcon.ts +0 -17
  77. package/src/WebComponent/icons/TourSelfGuidedIcon.ts +0 -17
  78. package/src/WebComponent/icons/TourVirtuallyIcon.ts +0 -17
  79. package/src/WebComponent/icons/TourWithAgentIcon.ts +0 -17
  80. package/src/WebComponent/icons/XOutlineIcon.ts +0 -8
  81. package/src/WebComponent/index.ts +0 -2
  82. package/src/WebComponent/launcher/Launcher.ts +0 -1193
  83. package/src/WebComponent/launcher/launcherStyles.ts +0 -500
  84. package/src/WebComponent/launcher/mobile-launcher.ts +0 -159
  85. package/src/WebComponent/launcher/typeEmojiStyles.ts +0 -161
  86. package/src/WebComponent/launcher/typeMiniStyles.ts +0 -60
  87. package/src/WebComponent/launcher/typeMobileStyles.ts +0 -50
  88. package/src/WebComponent/leasing-chat-styles.ts +0 -114
  89. package/src/WebComponent/me-chat.ts +0 -1257
  90. package/src/WebComponent/me-select.ts +0 -322
  91. package/src/WebComponent/mini-loader.ts +0 -28
  92. package/src/WebComponent/pubnub-chat-styles.ts +0 -204
  93. package/src/WebComponent/pubnub-chat.ts +0 -928
  94. package/src/WebComponent/pubnub-media.ts +0 -208
  95. package/src/WebComponent/pubnub-message-styles.ts +0 -54
  96. package/src/WebComponent/pubnub-message.ts +0 -431
  97. package/src/WebComponent/simple-launcher/simple-launcher-styles.ts +0 -34
  98. package/src/WebComponent/simple-launcher/simple-launcher.ts +0 -100
  99. package/src/WebComponent/utilities-chat.ts +0 -270
  100. package/src/WebComponent/utilities-styles.ts +0 -110
  101. package/src/WebComponent/utils.ts +0 -82
  102. package/src/analytics.ts +0 -217
  103. package/src/assetUrls.ts +0 -6
  104. package/src/disclaimers.ts +0 -58
  105. package/src/fetchBuildingABTestType.ts +0 -21
  106. package/src/fetchBuildingInfo.ts +0 -87
  107. package/src/fetchBuildingWebchatView.ts +0 -154
  108. package/src/fetchFeatureFlag.ts +0 -250
  109. package/src/fetchLeadSources.ts +0 -98
  110. package/src/fetchPhoneNumberFromSource.ts +0 -31
  111. package/src/fetchWebchatPreferences.ts +0 -54
  112. package/src/getAvailabilities.ts +0 -174
  113. package/src/getBuildingPhoneNumber.ts +0 -26
  114. package/src/getShouldAllowScheduling.ts +0 -16
  115. package/src/getShouldShowWebchat.ts +0 -114
  116. package/src/getTimezoneString.ts +0 -39
  117. package/src/globals.ts +0 -1
  118. package/src/gtm.ts +0 -17
  119. package/src/handleChatId.ts +0 -101
  120. package/src/insertDNIIntoWebsite.ts +0 -146
  121. package/src/insertLeadSourceIntoSchedulerLinks.ts +0 -71
  122. package/src/main/MEChat.test.ts +0 -110
  123. package/src/main/MEChat.ts +0 -404
  124. package/src/main/utils.ts +0 -70
  125. package/src/postLeadSources.ts +0 -44
  126. package/src/rentgrata.ts +0 -74
  127. package/src/replaceSelectButtonsWithNewLink.ts +0 -68
  128. package/src/services/fees/fetchBuildingFees.ts +0 -28
  129. package/src/svgIcons.ts +0 -14
  130. package/src/themes.ts +0 -65
  131. package/src/types/rest-sdk.types.ts +0 -13
  132. package/src/types/webchat-no-show-reason.ts +0 -6
  133. package/src/utils.ts +0 -121
  134. package/tsconfig.json +0 -84
  135. package/web-test-runner.config.js +0 -10
  136. package/webpack.config.cjs +0 -48
@@ -1,86 +0,0 @@
1
- import { css } from "lit";
2
-
3
- const collapsibleFeeSectionStyles = css`
4
- :host {
5
- display: block;
6
- margin-bottom: 20px;
7
- }
8
-
9
- .calculator-fees-collapse-container {
10
- width: 100%;
11
- border-radius: 8px;
12
- overflow: hidden;
13
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
14
- }
15
-
16
- .calculator-fees-collapse-header {
17
- cursor: pointer;
18
- padding: 12px 16px;
19
- background-color: #ffffff;
20
- }
21
-
22
- .calculator-fees-collapse-header > div {
23
- display: flex;
24
- justify-content: space-between;
25
- align-items: center;
26
- }
27
-
28
- .title,
29
- .large-amount {
30
- font-size: 1.2rem;
31
- font-weight: 510;
32
- }
33
-
34
- .details-toggle {
35
- display: flex;
36
- align-items: center;
37
- gap: 8px;
38
- color: var(--primary-color, #007bff);
39
- font-size: 0.9rem;
40
- }
41
-
42
- .chevron {
43
- display: inline-flex;
44
- transition: transform 0.2s ease;
45
- transform: rotate(90deg);
46
- }
47
-
48
- .chevron-down {
49
- transform: rotate(180deg);
50
- }
51
-
52
- .calculator-fees-collapse-content {
53
- transition: max-height 0.3s ease, opacity 0.3s ease;
54
- overflow: hidden;
55
- background-color: #f8f9fa;
56
- padding: 0 16px;
57
- }
58
-
59
- .calculator-fees-collapse-content.hidden {
60
- max-height: 0;
61
- opacity: 0;
62
- padding-top: 0;
63
- padding-bottom: 0;
64
- }
65
-
66
- .calculator-fees-collapse-content.visible {
67
- max-height: 500px;
68
- opacity: 1;
69
- padding-top: 16px;
70
- padding-bottom: 16px;
71
- }
72
-
73
- .calculator-fees-collapse-footer {
74
- padding: 16px;
75
- border-top: 1px solid #eee;
76
- background-color: #ffffff;
77
- }
78
-
79
- .calculator-fees-collapse-footer > div {
80
- display: flex;
81
- justify-content: space-between;
82
- align-items: center;
83
- }
84
- `;
85
-
86
- export default collapsibleFeeSectionStyles;
@@ -1,94 +0,0 @@
1
- import { LitElement, html, TemplateResult } from "lit";
2
- import { customElement, property, state } from "lit/decorators.js";
3
- import { ChevronRightIcon } from "../../../icons/ChevronRightIcon";
4
- import { BuildingFee } from "../../model/building-fee";
5
-
6
- import "../fee-item/fee-item";
7
- import collapsibleFeeSectionStyles from "./collapsible-fee-section-styles";
8
- import { formatCurrency } from "../../../../utils";
9
-
10
- @customElement("collapsible-fee-section")
11
- export class CollapsibleFeeSection extends LitElement {
12
- static styles = collapsibleFeeSectionStyles;
13
-
14
- @property({ type: String })
15
- primaryColor = "#007bff";
16
-
17
- @property({ type: String })
18
- title = "Fees";
19
-
20
- @property({ type: String })
21
- totalLabel = "Total";
22
-
23
- @property({ type: Array })
24
- buildingFees: BuildingFee[] = [];
25
-
26
- @state()
27
- private isDetailsVisible = false;
28
-
29
- get totalAmount(): string {
30
- return formatCurrency(
31
- this.buildingFees.reduce(
32
- (acc, item) => acc + (item.blueprint?.transactionAmount ?? 0),
33
- 0
34
- )
35
- );
36
- }
37
-
38
- toggleDetails = (): void => {
39
- this.isDetailsVisible = !this.isDetailsVisible;
40
- };
41
-
42
- get detailsText(): string {
43
- return this.isDetailsVisible ? "Hide Details" : "Fees & Cost Breakdown";
44
- }
45
-
46
- render(): TemplateResult {
47
- return html`
48
- <div class="calculator-fees-collapse-container">
49
- <div
50
- class="calculator-fees-collapse-header"
51
- @click=${this.toggleDetails}
52
- >
53
- <div>
54
- <h1 class="title">${this.title}</h1>
55
- <div class="details-toggle">
56
- <span>${this.detailsText}</span>
57
- <span
58
- class="chevron ${this.isDetailsVisible ? "chevron-down" : ""}"
59
- >
60
- ${ChevronRightIcon(this.primaryColor)}
61
- </span>
62
- </div>
63
- </div>
64
- </div>
65
-
66
- <div
67
- class="calculator-fees-collapse-content ${this.isDetailsVisible
68
- ? "visible"
69
- : "hidden"}"
70
- >
71
- ${this.buildingFees.map(
72
- (item) => html`
73
- <fee-item .feeItem=${item}></fee-item>
74
- <hr />
75
- `
76
- )}
77
- </div>
78
-
79
- <div class="calculator-fees-collapse-footer">
80
- <div>
81
- <h1 class="title">${this.totalLabel}</h1>
82
- <h1 class="large-amount">${this.totalAmount}</h1>
83
- </div>
84
- </div>
85
- </div>
86
- `;
87
- }
88
- }
89
-
90
- declare global {
91
- interface HTMLElementTagNameMap {
92
- "collapsible-fee-section": CollapsibleFeeSection;
93
- }
94
- }
@@ -1,47 +0,0 @@
1
- import { css } from "lit";
2
-
3
- const feeItemStyles = css`
4
- :host {
5
- display: block;
6
- }
7
-
8
- .fee-item {
9
- display: flex;
10
- justify-content: space-between;
11
- border-bottom: 1px solid rgba(255, 255, 255, 0.2);
12
- }
13
-
14
- .result-item:last-child {
15
- border-bottom: none;
16
- margin-bottom: 0;
17
- }
18
-
19
- .fee-info {
20
- display: flex;
21
- flex-direction: column;
22
- align-items: flex-start;
23
- }
24
-
25
- .required-label {
26
- color: #868e96;
27
- font-size: 0.8rem;
28
- }
29
-
30
- .fee-name {
31
- font-size: 1rem;
32
- font-weight: 500;
33
- margin: 0.4rem 0;
34
- }
35
-
36
- .fee-description {
37
- color: #868e96;
38
- font-size: 0.8rem;
39
- }
40
-
41
- .fee-amount {
42
- font-size: 1rem;
43
- align-self: center;
44
- }
45
- `;
46
-
47
- export default feeItemStyles;
@@ -1,50 +0,0 @@
1
- import { LitElement, html, TemplateResult } from "lit";
2
- import { customElement, property } from "lit/decorators.js";
3
- import { BuildingFee } from "../../model/building-fee";
4
- import { formatCurrency, sentenceTitleCase } from "../../../../utils";
5
-
6
- import feeItemStyles from "./fee-item-styles";
7
-
8
- @customElement("fee-item")
9
- export class FeeItemComponent extends LitElement {
10
- static styles = feeItemStyles;
11
-
12
- @property({ type: Object })
13
- feeItem: BuildingFee | null = null;
14
-
15
- get feeName(): string {
16
- const category = this.feeItem?.blueprint.category;
17
- if (!category) return "Fee";
18
- return sentenceTitleCase(category);
19
- }
20
-
21
- get feeAmount(): string {
22
- const amount = this.feeItem?.blueprint.transactionAmount;
23
- return formatCurrency(amount ?? 0);
24
- }
25
-
26
- render(): TemplateResult {
27
- if (!this.feeItem) return html``;
28
-
29
- return html`
30
- <div class="fee-item">
31
- <div class="fee-info">
32
- ${this.feeItem.required
33
- ? html`<div class="required-label">Required</div>`
34
- : ""}
35
- <div class="fee-name">${this.feeName}</div>
36
- <div class="fee-description">
37
- ${this.feeItem.blueprint.transactionDescription}
38
- </div>
39
- </div>
40
- <div class="fee-amount">${this.feeAmount}</div>
41
- </div>
42
- `;
43
- }
44
- }
45
-
46
- declare global {
47
- interface HTMLElementTagNameMap {
48
- "fee-item": FeeItemComponent;
49
- }
50
- }
@@ -1,46 +0,0 @@
1
- import { css } from "lit";
2
-
3
- const floorPlanSelectorStyles = css`
4
- :host {
5
- display: block;
6
- margin-bottom: 16px;
7
- }
8
-
9
- .floor-plan-selector {
10
- flex-wrap: wrap;
11
- gap: 8px;
12
- }
13
-
14
- .floor-plan-selector-label {
15
- font-size: 0.9rem;
16
- margin-bottom: 8px;
17
- }
18
-
19
- .floor-plan-selector-badges {
20
- display: flex;
21
- flex-wrap: wrap;
22
- gap: 8px;
23
- }
24
-
25
- .floor-plan-badge {
26
- padding: 6px 12px;
27
- border-radius: 16px;
28
- font-size: 0.9rem;
29
- cursor: pointer;
30
- background-color: #f0f0f0;
31
- border: 1px solid #ddd;
32
- transition: all 0.2s ease;
33
- }
34
-
35
- .floor-plan-badge:hover {
36
- background-color: #e6e6e6;
37
- }
38
-
39
- .floor-plan-badge.selected {
40
- background-color: var(--primary-color, #007bff);
41
- color: white;
42
- border-color: var(--primary-color, #007bff);
43
- }
44
- `;
45
-
46
- export default floorPlanSelectorStyles;
@@ -1,70 +0,0 @@
1
- import { LitElement, html, TemplateResult } from "lit";
2
- import { customElement, property } from "lit/decorators.js";
3
- import { LayoutOption } from "../../../../fetchBuildingWebchatView";
4
-
5
- import floorPlanSelectorStyles from "./floor-plan-selector-styles";
6
-
7
- @customElement("floor-plan-selector")
8
- export class FloorPlanSelector extends LitElement {
9
- static styles = floorPlanSelectorStyles;
10
-
11
- @property({ type: Array })
12
- floorPlans: LayoutOption[] = [];
13
-
14
- @property({ type: Number })
15
- selectedLayoutId: number | null = null;
16
-
17
- @property({ type: String })
18
- primaryColor = "#007bff";
19
-
20
- @property({ type: String })
21
- allOptionId = "all";
22
-
23
- private handleFloorPlanClick(id: number) {
24
- this.selectedLayoutId = id;
25
- this.dispatchEvent(
26
- new CustomEvent("floor-plan-selected", {
27
- detail: { id },
28
- bubbles: true,
29
- composed: true,
30
- })
31
- );
32
- }
33
-
34
- private get displayOptions(): LayoutOption[] {
35
- const allOption: LayoutOption = {
36
- value: -1,
37
- label: "All",
38
- };
39
-
40
- return [allOption, ...this.floorPlans].sort((a, b) => a.value - b.value);
41
- }
42
-
43
- render(): TemplateResult {
44
- return html`
45
- <div class="floor-plan-selector">
46
- <div class="floor-plan-selector-label">Select Floor Plan</div>
47
- <div class="floor-plan-selector-badges">
48
- ${this.displayOptions.map(
49
- (opt) => html`
50
- <div
51
- class="floor-plan-badge ${opt.value === this.selectedLayoutId
52
- ? "selected"
53
- : ""}"
54
- @click=${() => this.handleFloorPlanClick(opt.value)}
55
- >
56
- ${opt.label}
57
- </div>
58
- `
59
- )}
60
- </div>
61
- </div>
62
- `;
63
- }
64
- }
65
-
66
- declare global {
67
- interface HTMLElementTagNameMap {
68
- "floor-plan-selector": FloorPlanSelector;
69
- }
70
- }
@@ -1,3 +0,0 @@
1
- export * from "./promo-card/promo-card";
2
- export * from "./floor-plan-selector/floor-plan-selector";
3
- export * from "./collapsible-fee-section/collapsible-fee-section";
@@ -1,39 +0,0 @@
1
- import { css } from "lit";
2
-
3
- const promoCardStyles = css`
4
- :host {
5
- display: block;
6
- margin-bottom: 20px;
7
- }
8
-
9
- .promo-card {
10
- background-color: #e6f2ff;
11
- border-radius: 8px;
12
- padding: 16px;
13
- display: flex;
14
- align-items: center;
15
- }
16
-
17
- .icon-container {
18
- display: flex;
19
- justify-content: center;
20
- margin-right: 16px;
21
- }
22
-
23
- .content-container {
24
- flex: 1;
25
- }
26
-
27
- .promo-heading {
28
- font-size: 1.2rem;
29
- font-weight: normal;
30
- margin: 0 0 4px 0;
31
- }
32
-
33
- .promo-subtitle {
34
- color: #868e96;
35
- font-size: 0.8rem;
36
- }
37
- `;
38
-
39
- export default promoCardStyles;
@@ -1,39 +0,0 @@
1
- import { LitElement, html, TemplateResult } from "lit";
2
- import { customElement, property } from "lit/decorators.js";
3
- import DollarOutlineIcon from "../../../icons/DollarOutlineIcon";
4
-
5
- import promoCardStyles from "./promo-card-styles";
6
-
7
- @customElement("promo-card")
8
- export class PromoCard extends LitElement {
9
- static styles = promoCardStyles;
10
-
11
- @property({ type: String })
12
- promoAmount = "0";
13
-
14
- @property({ type: String })
15
- promoDescription = "";
16
-
17
- @property({ type: String })
18
- promoValidity = "";
19
-
20
- render(): TemplateResult {
21
- return html`
22
- <div class="promo-card">
23
- <div class="icon-container">${DollarOutlineIcon()}</div>
24
- <div class="content-container">
25
- <h2 class="promo-heading">
26
- ${this.promoAmount} ${this.promoDescription}
27
- </h2>
28
- <div class="promo-subtitle">${this.promoValidity}</div>
29
- </div>
30
- </div>
31
- `;
32
- }
33
- }
34
-
35
- declare global {
36
- interface HTMLElementTagNameMap {
37
- "promo-card": PromoCard;
38
- }
39
- }