@meetelise/chat 1.59.0 → 1.59.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.
- package/dist/src/WebComponent/Scheduler/tour-scheduler.d.ts +4 -0
- package/dist/src/WebComponent/actions/call-us-window.d.ts +5 -0
- package/dist/src/WebComponent/actions/email-us-window.d.ts +5 -0
- package/dist/src/WebComponent/me-chat.d.ts +15 -9
- package/dist/src/WebComponent/pubnub-chat.d.ts +14 -0
- package/package.json +1 -1
- package/public/dist/index.js +5594 -5573
- package/src/WebComponent/Scheduler/tour-scheduler.ts +27 -0
- package/src/WebComponent/actions/call-us-window.ts +22 -0
- package/src/WebComponent/actions/email-us-window.ts +22 -0
- package/src/WebComponent/me-chat.ts +89 -136
- package/src/WebComponent/me-select.ts +1 -1
- package/src/WebComponent/pubnub-chat-styles.ts +12 -0
- package/src/WebComponent/pubnub-chat.ts +186 -7
- package/src/chatKeyboard.test.ts +430 -0
- package/src/disclaimers.ts +36 -3
- package/src/meChatAutoOpen.test.ts +143 -0
- package/src/pubnub-chat.test.ts +184 -0
|
@@ -37,6 +37,10 @@ export declare class TourScheduler extends LitElement {
|
|
|
37
37
|
private leadSourceClient;
|
|
38
38
|
private leadSourceMultitouchClient;
|
|
39
39
|
buildingName: string;
|
|
40
|
+
disconnectedCallback(): void;
|
|
41
|
+
private trapOverlayTab;
|
|
42
|
+
private movedFocusInside;
|
|
43
|
+
updated(): void;
|
|
40
44
|
onCloseClicked?: (e: MouseEvent) => void;
|
|
41
45
|
private tourType;
|
|
42
46
|
private shouldShowTourType;
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { LitElement, TemplateResult } from "lit";
|
|
2
2
|
import { Ref } from "lit/directives/ref.js";
|
|
3
3
|
export declare class CallUsWindow extends LitElement {
|
|
4
|
+
connectedCallback(): void;
|
|
5
|
+
disconnectedCallback(): void;
|
|
6
|
+
private trapOverlayTab;
|
|
7
|
+
private movedFocusInside;
|
|
8
|
+
updated(): void;
|
|
4
9
|
static styles: import("lit").CSSResult[];
|
|
5
10
|
buildingSlug: string;
|
|
6
11
|
orgSlug: string;
|
|
@@ -5,6 +5,11 @@ import "./international-phone-input";
|
|
|
5
5
|
import type { InternationalPhoneChangeDetail } from "./international-phone-input";
|
|
6
6
|
import type { BrokerReferral } from "../brokerReferral";
|
|
7
7
|
export declare class EmailUsWindow extends LitElement {
|
|
8
|
+
connectedCallback(): void;
|
|
9
|
+
disconnectedCallback(): void;
|
|
10
|
+
private trapOverlayTab;
|
|
11
|
+
private movedFocusInside;
|
|
12
|
+
updated(): void;
|
|
8
13
|
static styles: import("lit").CSSResult[];
|
|
9
14
|
leadSources: string[];
|
|
10
15
|
onCloseClicked?: (e: MouseEvent) => void;
|
|
@@ -57,6 +57,9 @@ export declare class MEChat extends LitElement {
|
|
|
57
57
|
private showTourNextToChat;
|
|
58
58
|
private openTourSchedulerOnLoad;
|
|
59
59
|
private displayPubnubChat;
|
|
60
|
+
private launcherButton;
|
|
61
|
+
/** Set only for a user-initiated open, so auto-open does not steal focus. */
|
|
62
|
+
private focusChatOnMount;
|
|
60
63
|
private myPubnub;
|
|
61
64
|
private LeadSourceClient;
|
|
62
65
|
private LeadSourceMultitouchClient;
|
|
@@ -106,10 +109,11 @@ export declare class MEChat extends LitElement {
|
|
|
106
109
|
setDeclaredBuildingId(id: number | null): void;
|
|
107
110
|
/** The numeric id of the snippet's building in org-level webchat, if it names one. */
|
|
108
111
|
private fetchDeclaredBuildingId;
|
|
112
|
+
private chatAutoOpenDismissedStorageKey;
|
|
109
113
|
private shouldAutoOpenChat;
|
|
114
|
+
private rememberChatAutoOpenDismissed;
|
|
110
115
|
private handleChatInitializeAnalytics;
|
|
111
116
|
restartConversation(): Promise<void>;
|
|
112
|
-
private updateAlreadyAutoOpenedTimestamp;
|
|
113
117
|
/** Show the chat button on the screen if it was previously hidden. */
|
|
114
118
|
show(): void;
|
|
115
119
|
/** Hide the chat button from the screen (but don't remove from the DOM). */
|
|
@@ -119,19 +123,21 @@ export declare class MEChat extends LitElement {
|
|
|
119
123
|
handleContactTabClicked: (e: MouseEvent) => void;
|
|
120
124
|
adjustPositionChatAdditionalActions: () => void;
|
|
121
125
|
connectedCallback(): void;
|
|
122
|
-
private static readonly FOCUSABLE_SELECTOR;
|
|
123
|
-
/**
|
|
124
|
-
* Recursively collects focusable elements, piercing shadow DOM boundaries.
|
|
125
|
-
*/
|
|
126
|
-
private static isFocusable;
|
|
127
|
-
private collectFocusableElements;
|
|
128
|
-
handleKeydownTab: (e: KeyboardEvent) => void;
|
|
129
|
-
getDeepActiveElement(): Element | null;
|
|
130
126
|
updated(): void;
|
|
131
127
|
disconnectedCallback(): void;
|
|
132
128
|
onClickMinimize: (e: MouseEvent) => void;
|
|
133
129
|
private attachOnClickToLauncher;
|
|
134
130
|
onExitChat: () => void;
|
|
131
|
+
private focusLauncherButton;
|
|
132
|
+
/**
|
|
133
|
+
* User-initiated open. The caret belongs in the message field.
|
|
134
|
+
* While consent hides the composer, keep focus on the dialog so the agree
|
|
135
|
+
* control is reachable. Stored consent is applied after onMount, so try
|
|
136
|
+
* again once that paint has committed.
|
|
137
|
+
*/
|
|
138
|
+
private focusMessageFieldOnOpen;
|
|
139
|
+
private closeChatAndRestoreFocus;
|
|
140
|
+
private currentLauncherButton;
|
|
135
141
|
render(): TemplateResult;
|
|
136
142
|
}
|
|
137
143
|
declare global {
|
|
@@ -34,6 +34,9 @@ export declare class PubnubChat extends LitElement {
|
|
|
34
34
|
messages: SimpleChatMessage[];
|
|
35
35
|
isLoadingMessages: boolean;
|
|
36
36
|
hasReceivedConsent: boolean;
|
|
37
|
+
private _replyAnnouncement;
|
|
38
|
+
private announcedReplyKeys;
|
|
39
|
+
private hasReplySnapshot;
|
|
37
40
|
privacyPolicyUrl: string;
|
|
38
41
|
websitePreviewMapping: {
|
|
39
42
|
[messageId: string]: {
|
|
@@ -51,8 +54,19 @@ export declare class PubnubChat extends LitElement {
|
|
|
51
54
|
firstUpdated(): void;
|
|
52
55
|
scrollToChatBottom: () => void;
|
|
53
56
|
private handleConversationScroll;
|
|
57
|
+
protected willUpdate(): void;
|
|
58
|
+
private syncReplyAnnouncement;
|
|
59
|
+
private renderReplyAnnouncer;
|
|
54
60
|
updated(): Promise<void>;
|
|
55
61
|
autoResizeMessageInput: () => void;
|
|
56
62
|
needsConsent: () => boolean;
|
|
63
|
+
/** Caret in the message field when the composer is on screen. */
|
|
64
|
+
focusMessageField(): boolean;
|
|
65
|
+
/** Tab cycles inside the fullscreen mobile dialog. Desktop stays non-modal. */
|
|
66
|
+
private trapTabInMobileDialog;
|
|
57
67
|
render(): TemplateResult;
|
|
58
68
|
}
|
|
69
|
+
/** Move focus to the first control in an overlay. Returns false if there is none yet. */
|
|
70
|
+
export declare function focusFirstTabStop(container: HTMLElement): boolean;
|
|
71
|
+
/** Wrap Tab inside container when focus is already in it. No effect otherwise. */
|
|
72
|
+
export declare function trapTabInside(event: KeyboardEvent, container: HTMLElement): void;
|