@ethora/chat-component 26.7.6 → 26.7.7
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/ChatProfileModal-DehQM4Bo.js +2135 -0
- package/dist/FilePreviewModal-BcZLtVAy.js +743 -0
- package/dist/{ManageDataModal-CDPXcC93.js → ManageDataModal-DWabKhSC.js} +68 -49
- package/dist/{MarkdownBody-DBJGraWM.js → MarkdownBody-CSY3YKDh.js} +1 -1
- package/dist/{SideDrawer-Dr_lkaOW.js → SideDrawer-DewJ-iPn.js} +110 -66
- package/dist/UserProfileModal-BHZ0TULc.js +574 -0
- package/dist/{UserSettingsModal-OcAJao-d.js → UserSettingsModal-BxwVWNKo.js} +2 -2
- package/dist/{VideoCallOverlay-CC4sShdK.js → VideoCallOverlay-D5SuimGP.js} +1 -1
- package/dist/{VisibilityModal-DkMhx_2k.js → VisibilityModal-Bd67b4EM.js} +2 -2
- package/dist/components/MainComponents/ChatRoomOpeningPreview.d.ts +24 -0
- package/dist/components/MainComponents/ChatWrapper.d.ts +1 -0
- package/dist/components/MainComponents/ChooseChatMessage.d.ts +11 -1
- package/dist/components/Modals/Modal/Modal.d.ts +10 -0
- package/dist/components/Modals/Modal/ModalContent.d.ts +21 -0
- package/dist/components/Modals/ModalBox/ModalBox.d.ts +9 -0
- package/dist/components/Modals/ModalReportChat/ModalReportChat.d.ts +6 -1
- package/dist/components/Modals/ModalWrapper/ModalWrapper.d.ts +8 -0
- package/dist/components/Modals/SettingsModals/SharedStyledComponents.d.ts +12 -0
- package/dist/components/Modals/SideDrawer/DrawerProfileParts.d.ts +29 -0
- package/dist/components/Modals/SideDrawer/SideDrawer.d.ts +21 -1
- package/dist/components/Modals/SidePanel/SidePanel.d.ts +31 -0
- package/dist/components/Modals/UserProfileModal/EditUserModal.d.ts +5 -1
- package/dist/components/Modals/motionVariants.d.ts +37 -0
- package/dist/components/Modals/styledModalComponents.d.ts +0 -1
- package/dist/context/ModalTransitionContext.d.ts +2 -0
- package/dist/handleCopyClick-BoZWTBLC.js +108 -0
- package/dist/helpers/buildChatShareLink.d.ts +20 -0
- package/dist/helpers/cacheScope.d.ts +15 -1
- package/dist/helpers/constants/MODAL_TYPES.d.ts +6 -4
- package/dist/helpers/createRoomFromApi.d.ts +1 -1
- package/dist/helpers/formatNumberWithCommas.d.ts +1 -1
- package/dist/hooks/useChatOpenPhase.d.ts +21 -0
- package/dist/hooks/useDelayedAction.d.ts +22 -0
- package/dist/hooks/useExclusiveRightPane.d.ts +25 -0
- package/dist/hooks/useExitTransition.d.ts +24 -0
- package/dist/hooks/useGetNewArchRoom.d.ts +3 -1
- package/dist/hooks/useQRCodeChatHandler.d.ts +29 -1
- package/dist/{main-B-8IhwaP.js → main-C2FKeV6y.js} +8107 -7569
- package/dist/main.css +1 -1
- package/dist/main.js +5 -5
- package/dist/styles/motion.d.ts +27 -0
- package/dist/types/models/room.model.d.ts +28 -0
- package/package.json +1 -1
- package/dist/ChatProfileModal-hxsWI8cx.js +0 -2139
- package/dist/FilePreviewModal-CwWnHsB1.js +0 -736
- package/dist/UserProfileModal-Q_jhXpsX.js +0 -568
- package/dist/handleCopyClick-CpmPa6VI.js +0 -32
package/dist/main.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.ethora-chat-root{font-family:var( --ethora-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif );-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ethora-chat-root code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.ethora-chat-root,.ethora-chat-root *{scrollbar-width:thin;scrollbar-color:var(--ethora-scrollbar-thumb, var(--ethora-icon-color, #0052cd)) var(--ethora-scrollbar-track,
|
|
1
|
+
.ethora-chat-root{font-family:var( --ethora-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif );-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ethora-chat-root code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.ethora-chat-root,.ethora-chat-root *{scrollbar-width:thin;scrollbar-color:rgba(20,20,20,.22) transparent;scrollbar-color:var( --ethora-scrollbar-thumb, color-mix(in srgb, var(--ethora-icon-color, #0052cd) 35%, transparent) ) var(--ethora-scrollbar-track, transparent)}.ethora-chat-root::-webkit-scrollbar,.ethora-chat-root ::-webkit-scrollbar{width:8px;height:8px}.ethora-chat-root::-webkit-scrollbar-thumb,.ethora-chat-root ::-webkit-scrollbar-thumb{background-color:#14141438;background-color:var( --ethora-scrollbar-thumb, color-mix(in srgb, var(--ethora-icon-color, #0052cd) 35%, transparent) );border-radius:var(--ethora-radius-full, 999px);border:2px solid transparent;background-clip:content-box}.ethora-chat-root::-webkit-scrollbar-thumb:hover,.ethora-chat-root ::-webkit-scrollbar-thumb:hover{background-color:#14141466;background-color:var( --ethora-scrollbar-thumb-hover, color-mix(in srgb, var(--ethora-icon-color, #0052cd) 60%, transparent) );background-clip:content-box}.ethora-chat-root::-webkit-scrollbar-track,.ethora-chat-root ::-webkit-scrollbar-track{background-color:var(--ethora-scrollbar-track, transparent)}.ethora-apple-emoji{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.ethora-chat-root .emoji-mart{max-width:320px;max-height:360px;overflow-y:auto;border-radius:12px;box-shadow:0 4px 12px #0000001a}.ethora-message-highlight{animation:ethoraMessageHighlight 2s ease-out;transition:background-color .3s ease}@keyframes ethoraMessageHighlight{0%{background-color:#2196f366;transform:scale(1.02);box-shadow:0 0 0 2px #2196f333}30%{background-color:#2196f34d;box-shadow:0 0 0 2px #2196f326}60%{background-color:#2196f333;box-shadow:0 0 0 1px #2196f31a}to{background-color:transparent;transform:scale(1);box-shadow:none}}@media(max-width:768px){.ethora-message-notification-container{left:50%!important;right:auto!important;transform:translate(-50%)!important;align-items:center!important}.ethora-message-notification-container[data-position-horizontal=left],.ethora-message-notification-container[data-position-horizontal=right]{left:50%!important;right:auto!important;transform:translate(-50%)!important}}
|
package/dist/main.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { b2 as a, b3 as r, b4 as b, b5 as o, b6 as t, b7 as h, b8 as u, b9 as i, ba as p, bb as n, bc as d, J as l, bd as T, be as f, bf as y, bg as I, bh as R, bi as c, bj as g, bk as m, ah as C, ai as k, bl as A, bm as Q } from "./main-C2FKeV6y.js";
|
|
2
2
|
export {
|
|
3
3
|
a as AuthTestIds,
|
|
4
4
|
r as Chat,
|
|
5
5
|
b as ChatInputTestIds,
|
|
6
6
|
o as MessageBubbleTestIds,
|
|
7
7
|
t as RefreshFatalError,
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
h as RoomListTestIds,
|
|
9
|
+
u as XmppProvider,
|
|
10
|
+
i as applyTypography,
|
|
11
|
+
p as clearTypography,
|
|
12
12
|
n as handleQRChatId,
|
|
13
13
|
d as isRefreshFatalError,
|
|
14
14
|
l as logoutService,
|
package/dist/styles/motion.d.ts
CHANGED
|
@@ -6,10 +6,17 @@
|
|
|
6
6
|
* = 220ms, `--ethora-motion-ease`). The literal values are duplicated here
|
|
7
7
|
* (rather than reading the CSS variables inside `@keyframes`, which most
|
|
8
8
|
* browsers don't support) but must stay numerically identical.
|
|
9
|
+
*
|
|
10
|
+
* This module also owns the two hooks that keep an element mounted for the
|
|
11
|
+
* length of an exit animation (`useExitTransition` in `hooks/`, plus the
|
|
12
|
+
* `useDelayedAction` helper below for self-closing components) - see the
|
|
13
|
+
* "Presence / exit transitions" section near the bottom of this file.
|
|
9
14
|
*/
|
|
10
15
|
export declare const MOTION_FAST = "150ms";
|
|
11
16
|
export declare const MOTION_BASE = "220ms";
|
|
12
17
|
export declare const MOTION_EASE = "cubic-bezier(.2,.8,.2,1)";
|
|
18
|
+
export declare const MOTION_FAST_MS = 150;
|
|
19
|
+
export declare const MOTION_BASE_MS = 220;
|
|
13
20
|
export declare const fadeIn: import('styled-components/dist/models/Keyframes').default;
|
|
14
21
|
export declare const fadeInUp: import('styled-components/dist/models/Keyframes').default;
|
|
15
22
|
export declare const scaleIn: import('styled-components/dist/models/Keyframes').default;
|
|
@@ -42,3 +49,23 @@ export declare const scaleInAnimation: import('styled-components').RuleSet<objec
|
|
|
42
49
|
export declare const slideInRightAnimation: import('styled-components').RuleSet<object>;
|
|
43
50
|
/** Shimmering skeleton background, respecting reduced motion (stays static). */
|
|
44
51
|
export declare const shimmerBackground: import('styled-components').RuleSet<object>;
|
|
52
|
+
export declare const fadeOut: import('styled-components/dist/models/Keyframes').default;
|
|
53
|
+
export declare const scaleOut: import('styled-components/dist/models/Keyframes').default;
|
|
54
|
+
/** Mirror of `slideInRight`: the drawer leaves back the way it came. */
|
|
55
|
+
export declare const slideOutRight: import('styled-components/dist/models/Keyframes').default;
|
|
56
|
+
/** Convenience: cross-fade-out shorthand, respecting reduced motion. */
|
|
57
|
+
export declare const fadeOutAnimation: import('styled-components').RuleSet<object>;
|
|
58
|
+
/** Convenience: scale-out shorthand, respecting reduced motion. */
|
|
59
|
+
export declare const scaleOutAnimation: import('styled-components').RuleSet<object>;
|
|
60
|
+
/** Convenience: side-drawer slide-out shorthand, respecting reduced motion. */
|
|
61
|
+
export declare const slideOutRightAnimation: import('styled-components').RuleSet<object>;
|
|
62
|
+
/** Gentle scale+opacity breathing loop - typing bubbles, recording dot. */
|
|
63
|
+
export declare const pulse: import('styled-components/dist/models/Keyframes').default;
|
|
64
|
+
/** Three-dot "typing" fade loop. Stagger children with `animation-delay`. */
|
|
65
|
+
export declare const dotFade: import('styled-components/dist/models/Keyframes').default;
|
|
66
|
+
/** Convenience: breathing pulse shorthand, respecting reduced motion. */
|
|
67
|
+
export declare const pulseAnimation: import('styled-components').RuleSet<object>;
|
|
68
|
+
/** Convenience: typing-dot fade shorthand, respecting reduced motion. */
|
|
69
|
+
export declare const dotFadeAnimation: import('styled-components').RuleSet<object>;
|
|
70
|
+
/** True when the platform/browser has "prefers-reduced-motion: reduce" set. */
|
|
71
|
+
export declare const prefersReducedMotion: () => boolean;
|
|
@@ -38,6 +38,14 @@ export interface IRoom {
|
|
|
38
38
|
__v?: number | string;
|
|
39
39
|
_id?: string;
|
|
40
40
|
id?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Written from two places: reactionsMiddleware keeps it current for a
|
|
43
|
+
* room that already has loaded messages, and createRoomFromApi seeds it
|
|
44
|
+
* from the API's `lastMessage` (see ApiRoomLastMessage) for a room that
|
|
45
|
+
* doesn't yet. ChatRoomItem only reads this while `messages` is empty -
|
|
46
|
+
* once real history loads, `messages` is what renders the preview, so a
|
|
47
|
+
* seed left sitting here afterward is inert rather than stale-looking.
|
|
48
|
+
*/
|
|
41
49
|
lastMessage?: LastMessage;
|
|
42
50
|
lastMessageTimestamp?: number;
|
|
43
51
|
lastRoomMessage?: RoomLastMessage;
|
|
@@ -66,6 +74,24 @@ export interface IRoom {
|
|
|
66
74
|
*/
|
|
67
75
|
muted?: boolean;
|
|
68
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* The flattened `lastMessage` object `GET /v1/chats/my` embeds per room
|
|
79
|
+
* (QA verified 2026-09-16: all 16 rooms returned it). Prod's `chats/my`
|
|
80
|
+
* has previously lacked fields other endpoints send (see IRoom.muted) -
|
|
81
|
+
* treat every field here as optional and never assume it is present.
|
|
82
|
+
*/
|
|
83
|
+
export interface ApiRoomLastMessage {
|
|
84
|
+
body?: string;
|
|
85
|
+
truncated?: boolean;
|
|
86
|
+
from?: string;
|
|
87
|
+
fromUserId?: string;
|
|
88
|
+
messageId?: string;
|
|
89
|
+
stanzaId?: string;
|
|
90
|
+
createdAt?: string;
|
|
91
|
+
isOwn?: boolean;
|
|
92
|
+
senderFirstName?: string;
|
|
93
|
+
senderLastName?: string;
|
|
94
|
+
}
|
|
69
95
|
export interface ApiRoom {
|
|
70
96
|
name: string;
|
|
71
97
|
type: 'public' | 'group' | 'private';
|
|
@@ -82,6 +108,8 @@ export interface ApiRoom {
|
|
|
82
108
|
__v?: string;
|
|
83
109
|
/** See IRoom.muted - only present when the backend supports per-chat mute. */
|
|
84
110
|
muted?: boolean;
|
|
111
|
+
/** See ApiRoomLastMessage - only present when the backend supports it. */
|
|
112
|
+
lastMessage?: ApiRoomLastMessage;
|
|
85
113
|
}
|
|
86
114
|
export interface PostRoom {
|
|
87
115
|
title: string;
|