@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.
@@ -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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meetelise/chat",
3
- "version": "1.59.0",
3
+ "version": "1.59.2",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/MeetElise/chat-ui#readme",