@box/threaded-annotations 4.9.8 → 4.10.0

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{CustomMention}from"./custom-mention/custom-mention.js";import{CustomParagraph}from"./custom-paragraph.js";import{DismissBarOnEscape}from"./dismiss-bar-on-escape.js";import{NormalizeEmptyNodeSelection}from"./normalize-empty-node-selection.js";import Document from"@tiptap/extension-document";import Text from"@tiptap/extension-text";import Bold from"@tiptap/extension-bold";import Italic from"@tiptap/extension-italic";import{BulletList,ListItem,OrderedList}from"@tiptap/extension-list";import Underline from"@tiptap/extension-underline";import{Placeholder,UndoRedo}from"@tiptap/extensions";var createMessageEditorExtensions=({isRichTextEnabled,mentionSuggestion,placeholder})=>{let baseExtensions=[Document,CustomParagraph,Placeholder.configure({placeholder,showOnlyWhenEditable:!1}),Text,CustomMention.configure({suggestion:mentionSuggestion})];return isRichTextEnabled?[...baseExtensions,UndoRedo,Bold,Italic,Underline,BulletList.configure({keepMarks:!0}),OrderedList.configure({keepMarks:!0}),ListItem,NormalizeEmptyNodeSelection,DismissBarOnEscape]:baseExtensions};export{createMessageEditorExtensions};
1
+ import{CustomMention}from"./custom-mention/custom-mention.js";import{CustomParagraph}from"./custom-paragraph.js";import{DismissBarOnEscape}from"./dismiss-bar-on-escape.js";import{NormalizeEmptyNodeSelection}from"./normalize-empty-node-selection.js";import{StripMentionMarks}from"./strip-mention-marks.js";import Document from"@tiptap/extension-document";import Text from"@tiptap/extension-text";import Bold from"@tiptap/extension-bold";import Italic from"@tiptap/extension-italic";import{BulletList,ListItem,OrderedList}from"@tiptap/extension-list";import Underline from"@tiptap/extension-underline";import{Placeholder,UndoRedo}from"@tiptap/extensions";var createMessageEditorExtensions=({isRichTextEnabled,mentionSuggestion,placeholder})=>{let baseExtensions=[Document,CustomParagraph,Placeholder.configure({placeholder,showOnlyWhenEditable:!1}),Text,CustomMention.configure({suggestion:mentionSuggestion})];return isRichTextEnabled?[...baseExtensions,UndoRedo,Bold,Italic,Underline,BulletList.configure({keepMarks:!0}),OrderedList.configure({keepMarks:!0}),ListItem,NormalizeEmptyNodeSelection,DismissBarOnEscape,StripMentionMarks]:baseExtensions};export{createMessageEditorExtensions};
@@ -1 +1 @@
1
- import{t as MentionComponent}from"../../../../../../../chunks/mention-component.js";import{jsx}from"react/jsx-runtime";import{NodeViewWrapper,ReactNodeViewRenderer}from"@tiptap/react";import{mergeAttributes}from"@tiptap/core";import Mention from"@tiptap/extension-mention";var MentionNodeView=({node})=>{let{mentionedUserName,mentionedUserId,mentionedUserEmail,mentionId}=node.attrs;return jsx(NodeViewWrapper,{as:`span`,children:jsx(MentionComponent,{mentionedUserEmail,mentionedUserId,mentionedUserName,mentionId})})},CustomMention=Mention.extend({addAttributes(){return{mentionedUserId:{default:null,parseHTML:element=>element.getAttribute(`data-mentioned-user-id`),renderHTML:attributes=>attributes.mentionedUserId?{"data-mentioned-user-id":attributes.mentionedUserId}:{}},mentionedUserName:{default:null,parseHTML:element=>element.getAttribute(`data-mentioned-user-name`),renderHTML:attributes=>attributes.mentionedUserName?{"data-mentioned-user-name":attributes.mentionedUserName}:{}},mentionedUserEmail:{default:null,parseHTML:element=>element.getAttribute(`data-mentioned-user-email`),renderHTML:attributes=>attributes.mentionedUserEmail?{"data-mentioned-user-email":attributes.mentionedUserEmail}:{}},mentionId:{default:null,parseHTML:element=>element.getAttribute(`data-mention-id`),renderHTML:attributes=>({"data-mention-id":attributes.mentionId})}}},addNodeView(){return ReactNodeViewRenderer(MentionNodeView)},renderHTML({HTMLAttributes,node}){return[`span`,mergeAttributes(this.options.HTMLAttributes,HTMLAttributes,{"data-component-type":`mention`,"data-mentioned-user-id":node.attrs.mentionedUserId,"data-mentioned-user-name":node.attrs.mentionedUserName,"data-mentioned-user-email":node.attrs.mentionedUserEmail,"data-mention-id":node.attrs.mentionId}),`@${node.attrs.mentionedUserName}`]}});export{CustomMention};
1
+ import{t as MentionComponent}from"../../../../../../../chunks/mention-component.js";import{jsx}from"react/jsx-runtime";import{NodeViewWrapper,ReactNodeViewRenderer}from"@tiptap/react";import{mergeAttributes}from"@tiptap/core";import Mention from"@tiptap/extension-mention";var MentionNodeView=({node})=>{let{mentionedUserName,mentionedUserId,mentionedUserEmail,mentionId}=node.attrs;return jsx(NodeViewWrapper,{as:`span`,children:jsx(MentionComponent,{mentionedUserEmail,mentionedUserId,mentionedUserName,mentionId})})},CustomMention=Mention.extend({marks:``,addAttributes(){return{mentionedUserId:{default:null,parseHTML:element=>element.getAttribute(`data-mentioned-user-id`),renderHTML:attributes=>attributes.mentionedUserId?{"data-mentioned-user-id":attributes.mentionedUserId}:{}},mentionedUserName:{default:null,parseHTML:element=>element.getAttribute(`data-mentioned-user-name`),renderHTML:attributes=>attributes.mentionedUserName?{"data-mentioned-user-name":attributes.mentionedUserName}:{}},mentionedUserEmail:{default:null,parseHTML:element=>element.getAttribute(`data-mentioned-user-email`),renderHTML:attributes=>attributes.mentionedUserEmail?{"data-mentioned-user-email":attributes.mentionedUserEmail}:{}},mentionId:{default:null,parseHTML:element=>element.getAttribute(`data-mention-id`),renderHTML:attributes=>({"data-mention-id":attributes.mentionId})}}},addNodeView(){return ReactNodeViewRenderer(MentionNodeView)},renderHTML({HTMLAttributes,node}){return[`span`,mergeAttributes(this.options.HTMLAttributes,HTMLAttributes,{"data-component-type":`mention`,"data-mentioned-user-id":node.attrs.mentionedUserId,"data-mentioned-user-name":node.attrs.mentionedUserName,"data-mentioned-user-email":node.attrs.mentionedUserEmail,"data-mention-id":node.attrs.mentionId}),`@${node.attrs.mentionedUserName}`]}});export{CustomMention};
@@ -0,0 +1 @@
1
+ import{Extension}from"@tiptap/core";import{Plugin,PluginKey}from"@tiptap/pm/state";var StripMentionMarks=Extension.create({name:`stripMentionMarks`,addProseMirrorPlugins(){return[new Plugin({key:new PluginKey(`stripMentionMarks`),appendTransaction:(transactions,_oldState,newState)=>{if(!transactions.some(transaction=>transaction.docChanged))return null;let mentionType=newState.schema.nodes.mention,transaction=newState.tr,stripped=!1;return newState.doc.descendants((node,pos)=>{node.type!==mentionType||node.marks.length===0||(transaction=transaction.removeMark(pos,pos+node.nodeSize),stripped=!0)}),stripped?transaction:null}})]}});export{StripMentionMarks};
@@ -0,0 +1,8 @@
1
+ import { Extension } from '@tiptap/core';
2
+ /**
3
+ * Mention is an atom, so `marks: ''` on the node does not stop addMark.
4
+ * ProseMirror only checks that the parent paragraph allows the mark — toolbar
5
+ * underline therefore wraps the chip. Strip mention marks after doc changes;
6
+ * adjacent text still formats.
7
+ */
8
+ export declare const StripMentionMarks: Extension<any, any>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@box/threaded-annotations",
3
- "version": "4.9.8",
3
+ "version": "4.10.0",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "dependencies": {
6
6
  "@floating-ui/dom": "^1.6.0",