@box/threaded-annotations 4.1.9 → 4.1.11
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/chunks/annotation-badge.js +1 -64
- package/dist/chunks/custom-placeholder.js +1 -72
- package/dist/chunks/delete-annotations-message-popover.js +1 -46
- package/dist/chunks/delete-confirmation-popover.js +1 -67
- package/dist/chunks/dist.js +2 -1757
- package/dist/chunks/mention-component.js +1 -106
- package/dist/chunks/message-editor.module.js +1 -12
- package/dist/chunks/message-editor2.module.js +1 -29
- package/dist/chunks/message-header.js +1 -49
- package/dist/chunks/messages-view.js +1 -99
- package/dist/chunks/resolved-state.js +1 -55
- package/dist/chunks/show-replies-button.js +1 -60
- package/dist/chunks/text-message.js +1 -21
- package/dist/chunks/text-message.module.js +1 -14
- package/dist/chunks/threaded-annotations.js +1 -71
- package/dist/chunks/threaded-annotations2.js +1 -87
- package/dist/chunks/timestamp-toggle.js +1 -36
- package/dist/chunks/virtualized-messages.js +1 -30
- package/dist/esm/index.js +1 -8
- package/dist/esm/lib/components/mention-component/mention-component.js +1 -2
- package/dist/esm/lib/components/mention-component/mention-context.js +1 -26
- package/dist/esm/lib/components/message-editor/editor-extensions/custom-mention/custom-mention-suggestions.js +1 -23
- package/dist/esm/lib/components/message-editor/editor-extensions/custom-mention/custom-mention.js +1 -59
- package/dist/esm/lib/components/message-editor/editor-extensions/custom-mention/useMentionState.js +1 -24
- package/dist/esm/lib/components/message-editor/editor-extensions/custom-paragraph.js +1 -13
- package/dist/esm/lib/components/message-editor/editor-extensions/custom-placeholder/custom-placeholder-utils.js +1 -26
- package/dist/esm/lib/components/message-editor/editor-extensions/custom-placeholder/custom-placeholder.js +1 -2
- package/dist/esm/lib/components/message-editor/error-message.js +1 -17
- package/dist/esm/lib/components/message-editor/hooks/useMessageEditor.js +1 -69
- package/dist/esm/lib/components/message-editor/hooks/useMessagePost.js +1 -35
- package/dist/esm/lib/components/message-editor/message-editor-actions.js +1 -29
- package/dist/esm/lib/components/message-editor/message-editor-context.js +1 -7
- package/dist/esm/lib/components/message-editor/message-editor.js +1 -74
- package/dist/esm/lib/components/message-editor/messages.js +1 -44
- package/dist/esm/lib/components/message-editor/utils/getMessageEditorState.js +1 -9
- package/dist/esm/lib/components/message-header/delete-annotations-message-popover.js +1 -2
- package/dist/esm/lib/components/message-header/message-header.js +1 -2
- package/dist/esm/lib/components/message-header/messages.js +1 -32
- package/dist/esm/lib/components/messages-view/consts.js +1 -2
- package/dist/esm/lib/components/messages-view/hooks/useAutoScroll.js +1 -43
- package/dist/esm/lib/components/messages-view/hooks/useShowMoreReplies.js +1 -26
- package/dist/esm/lib/components/messages-view/hooks/useVirtualizedMessages.js +1 -17
- package/dist/esm/lib/components/messages-view/messages-view.js +1 -61
- package/dist/esm/lib/components/messages-view/messages.js +1 -12
- package/dist/esm/lib/components/messages-view/virtualized-messages.js +1 -2
- package/dist/esm/lib/components/text-message/message-renderer.js +1 -58
- package/dist/esm/lib/components/text-message/text-message.js +1 -2
- package/dist/esm/lib/components/user-avatar/getInitials.js +1 -5
- package/dist/esm/lib/components/user-avatar/messages.js +1 -12
- package/dist/esm/lib/components/user-avatar/user-avatar.js +1 -31
- package/dist/esm/lib/components/v2/annotation-badge/annotation-badge.js +1 -2
- package/dist/esm/lib/components/v2/annotation-badge/index.js +1 -2
- package/dist/esm/lib/components/v2/annotation-badge/messages.js +1 -12
- package/dist/esm/lib/components/v2/message-editor/editor-extensions/custom-mention/custom-mention-suggestions.js +1 -23
- package/dist/esm/lib/components/v2/message-editor/editor-extensions/custom-mention/custom-mention.js +1 -59
- package/dist/esm/lib/components/v2/message-editor/editor-extensions/custom-mention/mention-trigger-normalization.js +1 -2
- package/dist/esm/lib/components/v2/message-editor/editor-extensions/custom-mention/useMentionState.js +1 -27
- package/dist/esm/lib/components/v2/message-editor/editor-extensions/custom-paragraph.js +1 -13
- package/dist/esm/lib/components/v2/message-editor/hooks/useCharacterLimit.js +1 -24
- package/dist/esm/lib/components/v2/message-editor/hooks/useEditorContainerState.js +1 -21
- package/dist/esm/lib/components/v2/message-editor/hooks/useMentionUserSelection.js +1 -21
- package/dist/esm/lib/components/v2/message-editor/hooks/useMessageSubmit.js +1 -24
- package/dist/esm/lib/components/v2/message-editor/message-editor-context.js +1 -19
- package/dist/esm/lib/components/v2/message-editor/message-editor.js +1 -187
- package/dist/esm/lib/components/v2/message-editor/message-editor.types.js +1 -4
- package/dist/esm/lib/components/v2/message-editor/messages.js +1 -52
- package/dist/esm/lib/components/v2/message-editor/subcomponents/character-limit-counter.js +1 -26
- package/dist/esm/lib/components/v2/message-editor/subcomponents/edit-buttons.js +1 -32
- package/dist/esm/lib/components/v2/message-editor/subcomponents/error-message.js +1 -22
- package/dist/esm/lib/components/v2/message-editor/subcomponents/post-button.js +1 -29
- package/dist/esm/lib/components/v2/message-editor/subcomponents/timestamp-toggle.js +1 -2
- package/dist/esm/lib/components/v2/message-header/delete-confirmation-popover.js +1 -2
- package/dist/esm/lib/components/v2/message-header/message-header.js +1 -90
- package/dist/esm/lib/components/v2/message-header/message-options-menu.js +1 -49
- package/dist/esm/lib/components/v2/message-header/messages.js +2 -48
- package/dist/esm/lib/components/v2/messages-view/hooks/useAutoScroll.js +1 -69
- package/dist/esm/lib/components/v2/messages-view/messages-view.js +1 -2
- package/dist/esm/lib/components/v2/resolved-state/messages.js +1 -12
- package/dist/esm/lib/components/v2/resolved-state/resolved-state.js +1 -2
- package/dist/esm/lib/components/v2/show-replies-button/messages.js +1 -12
- package/dist/esm/lib/components/v2/show-replies-button/show-replies-button.js +1 -2
- package/dist/esm/lib/components/v2/text-message/constants.js +1 -2
- package/dist/esm/lib/components/v2/text-message/messages.js +1 -32
- package/dist/esm/lib/components/v2/text-message/subcomponents/message-footer.js +1 -64
- package/dist/esm/lib/components/v2/text-message/subcomponents/message-renderer.js +1 -87
- package/dist/esm/lib/components/v2/text-message/subcomponents/truncate-document.js +1 -113
- package/dist/esm/lib/components/v2/text-message/subcomponents/url-segments.js +1 -38
- package/dist/esm/lib/components/v2/text-message/text-message.js +1 -79
- package/dist/esm/lib/components/v2/user-avatar/getInitials.js +1 -5
- package/dist/esm/lib/components/v2/user-avatar/messages.js +1 -12
- package/dist/esm/lib/components/v2/user-avatar/user-avatar.js +1 -37
- package/dist/esm/lib/messages.js +1 -24
- package/dist/esm/lib/threaded-annotations.js +1 -2
- package/dist/esm/lib/utils/getErrorMessage.js +1 -2
- package/dist/esm/lib/v2/constants.js +1 -2
- package/dist/esm/lib/v2/messages.js +1 -6
- package/dist/esm/lib/v2/resin-targets.js +1 -25
- package/dist/esm/lib/v2/threaded-annotations-context.js +1 -61
- package/dist/esm/lib/v2/threaded-annotations.js +1 -2
- package/dist/esm/lib/v2/types/annotation-badge-types.js +1 -4
- package/dist/esm/lib/v2/types/index.js +1 -2
- package/dist/esm/lib/v2/utils/build-mention-content.js +1 -20
- package/dist/esm/lib/v2/utils/serialize-mention-markup.js +2 -12
- package/dist/styles/message-editor2.css +1 -1
- package/package.json +12 -12
|
@@ -1,106 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { THREADED_ANNOTATIONS_PORTAL as t } from "../esm/lib/v2/constants.js";
|
|
3
|
-
import { THREADED_ANNOTATIONS_RESIN_COMPONENTS as n, THREADED_ANNOTATIONS_RESIN_FEATURE as r, THREADED_ANNOTATIONS_RESIN_TARGETS as i } from "../esm/lib/v2/resin-targets.js";
|
|
4
|
-
import { useMentionContext as a } from "../esm/lib/components/mention-component/mention-context.js";
|
|
5
|
-
import { Text as o } from "@box/blueprint-web";
|
|
6
|
-
import { useCallback as s, useEffect as c, useRef as l, useState as u } from "react";
|
|
7
|
-
import { useIntl as d } from "react-intl";
|
|
8
|
-
import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
9
|
-
import { CollaborationPopover as m } from "@box/collaboration-popover";
|
|
10
|
-
import '../styles/mention-component.css';var h = { mention: "_mention_hc7gc_27" }, g = {
|
|
11
|
-
"data-resin-component": n.COMMENT_CARD,
|
|
12
|
-
"data-resin-feature": r
|
|
13
|
-
}, _ = ({ mentionedUserName: n, mentionedUserId: r, mentionedUserEmail: _, authorId: v, mentionId: y }) => {
|
|
14
|
-
let b = d(), x = l(!1), { collaborationPopoverProps: S, getAvatarUrl: C, fetchCollaboratorState: w, fetchEmail: T, openPopoverMentionId: E, openPopoverForMentionId: D, closeAllPopovers: O } = a(), [k, A] = u(!1), [j, M] = u(!1), [N, P] = u(_);
|
|
15
|
-
c(() => {
|
|
16
|
-
P(_);
|
|
17
|
-
}, [_, r]);
|
|
18
|
-
let { onSubmit: F, onClose: I } = S, L = s(async () => {
|
|
19
|
-
if (x.current) {
|
|
20
|
-
x.current = !1;
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
if (!j && y && r) {
|
|
24
|
-
let e = _ ?? N;
|
|
25
|
-
if (!e && T) try {
|
|
26
|
-
e = await T(r, n), P(e);
|
|
27
|
-
} catch {}
|
|
28
|
-
let t = {
|
|
29
|
-
id: Number(r),
|
|
30
|
-
name: n,
|
|
31
|
-
email: e ?? "",
|
|
32
|
-
value: r
|
|
33
|
-
}, i = !1;
|
|
34
|
-
try {
|
|
35
|
-
i = await w?.(t) ?? !1;
|
|
36
|
-
} catch {}
|
|
37
|
-
A(i), await D?.(y, t);
|
|
38
|
-
}
|
|
39
|
-
}, [
|
|
40
|
-
x,
|
|
41
|
-
j,
|
|
42
|
-
y,
|
|
43
|
-
r,
|
|
44
|
-
n,
|
|
45
|
-
_,
|
|
46
|
-
N,
|
|
47
|
-
T,
|
|
48
|
-
w,
|
|
49
|
-
D
|
|
50
|
-
]), R = () => {
|
|
51
|
-
O?.(), I?.();
|
|
52
|
-
}, z = () => {
|
|
53
|
-
j && (x.current = !0, O?.());
|
|
54
|
-
}, B = (e) => {
|
|
55
|
-
(e.key === "Enter" || e.key === " ") && (e.preventDefault(), e.repeat || L());
|
|
56
|
-
}, V = (e, t) => {
|
|
57
|
-
O?.(), F?.(e, t);
|
|
58
|
-
};
|
|
59
|
-
c(() => {
|
|
60
|
-
M(E === y);
|
|
61
|
-
}, [y, E]);
|
|
62
|
-
let H = s((e) => {
|
|
63
|
-
e.key === "Escape" && O?.();
|
|
64
|
-
}, [O]);
|
|
65
|
-
return c(() => (window.addEventListener("keydown", H), () => window.removeEventListener("keydown", H)), [H]), /* @__PURE__ */ f(m, {
|
|
66
|
-
open: j,
|
|
67
|
-
...S,
|
|
68
|
-
anchor: /* @__PURE__ */ p(o, {
|
|
69
|
-
"data-no-expand": !0,
|
|
70
|
-
"aria-label": b.formatMessage(e.textMentionAriaLabel),
|
|
71
|
-
as: "span",
|
|
72
|
-
className: h.mention,
|
|
73
|
-
"data-author-id": v,
|
|
74
|
-
"data-component-type": "mention",
|
|
75
|
-
"data-mention-id": y,
|
|
76
|
-
"data-mentioned-user-email": _,
|
|
77
|
-
"data-mentioned-user-id": r,
|
|
78
|
-
"data-mentioned-user-name": n,
|
|
79
|
-
"data-resin-target": i.MENTION,
|
|
80
|
-
onClick: L,
|
|
81
|
-
onKeyDown: B,
|
|
82
|
-
onPointerDown: z,
|
|
83
|
-
role: "button",
|
|
84
|
-
tabIndex: 0,
|
|
85
|
-
variant: "bodyDefault",
|
|
86
|
-
children: ["@", n]
|
|
87
|
-
}),
|
|
88
|
-
onClose: R,
|
|
89
|
-
onSubmit: V,
|
|
90
|
-
popoverContentContainerProps: {
|
|
91
|
-
...S.popoverContentContainerProps,
|
|
92
|
-
...t,
|
|
93
|
-
...g
|
|
94
|
-
},
|
|
95
|
-
sideOffset: 0,
|
|
96
|
-
userInfo: {
|
|
97
|
-
id: r,
|
|
98
|
-
name: n,
|
|
99
|
-
email: N,
|
|
100
|
-
avatarUrl: C?.(r),
|
|
101
|
-
isCollaborator: k
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
};
|
|
105
|
-
_.displayName = "MentionComponent";
|
|
106
|
-
export { _ as t };
|
|
1
|
+
import messages from"../esm/lib/messages.js";import{THREADED_ANNOTATIONS_PORTAL}from"../esm/lib/v2/constants.js";import{THREADED_ANNOTATIONS_RESIN_COMPONENTS,THREADED_ANNOTATIONS_RESIN_FEATURE,THREADED_ANNOTATIONS_RESIN_TARGETS}from"../esm/lib/v2/resin-targets.js";import{useMentionContext}from"../esm/lib/components/mention-component/mention-context.js";import{Text}from"@box/blueprint-web";import{useCallback,useEffect,useRef,useState}from"react";import{useIntl}from"react-intl";import{jsx,jsxs}from"react/jsx-runtime";import{CollaborationPopover}from"@box/collaboration-popover";import '../styles/mention-component.css';var mention_component_module_default={mention:`_mention_hc7gc_27`},MENTION_POPOVER_RESIN_ATTRIBUTES={"data-resin-component":THREADED_ANNOTATIONS_RESIN_COMPONENTS.COMMENT_CARD,"data-resin-feature":THREADED_ANNOTATIONS_RESIN_FEATURE},MentionComponent=({mentionedUserName,mentionedUserId,mentionedUserEmail,authorId,mentionId})=>{let intl=useIntl(),suppressNextOpenRef=useRef(!1),{collaborationPopoverProps,getAvatarUrl,fetchCollaboratorState,fetchEmail,openPopoverMentionId,openPopoverForMentionId,closeAllPopovers}=useMentionContext(),[isCollaborator,setIsCollaborator]=useState(!1),[isPopoverOpen,setIsPopoverOpen]=useState(!1),[resolvedEmail,setResolvedEmail]=useState(mentionedUserEmail);useEffect(()=>{setResolvedEmail(mentionedUserEmail)},[mentionedUserEmail,mentionedUserId]);let{onSubmit,onClose}=collaborationPopoverProps,handleClick=useCallback(async()=>{if(suppressNextOpenRef.current){suppressNextOpenRef.current=!1;return}if(!isPopoverOpen&&mentionId&&mentionedUserId){let email=mentionedUserEmail??resolvedEmail;if(!email&&fetchEmail)try{email=await fetchEmail(mentionedUserId,mentionedUserName),setResolvedEmail(email)}catch{}let user={id:Number(mentionedUserId),name:mentionedUserName,email:email??``,value:mentionedUserId},collaboratorState=!1;try{collaboratorState=await fetchCollaboratorState?.(user)??!1}catch{}setIsCollaborator(collaboratorState),await openPopoverForMentionId?.(mentionId,user)}},[suppressNextOpenRef,isPopoverOpen,mentionId,mentionedUserId,mentionedUserName,mentionedUserEmail,resolvedEmail,fetchEmail,fetchCollaboratorState,openPopoverForMentionId]),handleClose=()=>{closeAllPopovers?.(),onClose?.()},handlePointerDown=()=>{isPopoverOpen&&(suppressNextOpenRef.current=!0,closeAllPopovers?.())},handleAnchorKeyDown=event=>{(event.key===`Enter`||event.key===` `)&&(event.preventDefault(),event.repeat||handleClick())},handleSubmit=(userInfo,inviteType)=>{closeAllPopovers?.(),onSubmit?.(userInfo,inviteType)};useEffect(()=>{setIsPopoverOpen(openPopoverMentionId===mentionId)},[mentionId,openPopoverMentionId]);let handleKeyDown=useCallback(event=>{event.key===`Escape`&&closeAllPopovers?.()},[closeAllPopovers]);return useEffect(()=>(window.addEventListener(`keydown`,handleKeyDown),()=>window.removeEventListener(`keydown`,handleKeyDown)),[handleKeyDown]),jsx(CollaborationPopover,{open:isPopoverOpen,...collaborationPopoverProps,anchor:jsxs(Text,{"data-no-expand":!0,"aria-label":intl.formatMessage(messages.textMentionAriaLabel),as:`span`,className:mention_component_module_default.mention,"data-author-id":authorId,"data-component-type":`mention`,"data-mention-id":mentionId,"data-mentioned-user-email":mentionedUserEmail,"data-mentioned-user-id":mentionedUserId,"data-mentioned-user-name":mentionedUserName,"data-resin-target":THREADED_ANNOTATIONS_RESIN_TARGETS.MENTION,onClick:handleClick,onKeyDown:handleAnchorKeyDown,onPointerDown:handlePointerDown,role:`button`,tabIndex:0,variant:`bodyDefault`,children:[`@`,mentionedUserName]}),onClose:handleClose,onSubmit:handleSubmit,popoverContentContainerProps:{...collaborationPopoverProps.popoverContentContainerProps,...THREADED_ANNOTATIONS_PORTAL,...MENTION_POPOVER_RESIN_ATTRIBUTES},sideOffset:0,userInfo:{id:mentionedUserId,name:mentionedUserName,email:resolvedEmail,avatarUrl:getAvatarUrl?.(mentionedUserId),isCollaborator}})};MentionComponent.displayName=`MentionComponent`;export{MentionComponent as t};
|
|
@@ -1,12 +1 @@
|
|
|
1
|
-
import '../styles/message-editor.css';var
|
|
2
|
-
editorDisabled: "_editorDisabled_ng6un_29",
|
|
3
|
-
editor: "_editor_ng6un_29",
|
|
4
|
-
messageEditor: "_messageEditor_ng6un_36",
|
|
5
|
-
errorMessage: "_errorMessage_ng6un_39",
|
|
6
|
-
errorText: "_errorText_ng6un_45",
|
|
7
|
-
actionsContainer: "_actionsContainer_ng6un_48",
|
|
8
|
-
editorContainer: "_editorContainer_ng6un_56",
|
|
9
|
-
editorError: "_editorError_ng6un_95",
|
|
10
|
-
anchorElement: "_anchorElement_ng6un_104"
|
|
11
|
-
};
|
|
12
|
-
export { e as t };
|
|
1
|
+
import '../styles/message-editor.css';var message_editor_module_default={editorDisabled:`_editorDisabled_ng6un_29`,editor:`_editor_ng6un_29`,messageEditor:`_messageEditor_ng6un_36`,errorMessage:`_errorMessage_ng6un_39`,errorText:`_errorText_ng6un_45`,actionsContainer:`_actionsContainer_ng6un_48`,editorContainer:`_editorContainer_ng6un_56`,editorError:`_editorError_ng6un_95`,anchorElement:`_anchorElement_ng6un_104`};export{message_editor_module_default as t};
|
|
@@ -1,29 +1 @@
|
|
|
1
|
-
import '../styles/message-editor2.css';var
|
|
2
|
-
messageEditorWrapper: "_messageEditorWrapper_1498d_29",
|
|
3
|
-
editActionsColumn: "_editActionsColumn_1498d_34",
|
|
4
|
-
editActionsRow: "_editActionsRow_1498d_41",
|
|
5
|
-
characterLimitCounter: "_characterLimitCounter_1498d_47",
|
|
6
|
-
characterLimitCounterExceeded: "_characterLimitCounterExceeded_1498d_50",
|
|
7
|
-
messageEditor: "_messageEditor_1498d_29",
|
|
8
|
-
editorEditMode: "_editorEditMode_1498d_68",
|
|
9
|
-
editorFirstAnnotation: "_editorFirstAnnotation_1498d_75",
|
|
10
|
-
editorError: "_editorError_1498d_75",
|
|
11
|
-
editorViewport: "_editorViewport_1498d_83",
|
|
12
|
-
editorContainer: "_editorContainer_1498d_89",
|
|
13
|
-
editor: "_editor_1498d_68",
|
|
14
|
-
editorFade: "_editorFade_1498d_149",
|
|
15
|
-
editorFadeHidden: "_editorFadeHidden_1498d_160",
|
|
16
|
-
editorFullWidth: "_editorFullWidth_1498d_163",
|
|
17
|
-
actionsWrapper: "_actionsWrapper_1498d_167",
|
|
18
|
-
actionsWrapperInner: "_actionsWrapperInner_1498d_177",
|
|
19
|
-
timestampToggle: "_timestampToggle_1498d_184",
|
|
20
|
-
errorMessage: "_errorMessage_1498d_187",
|
|
21
|
-
errorText: "_errorText_1498d_196",
|
|
22
|
-
editorHasScroll: "_editorHasScroll_1498d_205",
|
|
23
|
-
editorCharacterLimitExceeded: "_editorCharacterLimitExceeded_1498d_216",
|
|
24
|
-
characterLimitExceeded: "_characterLimitExceeded_1498d_238",
|
|
25
|
-
scrolledToBottom: "_scrolledToBottom_1498d_241",
|
|
26
|
-
anchorElement: "_anchorElement_1498d_245",
|
|
27
|
-
withTimestampToggle: "_withTimestampToggle_1498d_254"
|
|
28
|
-
};
|
|
29
|
-
export { e as t };
|
|
1
|
+
import '../styles/message-editor2.css';var message_editor_module_default={messageEditorWrapper:`_messageEditorWrapper_1v8rm_29`,editActionsColumn:`_editActionsColumn_1v8rm_34`,editActionsRow:`_editActionsRow_1v8rm_41`,characterLimitCounter:`_characterLimitCounter_1v8rm_47`,messageEditor:`_messageEditor_1v8rm_29`,editorEditMode:`_editorEditMode_1v8rm_65`,editorFirstAnnotation:`_editorFirstAnnotation_1v8rm_72`,editorError:`_editorError_1v8rm_72`,editorViewport:`_editorViewport_1v8rm_80`,editorContainer:`_editorContainer_1v8rm_86`,editor:`_editor_1v8rm_65`,editorFade:`_editorFade_1v8rm_146`,editorFadeHidden:`_editorFadeHidden_1v8rm_157`,editorFullWidth:`_editorFullWidth_1v8rm_160`,actionsWrapper:`_actionsWrapper_1v8rm_164`,actionsWrapperInner:`_actionsWrapperInner_1v8rm_174`,timestampToggle:`_timestampToggle_1v8rm_181`,errorMessage:`_errorMessage_1v8rm_184`,errorText:`_errorText_1v8rm_193`,editorHasScroll:`_editorHasScroll_1v8rm_202`,editorCharacterLimitExceeded:`_editorCharacterLimitExceeded_1v8rm_213`,characterLimitExceeded:`_characterLimitExceeded_1v8rm_235`,scrolledToBottom:`_scrolledToBottom_1v8rm_238`,anchorElement:`_anchorElement_1v8rm_242`,withTimestampToggle:`_withTimestampToggle_1v8rm_251`};export{message_editor_module_default as t};
|
|
@@ -1,49 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { t } from "./delete-annotations-message-popover.js";
|
|
3
|
-
import { Text as n } from "@box/blueprint-web";
|
|
4
|
-
import { useState as r } from "react";
|
|
5
|
-
import { ReadableTime as i } from "@box/readable-time";
|
|
6
|
-
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
7
|
-
import '../styles/message-header.css';var s = {
|
|
8
|
-
headerContainer: "_headerContainer_18dlz_29",
|
|
9
|
-
information: "_information_18dlz_37",
|
|
10
|
-
textContainer: "_textContainer_18dlz_44",
|
|
11
|
-
author: "_author_18dlz_52",
|
|
12
|
-
deleteAction: "_deleteAction_18dlz_58"
|
|
13
|
-
}, c = ({ author: c, createdAt: l, isDeleteAllowed: u = !0, onAvatarClick: d, onDelete: f }) => {
|
|
14
|
-
let [p, m] = r(!1);
|
|
15
|
-
return /* @__PURE__ */ o("div", {
|
|
16
|
-
className: s.headerContainer,
|
|
17
|
-
children: [/* @__PURE__ */ o("div", {
|
|
18
|
-
className: s.information,
|
|
19
|
-
children: [/* @__PURE__ */ a(e, {
|
|
20
|
-
onClick: d,
|
|
21
|
-
user: c
|
|
22
|
-
}), /* @__PURE__ */ o("div", {
|
|
23
|
-
className: s.textContainer,
|
|
24
|
-
children: [/* @__PURE__ */ a(n, {
|
|
25
|
-
as: "p",
|
|
26
|
-
className: s.author,
|
|
27
|
-
color: "textOnLightDefault",
|
|
28
|
-
variant: "bodyDefaultBold",
|
|
29
|
-
children: c.name
|
|
30
|
-
}), /* @__PURE__ */ a(i, {
|
|
31
|
-
textProps: {
|
|
32
|
-
as: "span",
|
|
33
|
-
variant: "caption",
|
|
34
|
-
color: "textOnLightSecondary"
|
|
35
|
-
},
|
|
36
|
-
timestamp: l
|
|
37
|
-
})]
|
|
38
|
-
})]
|
|
39
|
-
}), u && /* @__PURE__ */ a("div", {
|
|
40
|
-
className: s.deleteAction,
|
|
41
|
-
"data-state": p ? "open" : "closed",
|
|
42
|
-
children: /* @__PURE__ */ a(t, {
|
|
43
|
-
onDelete: f,
|
|
44
|
-
onOpenChange: m
|
|
45
|
-
})
|
|
46
|
-
})]
|
|
47
|
-
});
|
|
48
|
-
};
|
|
49
|
-
export { c as t };
|
|
1
|
+
import{UserAvatarButton}from"../esm/lib/components/user-avatar/user-avatar.js";import{t as DeleteAnnotationMessagePopover}from"./delete-annotations-message-popover.js";import{Text}from"@box/blueprint-web";import{useState}from"react";import{ReadableTime}from"@box/readable-time";import{jsx,jsxs}from"react/jsx-runtime";import '../styles/message-header.css';var message_header_module_default={headerContainer:`_headerContainer_18dlz_29`,information:`_information_18dlz_37`,textContainer:`_textContainer_18dlz_44`,author:`_author_18dlz_52`,deleteAction:`_deleteAction_18dlz_58`},MessageHeader=({author,createdAt,isDeleteAllowed=!0,onAvatarClick,onDelete})=>{let[isPopoverOpen,setIsPopoverOpen]=useState(!1);return jsxs(`div`,{className:message_header_module_default.headerContainer,children:[jsxs(`div`,{className:message_header_module_default.information,children:[jsx(UserAvatarButton,{onClick:onAvatarClick,user:author}),jsxs(`div`,{className:message_header_module_default.textContainer,children:[jsx(Text,{as:`p`,className:message_header_module_default.author,color:`textOnLightDefault`,variant:`bodyDefaultBold`,children:author.name}),jsx(ReadableTime,{textProps:{as:`span`,variant:`caption`,color:`textOnLightSecondary`},timestamp:createdAt})]})]}),isDeleteAllowed&&jsx(`div`,{className:message_header_module_default.deleteAction,"data-state":isPopoverOpen?`open`:`closed`,children:jsx(DeleteAnnotationMessagePopover,{onDelete,onOpenChange:setIsPopoverOpen})})]})};export{MessageHeader as t};
|
|
@@ -1,99 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { t as n } from "./resolved-state.js";
|
|
3
|
-
import { t as r } from "./show-replies-button.js";
|
|
4
|
-
import { TextMessage as i } from "../esm/lib/components/v2/text-message/text-message.js";
|
|
5
|
-
import { useAutoScroll as a } from "../esm/lib/components/v2/messages-view/hooks/useAutoScroll.js";
|
|
6
|
-
import o from "clsx";
|
|
7
|
-
import { useRef as s } from "react";
|
|
8
|
-
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
9
|
-
import '../styles/messages-view.css';var u = {
|
|
10
|
-
messagesViewWrapper: "_messagesViewWrapper_1awp7_29",
|
|
11
|
-
overflowing: "_overflowing_1awp7_34",
|
|
12
|
-
scrollable: "_scrollable_1awp7_34",
|
|
13
|
-
withEditorBelow: "_withEditorBelow_1awp7_37",
|
|
14
|
-
messagesView: "_messagesView_1awp7_29",
|
|
15
|
-
repliesContainer: "_repliesContainer_1awp7_78",
|
|
16
|
-
messagesFade: "_messagesFade_1awp7_84"
|
|
17
|
-
}, d = ({ messages: d, isResolved: f = !1, resolvedBy: p, resolvedAt: m, maxCharacterCount: h, onDelete: g, onThreadDelete: _, onAvatarClick: v, onCopyLink: y, onEdit: b, onEditError: x, onResolve: S, onUnresolve: C, userSelectorProps: w, annotationTarget: T, onAnnotationBadgeClick: E, originalContentDeleted: D }) => {
|
|
18
|
-
let { viewState: O, dispatch: k, isAnnotations: A } = t(), j = s(null), M = O !== e.Collapsed, N = O === e.Composing, P = d.length > 2, F = P && !M, { handleScroll: I, isOverflowing: L } = a({
|
|
19
|
-
messageCount: d.length,
|
|
20
|
-
containerRef: j,
|
|
21
|
-
enabled: A,
|
|
22
|
-
isExpanded: M,
|
|
23
|
-
suppressAutoScroll: F
|
|
24
|
-
}), R = d[0], z = d.slice(1), B = z.length >= 1, V = z[z.length - 1], H = z.slice(0, -1), U = P && !M;
|
|
25
|
-
if (!R) return null;
|
|
26
|
-
let W = H[H.length - 1]?.author, G = H.length >= 2 ? H[H.length - 2].author : void 0, K = () => k({ type: "EXPAND" });
|
|
27
|
-
return /* @__PURE__ */ l("div", {
|
|
28
|
-
className: o(u.messagesViewWrapper, L && u.overflowing, L && N && u.withEditorBelow),
|
|
29
|
-
children: [/* @__PURE__ */ l("div", {
|
|
30
|
-
ref: j,
|
|
31
|
-
className: o(u.messagesView, A && u.scrollable),
|
|
32
|
-
onScroll: I,
|
|
33
|
-
children: [
|
|
34
|
-
/* @__PURE__ */ c(i, {
|
|
35
|
-
...R,
|
|
36
|
-
hasReplies: B,
|
|
37
|
-
showThreadedIndicator: B || f,
|
|
38
|
-
isResolved: f,
|
|
39
|
-
maxCharacterCount: h,
|
|
40
|
-
onDelete: g,
|
|
41
|
-
onThreadDelete: _,
|
|
42
|
-
onAvatarClick: v,
|
|
43
|
-
onCopyLink: y,
|
|
44
|
-
onEdit: b,
|
|
45
|
-
onEditError: x,
|
|
46
|
-
onResolve: S,
|
|
47
|
-
onUnresolve: C,
|
|
48
|
-
isFirstMessage: !0,
|
|
49
|
-
userSelectorProps: w,
|
|
50
|
-
annotationTarget: T,
|
|
51
|
-
onAnnotationBadgeClick: E,
|
|
52
|
-
originalContentDeleted: D
|
|
53
|
-
}),
|
|
54
|
-
U && W && /* @__PURE__ */ c(r, {
|
|
55
|
-
lastUser: W,
|
|
56
|
-
repliesCount: H.length,
|
|
57
|
-
secondLastUser: G,
|
|
58
|
-
onShowReplies: K
|
|
59
|
-
}),
|
|
60
|
-
M && H.length > 0 && /* @__PURE__ */ c("div", {
|
|
61
|
-
className: u.repliesContainer,
|
|
62
|
-
children: H.map((e) => /* @__PURE__ */ c(i, {
|
|
63
|
-
...e,
|
|
64
|
-
showThreadedIndicator: !0,
|
|
65
|
-
isResolved: f,
|
|
66
|
-
maxCharacterCount: h,
|
|
67
|
-
onDelete: g,
|
|
68
|
-
onAvatarClick: v,
|
|
69
|
-
onCopyLink: y,
|
|
70
|
-
onEdit: b,
|
|
71
|
-
onEditError: x,
|
|
72
|
-
onResolve: S,
|
|
73
|
-
onUnresolve: C,
|
|
74
|
-
userSelectorProps: w
|
|
75
|
-
}, e.id))
|
|
76
|
-
}),
|
|
77
|
-
V && /* @__PURE__ */ c(i, {
|
|
78
|
-
...V,
|
|
79
|
-
showThreadedIndicator: f,
|
|
80
|
-
isResolved: f,
|
|
81
|
-
maxCharacterCount: h,
|
|
82
|
-
onDelete: g,
|
|
83
|
-
onAvatarClick: v,
|
|
84
|
-
onCopyLink: y,
|
|
85
|
-
onEdit: b,
|
|
86
|
-
onEditError: x,
|
|
87
|
-
onResolve: S,
|
|
88
|
-
onUnresolve: C,
|
|
89
|
-
userSelectorProps: w
|
|
90
|
-
}),
|
|
91
|
-
f && p && m && /* @__PURE__ */ c(n, {
|
|
92
|
-
authorName: p,
|
|
93
|
-
createdAt: m
|
|
94
|
-
})
|
|
95
|
-
]
|
|
96
|
-
}), L && /* @__PURE__ */ c("div", { className: u.messagesFade })]
|
|
97
|
-
});
|
|
98
|
-
};
|
|
99
|
-
export { d as t };
|
|
1
|
+
import{ThreadViewState,useThreadedAnnotationsContext}from"../esm/lib/v2/threaded-annotations-context.js";import{t as ResolvedState}from"./resolved-state.js";import{t as ShowRepliesButton}from"./show-replies-button.js";import{TextMessage}from"../esm/lib/components/v2/text-message/text-message.js";import{useAutoScroll}from"../esm/lib/components/v2/messages-view/hooks/useAutoScroll.js";import clsx from"clsx";import{useRef}from"react";import{jsx,jsxs}from"react/jsx-runtime";import '../styles/messages-view.css';var messages_view_module_default={messagesViewWrapper:`_messagesViewWrapper_1awp7_29`,overflowing:`_overflowing_1awp7_34`,scrollable:`_scrollable_1awp7_34`,withEditorBelow:`_withEditorBelow_1awp7_37`,messagesView:`_messagesView_1awp7_29`,repliesContainer:`_repliesContainer_1awp7_78`,messagesFade:`_messagesFade_1awp7_84`},MessagesView=({messages,isResolved=!1,resolvedBy,resolvedAt,maxCharacterCount,onDelete,onThreadDelete,onAvatarClick,onCopyLink,onEdit,onEditError,onResolve,onUnresolve,userSelectorProps,annotationTarget,onAnnotationBadgeClick,originalContentDeleted})=>{let{viewState,dispatch,isAnnotations}=useThreadedAnnotationsContext(),containerRef=useRef(null),isExpanded=viewState!==ThreadViewState.Collapsed,isEditorVisible=viewState===ThreadViewState.Composing,hasHiddenReplies=messages.length>2,repliesHiddenWhileCollapsed=hasHiddenReplies&&!isExpanded,{handleScroll,isOverflowing}=useAutoScroll({messageCount:messages.length,containerRef,enabled:isAnnotations,isExpanded,suppressAutoScroll:repliesHiddenWhileCollapsed}),rootMessage=messages[0],replies=messages.slice(1),hasReplies=replies.length>=1,lastReply=replies[replies.length-1],middleReplies=replies.slice(0,-1),showRepliesButton=hasHiddenReplies&&!isExpanded;if(!rootMessage)return null;let buttonLastUser=middleReplies[middleReplies.length-1]?.author,buttonSecondLastUser=middleReplies.length>=2?middleReplies[middleReplies.length-2].author:void 0,handleShowReplies=()=>dispatch({type:`EXPAND`});return jsxs(`div`,{className:clsx(messages_view_module_default.messagesViewWrapper,isOverflowing&&messages_view_module_default.overflowing,isOverflowing&&isEditorVisible&&messages_view_module_default.withEditorBelow),children:[jsxs(`div`,{ref:containerRef,className:clsx(messages_view_module_default.messagesView,isAnnotations&&messages_view_module_default.scrollable),onScroll:handleScroll,children:[jsx(TextMessage,{...rootMessage,hasReplies,showThreadedIndicator:hasReplies||isResolved,isResolved,maxCharacterCount,onDelete,onThreadDelete,onAvatarClick,onCopyLink,onEdit,onEditError,onResolve,onUnresolve,isFirstMessage:!0,userSelectorProps,annotationTarget,onAnnotationBadgeClick,originalContentDeleted}),showRepliesButton&&buttonLastUser&&jsx(ShowRepliesButton,{lastUser:buttonLastUser,repliesCount:middleReplies.length,secondLastUser:buttonSecondLastUser,onShowReplies:handleShowReplies}),isExpanded&&middleReplies.length>0&&jsx(`div`,{className:messages_view_module_default.repliesContainer,children:middleReplies.map(reply=>jsx(TextMessage,{...reply,showThreadedIndicator:!0,isResolved,maxCharacterCount,onDelete,onAvatarClick,onCopyLink,onEdit,onEditError,onResolve,onUnresolve,userSelectorProps},reply.id))}),lastReply&&jsx(TextMessage,{...lastReply,showThreadedIndicator:isResolved,isResolved,maxCharacterCount,onDelete,onAvatarClick,onCopyLink,onEdit,onEditError,onResolve,onUnresolve,userSelectorProps}),isResolved&&resolvedBy&&resolvedAt&&jsx(ResolvedState,{authorName:resolvedBy,createdAt:resolvedAt})]}),isOverflowing&&jsx(`div`,{className:messages_view_module_default.messagesFade})]})};export{MessagesView as t};
|
|
@@ -1,55 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { Text as t } from "@box/blueprint-web";
|
|
3
|
-
import { useIntl as n } from "react-intl";
|
|
4
|
-
import { ReadableTime as r } from "@box/readable-time";
|
|
5
|
-
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
6
|
-
import { bpGreenLight125 as o } from "@box/blueprint-web-assets/tokens/tokens";
|
|
7
|
-
import { CheckmarkCircle as s } from "@box/blueprint-web-assets/icons/MediumFilled";
|
|
8
|
-
import '../styles/resolved-state.css';var c = {
|
|
9
|
-
resolvedState: "_resolvedState_1ts95_29",
|
|
10
|
-
leftContainer: "_leftContainer_1ts95_37",
|
|
11
|
-
rightContainer: "_rightContainer_1ts95_41",
|
|
12
|
-
statusLine: "_statusLine_1ts95_47",
|
|
13
|
-
authorName: "_authorName_1ts95_55",
|
|
14
|
-
statusText: "_statusText_1ts95_62"
|
|
15
|
-
}, l = ({ authorName: l, createdAt: u }) => {
|
|
16
|
-
let d = n();
|
|
17
|
-
return /* @__PURE__ */ a("div", {
|
|
18
|
-
"aria-label": d.formatMessage(e.resolvedStateAriaLabel),
|
|
19
|
-
className: c.resolvedState,
|
|
20
|
-
children: [/* @__PURE__ */ i("div", {
|
|
21
|
-
className: c.leftContainer,
|
|
22
|
-
children: /* @__PURE__ */ i(s, {
|
|
23
|
-
color: o,
|
|
24
|
-
height: 24,
|
|
25
|
-
width: 24
|
|
26
|
-
})
|
|
27
|
-
}), /* @__PURE__ */ a("div", {
|
|
28
|
-
className: c.rightContainer,
|
|
29
|
-
children: [/* @__PURE__ */ a("div", {
|
|
30
|
-
className: c.statusLine,
|
|
31
|
-
children: [/* @__PURE__ */ i(t, {
|
|
32
|
-
as: "span",
|
|
33
|
-
className: c.authorName,
|
|
34
|
-
color: "textOnLightDefault",
|
|
35
|
-
variant: "bodyDefaultBold",
|
|
36
|
-
children: l
|
|
37
|
-
}), /* @__PURE__ */ i(t, {
|
|
38
|
-
as: "span",
|
|
39
|
-
className: c.statusText,
|
|
40
|
-
color: "textOnLightDefault",
|
|
41
|
-
variant: "bodyDefault",
|
|
42
|
-
children: d.formatMessage(e.markedAsResolved)
|
|
43
|
-
})]
|
|
44
|
-
}), /* @__PURE__ */ i(r, {
|
|
45
|
-
textProps: {
|
|
46
|
-
as: "span",
|
|
47
|
-
variant: "bodySmall",
|
|
48
|
-
color: "textOnLightSecondary"
|
|
49
|
-
},
|
|
50
|
-
timestamp: u
|
|
51
|
-
})]
|
|
52
|
-
})]
|
|
53
|
-
});
|
|
54
|
-
};
|
|
55
|
-
export { l as t };
|
|
1
|
+
import messages from"../esm/lib/components/v2/resolved-state/messages.js";import{Text}from"@box/blueprint-web";import{useIntl}from"react-intl";import{ReadableTime}from"@box/readable-time";import{jsx,jsxs}from"react/jsx-runtime";import{bpGreenLight125,bpSize060}from"@box/blueprint-web-assets/tokens/tokens";import{CheckmarkCircle}from"@box/blueprint-web-assets/icons/MediumFilled";import '../styles/resolved-state.css';var resolved_state_module_default={resolvedState:`_resolvedState_1ts95_29`,leftContainer:`_leftContainer_1ts95_37`,rightContainer:`_rightContainer_1ts95_41`,statusLine:`_statusLine_1ts95_47`,authorName:`_authorName_1ts95_55`,statusText:`_statusText_1ts95_62`},ResolvedState=({authorName,createdAt})=>{let intl=useIntl();return jsxs(`div`,{"aria-label":intl.formatMessage(messages.resolvedStateAriaLabel),className:resolved_state_module_default.resolvedState,children:[jsx(`div`,{className:resolved_state_module_default.leftContainer,children:jsx(CheckmarkCircle,{color:bpGreenLight125,height:bpSize060,width:bpSize060})}),jsxs(`div`,{className:resolved_state_module_default.rightContainer,children:[jsxs(`div`,{className:resolved_state_module_default.statusLine,children:[jsx(Text,{as:`span`,className:resolved_state_module_default.authorName,color:`textOnLightDefault`,variant:`bodyDefaultBold`,children:authorName}),jsx(Text,{as:`span`,className:resolved_state_module_default.statusText,color:`textOnLightDefault`,variant:`bodyDefault`,children:intl.formatMessage(messages.markedAsResolved)})]}),jsx(ReadableTime,{textProps:{as:`span`,variant:`bodySmall`,color:`textOnLightSecondary`},timestamp:createdAt})]})]})};export{ResolvedState as t};
|
|
@@ -1,60 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import t from "../esm/lib/components/v2/show-replies-button/messages.js";
|
|
3
|
-
import { ButtonWrapper as n, Text as r } from "@box/blueprint-web";
|
|
4
|
-
import i from "clsx";
|
|
5
|
-
import { useIntl as a } from "react-intl";
|
|
6
|
-
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
7
|
-
import '../styles/show-replies-button.css';var c = {
|
|
8
|
-
showRepliesButtonWrapper: "_showRepliesButtonWrapper_b1es9_1",
|
|
9
|
-
contentWrapper: "_contentWrapper_b1es9_5",
|
|
10
|
-
threadedIndicator: "_threadedIndicator_b1es9_9",
|
|
11
|
-
buttonWrapper: "_buttonWrapper_b1es9_25",
|
|
12
|
-
repliesText: "_repliesText_b1es9_36",
|
|
13
|
-
avatarWrapper: "_avatarWrapper_b1es9_42",
|
|
14
|
-
lastUserAvatar: "_lastUserAvatar_b1es9_46",
|
|
15
|
-
secondLastUserAvatar: "_secondLastUserAvatar_b1es9_47",
|
|
16
|
-
lastUserAvatarStacked: "_lastUserAvatarStacked_b1es9_52"
|
|
17
|
-
}, l = ({ onShowReplies: l, repliesCount: u, lastUser: d, secondLastUser: f }) => {
|
|
18
|
-
let p = a(), m = p.formatMessage(t.showReplies, { number: u });
|
|
19
|
-
return /* @__PURE__ */ o("div", {
|
|
20
|
-
className: c.showRepliesButtonWrapper,
|
|
21
|
-
children: /* @__PURE__ */ s("div", {
|
|
22
|
-
className: c.contentWrapper,
|
|
23
|
-
children: [/* @__PURE__ */ o("div", { className: c.threadedIndicator }), /* @__PURE__ */ s(n, {
|
|
24
|
-
"aria-label": p.formatMessage(t.showRepliesButtonAriaLabel),
|
|
25
|
-
className: c.buttonWrapper,
|
|
26
|
-
"data-no-expand": !0,
|
|
27
|
-
onClick: l,
|
|
28
|
-
children: [/* @__PURE__ */ s("div", {
|
|
29
|
-
className: c.avatarWrapper,
|
|
30
|
-
children: [f && /* @__PURE__ */ o("div", {
|
|
31
|
-
className: c.secondLastUserAvatar,
|
|
32
|
-
children: /* @__PURE__ */ o(e, {
|
|
33
|
-
size: "small",
|
|
34
|
-
user: {
|
|
35
|
-
...f,
|
|
36
|
-
isExternalUser: !1
|
|
37
|
-
}
|
|
38
|
-
})
|
|
39
|
-
}), /* @__PURE__ */ o("div", {
|
|
40
|
-
className: i(c.lastUserAvatar, f && c.lastUserAvatarStacked),
|
|
41
|
-
children: /* @__PURE__ */ o(e, {
|
|
42
|
-
size: "small",
|
|
43
|
-
user: {
|
|
44
|
-
...d,
|
|
45
|
-
isExternalUser: !1
|
|
46
|
-
}
|
|
47
|
-
})
|
|
48
|
-
})]
|
|
49
|
-
}), /* @__PURE__ */ o(r, {
|
|
50
|
-
as: "span",
|
|
51
|
-
className: c.repliesText,
|
|
52
|
-
color: "textOnLightSecondary",
|
|
53
|
-
variant: "bodyDefaultBold",
|
|
54
|
-
children: m
|
|
55
|
-
})]
|
|
56
|
-
})]
|
|
57
|
-
})
|
|
58
|
-
});
|
|
59
|
-
};
|
|
60
|
-
export { l as t };
|
|
1
|
+
import{UserAvatar}from"../esm/lib/components/v2/user-avatar/user-avatar.js";import messages from"../esm/lib/components/v2/show-replies-button/messages.js";import{ButtonWrapper,Text}from"@box/blueprint-web";import clsx from"clsx";import{useIntl}from"react-intl";import{jsx,jsxs}from"react/jsx-runtime";import '../styles/show-replies-button.css';var show_replies_button_module_default={showRepliesButtonWrapper:`_showRepliesButtonWrapper_b1es9_1`,contentWrapper:`_contentWrapper_b1es9_5`,threadedIndicator:`_threadedIndicator_b1es9_9`,buttonWrapper:`_buttonWrapper_b1es9_25`,repliesText:`_repliesText_b1es9_36`,avatarWrapper:`_avatarWrapper_b1es9_42`,lastUserAvatar:`_lastUserAvatar_b1es9_46`,secondLastUserAvatar:`_secondLastUserAvatar_b1es9_47`,lastUserAvatarStacked:`_lastUserAvatarStacked_b1es9_52`},ShowRepliesButton=({onShowReplies,repliesCount,lastUser,secondLastUser})=>{let intl=useIntl(),buttonText=intl.formatMessage(messages.showReplies,{number:repliesCount});return jsx(`div`,{className:show_replies_button_module_default.showRepliesButtonWrapper,children:jsxs(`div`,{className:show_replies_button_module_default.contentWrapper,children:[jsx(`div`,{className:show_replies_button_module_default.threadedIndicator}),jsxs(ButtonWrapper,{"aria-label":intl.formatMessage(messages.showRepliesButtonAriaLabel),className:show_replies_button_module_default.buttonWrapper,"data-no-expand":!0,onClick:onShowReplies,children:[jsxs(`div`,{className:show_replies_button_module_default.avatarWrapper,children:[secondLastUser&&jsx(`div`,{className:show_replies_button_module_default.secondLastUserAvatar,children:jsx(UserAvatar,{size:`small`,user:{...secondLastUser,isExternalUser:!1}})}),jsx(`div`,{className:clsx(show_replies_button_module_default.lastUserAvatar,secondLastUser&&show_replies_button_module_default.lastUserAvatarStacked),children:jsx(UserAvatar,{size:`small`,user:{...lastUser,isExternalUser:!1}})})]}),jsx(Text,{as:`span`,className:show_replies_button_module_default.repliesText,color:`textOnLightSecondary`,variant:`bodyDefaultBold`,children:buttonText})]})]})})};export{ShowRepliesButton as t};
|
|
@@ -1,21 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { t } from "./message-header.js";
|
|
3
|
-
import { MessageRenderer as n } from "../esm/lib/components/text-message/message-renderer.js";
|
|
4
|
-
import { useIntl as r } from "react-intl";
|
|
5
|
-
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
6
|
-
import '../styles/text-message.css';var o = { textMessage: "_textMessage_mqpx0_1" }, s = ({ textMessageData: s, isDeleteAllowed: c = !0, onAvatarClick: l, onDelete: u }) => {
|
|
7
|
-
let { author: d, message: f, createdAt: p, id: m } = s;
|
|
8
|
-
return /* @__PURE__ */ a("div", {
|
|
9
|
-
"aria-label": r().formatMessage(e.annotationMessageAriaLabel),
|
|
10
|
-
className: o.textMessage,
|
|
11
|
-
"data-message-wrapper": !0,
|
|
12
|
-
children: [/* @__PURE__ */ i(t, {
|
|
13
|
-
author: d,
|
|
14
|
-
createdAt: p,
|
|
15
|
-
isDeleteAllowed: c,
|
|
16
|
-
onAvatarClick: l,
|
|
17
|
-
onDelete: () => u(m)
|
|
18
|
-
}), /* @__PURE__ */ i("div", { children: /* @__PURE__ */ i(n, { messageObject: f }) })]
|
|
19
|
-
});
|
|
20
|
-
};
|
|
21
|
-
export { s as t };
|
|
1
|
+
import messages from"../esm/lib/messages.js";import{t as MessageHeader}from"./message-header.js";import{MessageRenderer}from"../esm/lib/components/text-message/message-renderer.js";import{useIntl}from"react-intl";import{jsx,jsxs}from"react/jsx-runtime";import '../styles/text-message.css';var text_message_module_default={textMessage:`_textMessage_mqpx0_1`},TextMessage=({textMessageData,isDeleteAllowed=!0,onAvatarClick,onDelete})=>{let{author,message,createdAt,id}=textMessageData;return jsxs(`div`,{"aria-label":useIntl().formatMessage(messages.annotationMessageAriaLabel),className:text_message_module_default.textMessage,"data-message-wrapper":!0,children:[jsx(MessageHeader,{author,createdAt,isDeleteAllowed,onAvatarClick,onDelete:()=>onDelete(id)}),jsx(`div`,{children:jsx(MessageRenderer,{messageObject:message})})]})};export{TextMessage as t};
|
|
@@ -1,14 +1 @@
|
|
|
1
|
-
import '../styles/text-message2.css';var
|
|
2
|
-
textMessage: "_textMessage_1mths_29",
|
|
3
|
-
contentWrapper: "_contentWrapper_1mths_38",
|
|
4
|
-
threadedIndicator: "_threadedIndicator_1mths_43",
|
|
5
|
-
threadedIndicatorHidden: "_threadedIndicatorHidden_1mths_59",
|
|
6
|
-
messageContent: "_messageContent_1mths_62",
|
|
7
|
-
inlineEditSlot: "_inlineEditSlot_1mths_69",
|
|
8
|
-
annotationBadgeWrapper: "_annotationBadgeWrapper_1mths_72",
|
|
9
|
-
messageFooter: "_messageFooter_1mths_81",
|
|
10
|
-
readableTimeWrapper: "_readableTimeWrapper_1mths_89",
|
|
11
|
-
replyButton: "_replyButton_1mths_93",
|
|
12
|
-
seeMoreButton: "_seeMoreButton_1mths_108"
|
|
13
|
-
};
|
|
14
|
-
export { e as t };
|
|
1
|
+
import '../styles/text-message2.css';var text_message_module_default={textMessage:`_textMessage_1mths_29`,contentWrapper:`_contentWrapper_1mths_38`,threadedIndicator:`_threadedIndicator_1mths_43`,threadedIndicatorHidden:`_threadedIndicatorHidden_1mths_59`,messageContent:`_messageContent_1mths_62`,inlineEditSlot:`_inlineEditSlot_1mths_69`,annotationBadgeWrapper:`_annotationBadgeWrapper_1mths_72`,messageFooter:`_messageFooter_1mths_81`,readableTimeWrapper:`_readableTimeWrapper_1mths_89`,replyButton:`_replyButton_1mths_93`,seeMoreButton:`_seeMoreButton_1mths_108`};export{text_message_module_default as t};
|
|
@@ -1,71 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { MentionContextProvider as t } from "../esm/lib/components/mention-component/mention-context.js";
|
|
3
|
-
import { MessagesView as n } from "../esm/lib/components/messages-view/messages-view.js";
|
|
4
|
-
import { MessageEditor as r } from "../esm/lib/components/message-editor/message-editor.js";
|
|
5
|
-
import { TextButton as i } from "@box/blueprint-web";
|
|
6
|
-
import { ArrowArchedRight as a } from "@box/blueprint-web-assets/icons/Fill";
|
|
7
|
-
import o from "clsx";
|
|
8
|
-
import { useCallback as s, useEffect as c, useState as l } from "react";
|
|
9
|
-
import { useIntl as u } from "react-intl";
|
|
10
|
-
import { jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
11
|
-
import '../styles/threaded-annotations.css';var p = {
|
|
12
|
-
threadedAnnotations: "_threadedAnnotations_14dbm_1",
|
|
13
|
-
messagesContainer: "_messagesContainer_14dbm_11",
|
|
14
|
-
editorContainer: "_editorContainer_14dbm_20",
|
|
15
|
-
editorContainerWithBorder: "_editorContainerWithBorder_14dbm_25",
|
|
16
|
-
removePaddingTop: "_removePaddingTop_14dbm_28"
|
|
17
|
-
}, m = ({ messageEditorOptions: m, messagesViewOptions: h, onEditorOpen: g, onEditorClose: _, onAnnotationsClose: v, isReplyAllowed: y = !0, collaborationPopoverProps: b, getAvatarUrl: x, fetchCollaboratorState: S, fetchEmail: C }) => {
|
|
18
|
-
let w = h.messages.length, T = w === 0, E = u(), [D, O] = l(!1), [k, A] = l(() => w === 0);
|
|
19
|
-
c(() => {
|
|
20
|
-
w === 0 && A(!0);
|
|
21
|
-
}, [w]);
|
|
22
|
-
let j = s(() => {
|
|
23
|
-
y && (A(!0), g?.());
|
|
24
|
-
}, [g, y]), M = s((e) => {
|
|
25
|
-
if (T && e) {
|
|
26
|
-
v?.();
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
A(!1), _?.();
|
|
30
|
-
}, [
|
|
31
|
-
_,
|
|
32
|
-
T,
|
|
33
|
-
v
|
|
34
|
-
]), N = s((e) => {
|
|
35
|
-
O(e);
|
|
36
|
-
}, []);
|
|
37
|
-
return /* @__PURE__ */ d(t, {
|
|
38
|
-
value: {
|
|
39
|
-
collaborationPopoverProps: b,
|
|
40
|
-
getAvatarUrl: x,
|
|
41
|
-
fetchCollaboratorState: S,
|
|
42
|
-
fetchEmail: C
|
|
43
|
-
},
|
|
44
|
-
children: /* @__PURE__ */ f("div", {
|
|
45
|
-
className: p.threadedAnnotations,
|
|
46
|
-
children: [/* @__PURE__ */ d("div", {
|
|
47
|
-
className: o(p.messagesContainer, { [p.removePaddingTop]: T }),
|
|
48
|
-
children: /* @__PURE__ */ d(n, {
|
|
49
|
-
...h,
|
|
50
|
-
onOverflowChange: N
|
|
51
|
-
})
|
|
52
|
-
}), /* @__PURE__ */ d("div", {
|
|
53
|
-
className: o(p.editorContainer, {
|
|
54
|
-
[p.removePaddingBottom]: !y,
|
|
55
|
-
[p.editorContainerWithBorder]: D && y
|
|
56
|
-
}),
|
|
57
|
-
children: y && (k ? /* @__PURE__ */ d(r, {
|
|
58
|
-
...m,
|
|
59
|
-
messageCount: w,
|
|
60
|
-
onCancel: M
|
|
61
|
-
}) : /* @__PURE__ */ d(i, {
|
|
62
|
-
"aria-label": E.formatMessage(e.replyButtonAriaLabel),
|
|
63
|
-
icon: a,
|
|
64
|
-
onClick: j,
|
|
65
|
-
children: E.formatMessage(e.reply)
|
|
66
|
-
}))
|
|
67
|
-
})]
|
|
68
|
-
})
|
|
69
|
-
});
|
|
70
|
-
};
|
|
71
|
-
export { m as t };
|
|
1
|
+
import messages from"../esm/lib/messages.js";import{MentionContextProvider}from"../esm/lib/components/mention-component/mention-context.js";import{MessagesView}from"../esm/lib/components/messages-view/messages-view.js";import{MessageEditor}from"../esm/lib/components/message-editor/message-editor.js";import{TextButton}from"@box/blueprint-web";import{ArrowArchedRight}from"@box/blueprint-web-assets/icons/Fill";import clsx from"clsx";import{useCallback,useEffect,useState}from"react";import{useIntl}from"react-intl";import{jsx,jsxs}from"react/jsx-runtime";import '../styles/threaded-annotations.css';var threaded_annotations_module_default={threadedAnnotations:`_threadedAnnotations_14dbm_1`,messagesContainer:`_messagesContainer_14dbm_11`,editorContainer:`_editorContainer_14dbm_20`,editorContainerWithBorder:`_editorContainerWithBorder_14dbm_25`,removePaddingTop:`_removePaddingTop_14dbm_28`},ThreadedAnnotations=({messageEditorOptions,messagesViewOptions,onEditorOpen,onEditorClose,onAnnotationsClose,isReplyAllowed=!0,collaborationPopoverProps,getAvatarUrl,fetchCollaboratorState,fetchEmail})=>{let messageCount=messagesViewOptions.messages.length,isMessagesEmpty=messageCount===0,intl=useIntl(),[isOverflowing,setIsOverflowing]=useState(!1),[isReplyOpen,setIsReplyOpen]=useState(()=>messageCount===0);useEffect(()=>{messageCount===0&&setIsReplyOpen(!0)},[messageCount]);let handleEditorOpen=useCallback(()=>{isReplyAllowed&&(setIsReplyOpen(!0),onEditorOpen?.())},[onEditorOpen,isReplyAllowed]),handleEditorClose=useCallback(replyMode=>{if(isMessagesEmpty&&replyMode){onAnnotationsClose?.();return}setIsReplyOpen(!1),onEditorClose?.()},[onEditorClose,isMessagesEmpty,onAnnotationsClose]),handleOverflowChange=useCallback(overflowing=>{setIsOverflowing(overflowing)},[]);return jsx(MentionContextProvider,{value:{collaborationPopoverProps,getAvatarUrl,fetchCollaboratorState,fetchEmail},children:jsxs(`div`,{className:threaded_annotations_module_default.threadedAnnotations,children:[jsx(`div`,{className:clsx(threaded_annotations_module_default.messagesContainer,{[threaded_annotations_module_default.removePaddingTop]:isMessagesEmpty}),children:jsx(MessagesView,{...messagesViewOptions,onOverflowChange:handleOverflowChange})}),jsx(`div`,{className:clsx(threaded_annotations_module_default.editorContainer,{[threaded_annotations_module_default.removePaddingBottom]:!isReplyAllowed,[threaded_annotations_module_default.editorContainerWithBorder]:isOverflowing&&isReplyAllowed}),children:isReplyAllowed&&(isReplyOpen?jsx(MessageEditor,{...messageEditorOptions,messageCount,onCancel:handleEditorClose}):jsx(TextButton,{"aria-label":intl.formatMessage(messages.replyButtonAriaLabel),icon:ArrowArchedRight,onClick:handleEditorOpen,children:intl.formatMessage(messages.reply)}))})]})})};export{ThreadedAnnotations as t};
|