@box/threaded-annotations 4.2.0 → 4.2.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.
@@ -1 +1 @@
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};
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.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};
@@ -1 +1 @@
1
- import{THREADED_ANNOTATIONS_RESIN_COMPONENTS}from"../../../v2/resin-targets.js";import{MessageEditorVariant}from"../message-editor/message-editor.types.js";import{MessageEditor}from"../message-editor/message-editor.js";import{useThreadedAnnotationsContext}from"../../../v2/threaded-annotations-context.js";import{t as AnnotationBadge}from"../../../../../chunks/annotation-badge.js";import{MessageHeader}from"../message-header/message-header.js";import messages from"./messages.js";import{t as text_message_module_default}from"../../../../../chunks/text-message.module.js";import{MessageFooter}from"./subcomponents/message-footer.js";import{MessageRenderer}from"./subcomponents/message-renderer.js";import clsx from"clsx";import{useIntl}from"react-intl";import{Fragment,jsx,jsxs}from"react/jsx-runtime";var TextMessage=({id,author,message,createdAt,updatedAt,permissions,showThreadedIndicator=!0,isResolved=!1,isFirstMessage=!1,hasReplies=!1,maxCharacterCount,onAvatarClick,onCopyLink,onDelete,onThreadDelete,onEdit,onEditError,onResolve,onUnresolve,userSelectorProps,annotationTarget,onAnnotationBadgeClick,originalContentDeleted})=>{let{canResolve,canEdit,canDelete}=permissions,intl=useIntl(),{dispatch,isReplyDisabled,isEditDisabled,isAnnotations,editingMessageId}=useThreadedAnnotationsContext(),isEditing=editingMessageId===id,canOpenEdit=!!onEdit&&!isEditDisabled&&canEdit;return jsxs(`div`,{"aria-label":intl.formatMessage(messages.annotationMessageAriaLabel),className:text_message_module_default.textMessage,"data-message-wrapper":!0,"data-message-id":id,"data-resin-component":THREADED_ANNOTATIONS_RESIN_COMPONENTS.COMMENT_CARD,children:[jsx(MessageHeader,{author,canResolve,isResolved,canDelete,canEdit:canOpenEdit,hasReplies,isFirstMessage,onAvatarClick,onCopyLink:onCopyLink?()=>onCopyLink(id):void 0,onDelete:()=>onDelete(id),onThreadDelete,onEdit:canOpenEdit?()=>dispatch({type:`EDIT`,id}):void 0,onResolve:onResolve?()=>onResolve(id):void 0,onUnresolve:onUnresolve?()=>onUnresolve(id):void 0}),jsxs(`div`,{className:text_message_module_default.contentWrapper,children:[jsx(`div`,{className:clsx(text_message_module_default.threadedIndicator,!showThreadedIndicator&&text_message_module_default.threadedIndicatorHidden)}),jsxs(`div`,{className:text_message_module_default.messageContent,children:[annotationTarget&&!isAnnotations&&jsx(`div`,{className:text_message_module_default.annotationBadgeWrapper,children:jsx(AnnotationBadge,{annotationTarget,onClick:()=>onAnnotationBadgeClick?.(id),originalContentDeleted})}),isEditing&&onEdit?jsx(`div`,{className:text_message_module_default.inlineEditSlot,children:jsx(MessageEditor,{initialContent:message,maxCharacterCount,onEditCancel:()=>dispatch({type:`CLEAR_EDIT`}),onEditSuccess:()=>dispatch({type:`CLEAR_EDIT`}),onSave:content=>onEdit(id,content),onSaveError:onEditError,userSelectorProps,variant:MessageEditorVariant.EDIT_MESSAGE})}):jsxs(Fragment,{children:[jsx(`div`,{className:text_message_module_default.rendererWrapper,"data-message-body":!0,children:jsx(MessageRenderer,{messageObject:message})}),jsx(MessageFooter,{createdAt,onReply:isReplyDisabled?void 0:()=>dispatch({type:`REPLY`,author}),updatedAt})]})]})]})]})};export{TextMessage};
1
+ import{THREADED_ANNOTATIONS_RESIN_COMPONENTS}from"../../../v2/resin-targets.js";import{MessageEditorVariant}from"../message-editor/message-editor.types.js";import{MessageEditor}from"../message-editor/message-editor.js";import{useThreadedAnnotationsContext}from"../../../v2/threaded-annotations-context.js";import{t as AnnotationBadge}from"../../../../../chunks/annotation-badge.js";import{MessageHeader}from"../message-header/message-header.js";import messages from"./messages.js";import{t as text_message_module_default}from"../../../../../chunks/text-message.module.js";import{MessageFooter}from"./subcomponents/message-footer.js";import{MessageRenderer}from"./subcomponents/message-renderer.js";import clsx from"clsx";import{useIntl}from"react-intl";import{Fragment,jsx,jsxs}from"react/jsx-runtime";var TextMessage=({id,author,message,createdAt,updatedAt,permissions,showThreadedIndicator=!0,isResolved=!1,isFirstMessage=!1,hasReplies=!1,maxCharacterCount,onAvatarClick,onCopyLink,onDelete,onThreadDelete,onEdit,onEditError,onResolve,onUnresolve,userSelectorProps,annotationTarget,onAnnotationBadgeClick,originalContentDeleted})=>{let{canResolve,canEdit,canDelete}=permissions,intl=useIntl(),{dispatch,isReplyDisabled,isEditDisabled,isAnnotations,editingMessageId}=useThreadedAnnotationsContext(),isEditing=editingMessageId===id,canOpenEdit=!!onEdit&&!isEditDisabled&&canEdit;return jsxs(`div`,{"aria-label":intl.formatMessage(messages.annotationMessageAriaLabel),className:text_message_module_default.textMessage,"data-message-wrapper":!0,"data-message-id":id,"data-resin-component":THREADED_ANNOTATIONS_RESIN_COMPONENTS.COMMENT_CARD,children:[jsx(MessageHeader,{author,canResolve,isResolved,canDelete,canEdit:canOpenEdit,hasReplies,isFirstMessage,onAvatarClick,onCopyLink:onCopyLink?()=>onCopyLink(id):void 0,onDelete:()=>onDelete(id),onThreadDelete,onEdit:canOpenEdit?()=>dispatch({type:`EDIT`,id}):void 0,onResolve:onResolve?()=>onResolve(id):void 0,onUnresolve:onUnresolve?()=>onUnresolve(id):void 0}),jsxs(`div`,{className:text_message_module_default.contentWrapper,children:[jsx(`div`,{className:clsx(text_message_module_default.threadedIndicator,!showThreadedIndicator&&text_message_module_default.threadedIndicatorHidden)}),jsxs(`div`,{className:text_message_module_default.messageContent,children:[annotationTarget&&!isAnnotations&&jsx(`div`,{className:text_message_module_default.annotationBadgeWrapper,children:jsx(AnnotationBadge,{annotationTarget,onClick:()=>onAnnotationBadgeClick?.(id),originalContentDeleted})}),isEditing&&onEdit?jsx(`div`,{className:text_message_module_default.inlineEditSlot,children:jsx(MessageEditor,{initialContent:message,maxCharacterCount,onEditCancel:()=>dispatch({type:`CLEAR_EDIT`}),onEditSuccess:()=>dispatch({type:`CLEAR_EDIT`}),onSave:content=>onEdit(id,content),onSaveError:onEditError,userSelectorProps,variant:MessageEditorVariant.EDIT_MESSAGE})}):jsxs(Fragment,{children:[jsx(`div`,{"data-message-body":!0,children:jsx(MessageRenderer,{messageObject:message})}),jsx(MessageFooter,{createdAt,onReply:isReplyDisabled?void 0:()=>dispatch({type:`REPLY`,author}),updatedAt})]})]})]})]})};export{TextMessage};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@box/threaded-annotations",
3
- "version": "4.2.0",
3
+ "version": "4.2.2",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "dependencies": {
6
6
  "@floating-ui/dom": "^1.6.0",
@@ -17,23 +17,23 @@
17
17
  "uuid": "^9.0.1"
18
18
  },
19
19
  "peerDependencies": {
20
- "@box/blueprint-web": "^16.14.0",
21
- "@box/blueprint-web-assets": "^5.6.0",
22
- "@box/collaboration-popover": "^2.2.0",
23
- "@box/readable-time": "^2.2.0",
24
- "@box/user-selector": "^2.2.0",
20
+ "@box/blueprint-web": "^16.14.2",
21
+ "@box/blueprint-web-assets": "^5.6.2",
22
+ "@box/collaboration-popover": "^2.2.2",
23
+ "@box/readable-time": "^2.2.2",
24
+ "@box/user-selector": "^2.2.2",
25
25
  "clsx": "^1.2.1",
26
26
  "react": "^18.0.0",
27
27
  "react-dom": "^18.0.0",
28
28
  "react-intl": "^6.4.2"
29
29
  },
30
30
  "devDependencies": {
31
- "@box/blueprint-web": "^16.14.0",
32
- "@box/blueprint-web-assets": "^5.6.0",
31
+ "@box/blueprint-web": "^16.14.2",
32
+ "@box/blueprint-web-assets": "^5.6.2",
33
33
  "@box/eslint-plugin-blueprint": "2.2.0",
34
- "@box/readable-time": "^2.2.0",
35
- "@box/storybook-utils": "^1.2.0",
36
- "@box/user-selector": "^2.2.0",
34
+ "@box/readable-time": "^2.2.2",
35
+ "@box/storybook-utils": "^1.2.2",
36
+ "@box/user-selector": "^2.2.2",
37
37
  "react": "^18.0.0",
38
38
  "react-dom": "^18.0.0"
39
39
  },