@dialpad/dialtone 9.116.0 → 9.117.1
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/css/dialtone-default-theme.css +4 -4
- package/dist/css/dialtone-default-theme.min.css +1 -1
- package/dist/css/dialtone-docs.json +1 -1
- package/dist/css/tokens/tokens-base-dark.css +1 -1
- package/dist/css/tokens/tokens-base-deca-dark.css +1 -1
- package/dist/css/tokens/tokens-base-deca-light.css +1 -1
- package/dist/css/tokens/tokens-base-light.css +1 -1
- package/dist/css/tokens/tokens-debug-base.css +1 -1
- package/dist/css/tokens/tokens-debug-dp.css +3 -3
- package/dist/css/tokens/tokens-deca-dark.css +3 -3
- package/dist/css/tokens/tokens-deca-light.css +3 -3
- package/dist/css/tokens/tokens-dp-dark.css +3 -3
- package/dist/css/tokens/tokens-dp-light.css +3 -3
- package/dist/css/tokens/tokens-expressive-dark.css +3 -3
- package/dist/css/tokens/tokens-expressive-light.css +3 -3
- package/dist/css/tokens/tokens-expressive-sm-dark.css +3 -3
- package/dist/css/tokens/tokens-expressive-sm-light.css +3 -3
- package/dist/css/tokens/tokens-tmo-dark.css +3 -3
- package/dist/css/tokens/tokens-tmo-light.css +3 -3
- package/dist/css/tokens-docs.json +1 -1
- package/dist/tokens/css/tokens-base-dark.css +1 -1
- package/dist/tokens/css/tokens-base-deca-dark.css +1 -1
- package/dist/tokens/css/tokens-base-deca-light.css +1 -1
- package/dist/tokens/css/tokens-base-light.css +1 -1
- package/dist/tokens/css/tokens-debug-base.css +1 -1
- package/dist/tokens/css/tokens-debug-dp.css +3 -3
- package/dist/tokens/css/tokens-deca-dark.css +3 -3
- package/dist/tokens/css/tokens-deca-light.css +3 -3
- package/dist/tokens/css/tokens-dp-dark.css +3 -3
- package/dist/tokens/css/tokens-dp-light.css +3 -3
- package/dist/tokens/css/tokens-expressive-dark.css +3 -3
- package/dist/tokens/css/tokens-expressive-light.css +3 -3
- package/dist/tokens/css/tokens-expressive-sm-dark.css +3 -3
- package/dist/tokens/css/tokens-expressive-sm-light.css +3 -3
- package/dist/tokens/css/tokens-tmo-dark.css +3 -3
- package/dist/tokens/css/tokens-tmo-light.css +3 -3
- package/dist/tokens/doc.json +27262 -27262
- package/dist/tokens/less/tokens-base-dark.less +1 -1
- package/dist/tokens/less/tokens-base-deca-dark.less +1 -1
- package/dist/tokens/less/tokens-base-deca-light.less +1 -1
- package/dist/tokens/less/tokens-base-light.less +1 -1
- package/dist/tokens/less/tokens-deca-dark.less +3 -3
- package/dist/tokens/less/tokens-deca-light.less +3 -3
- package/dist/tokens/less/tokens-dp-dark.less +3 -3
- package/dist/tokens/less/tokens-dp-light.less +3 -3
- package/dist/tokens/less/tokens-expressive-dark.less +3 -3
- package/dist/tokens/less/tokens-expressive-light.less +3 -3
- package/dist/tokens/less/tokens-expressive-sm-dark.less +3 -3
- package/dist/tokens/less/tokens-expressive-sm-light.less +3 -3
- package/dist/tokens/less/tokens-tmo-dark.less +3 -3
- package/dist/tokens/less/tokens-tmo-light.less +3 -3
- package/dist/tokens/themes/chunks/tokens-base-dark-CKvoqrK2.js +1 -0
- package/dist/tokens/themes/chunks/tokens-base-dark-CLL9Sz8C.js +4 -0
- package/dist/tokens/themes/chunks/tokens-base-light-C7afXvK5.js +4 -0
- package/dist/tokens/themes/chunks/tokens-base-light-DgGeYJGp.js +1 -0
- package/dist/tokens/themes/debug.cjs +1 -1
- package/dist/tokens/themes/debug.js +1 -1
- package/dist/tokens/themes/dp-dark.cjs +1 -1
- package/dist/tokens/themes/dp-dark.js +2 -2
- package/dist/tokens/themes/dp-deca-dark.cjs +1 -1
- package/dist/tokens/themes/dp-deca-dark.js +1 -1
- package/dist/tokens/themes/dp-deca-light.cjs +1 -1
- package/dist/tokens/themes/dp-deca-light.js +1 -1
- package/dist/tokens/themes/dp-light.cjs +1 -1
- package/dist/tokens/themes/dp-light.js +2 -2
- package/dist/tokens/themes/expressive-dark.cjs +1 -1
- package/dist/tokens/themes/expressive-dark.js +2 -2
- package/dist/tokens/themes/expressive-light.cjs +1 -1
- package/dist/tokens/themes/expressive-light.js +2 -2
- package/dist/tokens/themes/expressive-sm-dark.cjs +1 -1
- package/dist/tokens/themes/expressive-sm-dark.js +2 -2
- package/dist/tokens/themes/expressive-sm-light.cjs +1 -1
- package/dist/tokens/themes/expressive-sm-light.js +2 -2
- package/dist/tokens/themes/tmo-dark.cjs +1 -1
- package/dist/tokens/themes/tmo-dark.js +2 -2
- package/dist/tokens/themes/tmo-light.cjs +1 -1
- package/dist/tokens/themes/tmo-light.js +2 -2
- package/dist/tokens/tokens-base-dark.json +1 -1
- package/dist/tokens/tokens-base-deca-dark.json +1 -1
- package/dist/tokens/tokens-base-deca-light.json +1 -1
- package/dist/tokens/tokens-base-light.json +1 -1
- package/dist/tokens/tokens-deca-dark.json +3 -3
- package/dist/tokens/tokens-deca-light.json +3 -3
- package/dist/tokens/tokens-dp-dark.json +3 -3
- package/dist/tokens/tokens-dp-light.json +3 -3
- package/dist/tokens/tokens-expressive-dark.json +3 -3
- package/dist/tokens/tokens-expressive-light.json +3 -3
- package/dist/tokens/tokens-expressive-sm-dark.json +3 -3
- package/dist/tokens/tokens-expressive-sm-light.json +3 -3
- package/dist/tokens/tokens-tmo-dark.json +3 -3
- package/dist/tokens/tokens-tmo-light.json +3 -3
- package/dist/vue2/component-documentation.json +1 -1
- package/dist/vue2/lib/editor/editor.cjs +1 -1
- package/dist/vue2/lib/editor/editor.cjs.map +1 -1
- package/dist/vue2/lib/editor/editor.js +6 -6
- package/dist/vue2/lib/editor/editor.js.map +1 -1
- package/dist/vue2/lib/rich-text-editor/rich-text-editor.cjs +3 -3
- package/dist/vue2/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
- package/dist/vue2/lib/rich-text-editor/rich-text-editor.js +183 -166
- package/dist/vue2/lib/rich-text-editor/rich-text-editor.js.map +1 -1
- package/dist/vue2/localization/index.cjs +5 -1
- package/dist/vue2/localization/index.cjs.map +1 -1
- package/dist/vue2/localization/index.js +4865 -21
- package/dist/vue2/localization/index.js.map +1 -1
- package/dist/vue2/node_modules/@tiptap/vue-2.cjs.map +1 -1
- package/dist/vue2/node_modules/@tiptap/vue-2.js.map +1 -1
- package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts +18 -0
- package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
- package/dist/vue2/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
- package/dist/vue3/component-documentation.json +1 -1
- package/dist/vue3/lib/editor/editor.cjs +1 -1
- package/dist/vue3/lib/editor/editor.cjs.map +1 -1
- package/dist/vue3/lib/editor/editor.js +15 -13
- package/dist/vue3/lib/editor/editor.js.map +1 -1
- package/dist/vue3/lib/rich-text-editor/rich-text-editor.cjs +3 -3
- package/dist/vue3/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
- package/dist/vue3/lib/rich-text-editor/rich-text-editor.js +181 -164
- package/dist/vue3/lib/rich-text-editor/rich-text-editor.js.map +1 -1
- package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts +18 -0
- package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
- package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
- package/package.json +3 -4
- package/dist/tokens/themes/chunks/tokens-base-dark-B42c8NRe.js +0 -1
- package/dist/tokens/themes/chunks/tokens-base-dark-D3XlzClW.js +0 -4
- package/dist/tokens/themes/chunks/tokens-base-light-5p3ZOPKU.js +0 -1
- package/dist/tokens/themes/chunks/tokens-base-light-C_G4p7UU.js +0 -4
- package/dist/vue2/node_modules/@dialpad/i18n-vue2.cjs +0 -6
- package/dist/vue2/node_modules/@dialpad/i18n-vue2.cjs.map +0 -1
- package/dist/vue2/node_modules/@dialpad/i18n-vue2.js +0 -4906
- package/dist/vue2/node_modules/@dialpad/i18n-vue2.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("../../node_modules/@tiptap/vue-2.cjs"),c=require("@tiptap/core"),O=require("@tiptap/extension-blockquote"),P=require("@tiptap/extension-code-block"),M=require("@tiptap/extension-code"),D=require("@tiptap/extension-document"),$=require("@tiptap/extension-paragraph"),B=require("@tiptap/extension-placeholder"),H=require("@tiptap/extension-hard-break"),V=require("@tiptap/extension-bold"),N=require("@tiptap/extension-bullet-list"),K=require("@tiptap/extension-italic"),U=require("@tiptap/extension-link"),F=require("@tiptap/extension-list-item"),W=require("@tiptap/extension-ordered-list"),z=require("@tiptap/extension-strike"),X=require("@tiptap/extension-underline"),J=require("@tiptap/extension-text"),Y=require("@tiptap/extension-text-align"),G=require("@tiptap/extension-history"),g=require("@tiptap/pm/state"),Q=require("@tiptap/suggestion"),I=require("regex-combined-emojis"),u=require("../../_plugin-vue2_normalizer-e_CkxkSV.cjs"),q=require("../emoji/emoji.cjs"),f=require("../../common/emoji/index.cjs"),Z=require("@dialpad/dialtone-emojis"),ee=require("../list-item/list-item.cjs"),y=require("../stack/stack.cjs"),v=require("tippy.js"),S=require("../../common/utils/index.cjs"),te=require("@tiptap/extension-image"),T=require("@tiptap/extension-mention"),j=require("../link/link.cjs"),w=require("./rich-text-editor-constants.cjs"),ne=require("../avatar/avatar.cjs"),re=require("@dialpad/dialtone-icons/vue2/hash"),ie=require("@dialpad/dialtone-icons/vue2/lock"),se=require("deep-equal"),oe=require("../button/button.cjs"),ae={name:"EmojiComponent",components:{NodeViewWrapper:d.NodeViewWrapper,DtEmoji:q.default},props:d.nodeViewProps};var de=function(){var t=this,r=t._self._c;return r("node-view-wrapper",{staticClass:"d-d-inline-block d-va-bottom d-lh0"},[r("dt-emoji",{attrs:{size:"500",code:t.node.attrs.code}})],1)},ce=[],le=u.n(ae,de,ce);const ue=le.exports,me={name:"SuggestionList",components:{DtListItem:ee.default},props:{items:{type:Array,required:!0},command:{type:Function,required:!0},itemComponent:{type:Object,required:!0},itemType:{type:String,required:!0}},data(){return{selectedIndex:0}},watch:{items(){this.selectedIndex=0}},methods:{onKeyDown({event:e}){return e.key==="ArrowUp"?(this.upHandler(),!0):e.key==="ArrowDown"?(this.downHandler(),!0):e.key==="Enter"||e.key==="Tab"?(this.selectHandler(),!0):!1},upHandler(){this.selectedIndex=(this.selectedIndex+this.items.length-1)%this.items.length,this.scrollActiveElementIntoView()},downHandler(){this.selectedIndex=(this.selectedIndex+1)%this.items.length,this.scrollActiveElementIntoView()},async scrollActiveElementIntoView(){await this.$nextTick();const e=this.$refs.suggestionList.querySelector(".d-list-item--highlighted");e&&e.scrollIntoView({behaviour:"smooth",block:"center"})},selectHandler(){this.selectItem(this.selectedIndex)},selectItem(e){const t=this.items[e];switch(this.itemType){case"emoji":this.command(t);return;case"mention":this.command({name:t.name,id:t.id,avatarSrc:t.avatarSrc});break;case"channel":this.command({name:t.name,id:t.id});break;case"slash-command":this.command({command:t.command});break}}}};var he=function(){var t=this,r=t._self._c;return r("div",{staticClass:"d-popover__dialog d-suggestion-list__container"},[r("ul",{directives:[{name:"show",rawName:"v-show",value:t.items.length,expression:"items.length"}],ref:"suggestionList",staticClass:"d-suggestion-list"},t._l(t.items,function(n,i){return r("dt-list-item",{key:n.id,class:["d-suggestion-list__item",{"d-list-item--highlighted":i===t.selectedIndex}],attrs:{"navigation-type":"arrow-keys"},on:{click:function(o){return t.selectItem(i)},keydown:function(o){return o.preventDefault(),t.onKeyDown.apply(null,arguments)}}},[r(t.itemComponent,{tag:"component",attrs:{item:n}})],1)}),1)])},fe=[],ge=u.n(me,he,fe);const k=ge.exports,pe={name:"EmojiSuggestion",components:{DtEmoji:q.default,DtStack:y.default},props:{item:{type:Object,required:!0}}};var _e=function(){var t=this,r=t._self._c;return r("dt-stack",{attrs:{direction:"row",gap:"400"}},[r("dt-emoji",{attrs:{size:"200",code:t.item.code}}),t._v(" "+t._s(t.item.code)+" ")],1)},be=[],we=u.n(pe,_e,be);const ye=we.exports,x={name:"hideOnEsc",defaultValue:!0,fn({hide:e}){function t(r){r.keyCode===27&&e()}return{onShow(){document.addEventListener("keydown",t)},onHide(){document.removeEventListener("keydown",t)}}}},ve=20,ke={items:({query:e})=>{if(e.length<2)return[];const t=Object.values(Z.emojisIndexed);return e=e.toLowerCase(),t.filter(n=>[n.name,n.shortname.replaceAll(":",""),...n.keywords].some(i=>i.startsWith(e))).splice(0,ve).map(n=>({code:n.shortname}))},command:({editor:e,range:t,props:r})=>{var o,s;const n=e.view.state.selection.$to.nodeAfter;((o=n==null?void 0:n.text)==null?void 0:o.startsWith(" "))&&(t.to+=1),e.chain().focus().insertContentAt(t,[{type:"emoji",attrs:r}]).run(),(s=window.getSelection())==null||s.collapseToEnd()},render:()=>{let e,t,r=!1;return{onStart:n=>{e=new d.VueRenderer(k,{parent:void 0,propsData:{itemComponent:ye,itemType:"emoji",...n},editor:n.editor}),n.clientRect&&(t=v("body",{getReferenceClientRect:n.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:!1,onShow:()=>{r=!0},onHidden:()=>{r=!1},interactive:!0,trigger:"manual",placement:"top-start",zIndex:650,plugins:[x]}),n.items.length>0&&(t==null||t[0].show()))},onUpdate(n){e==null||e.updateProps(n),n.items.length>0?t==null||t[0].show():t==null||t[0].hide(),t==null||t[0].setProps({getReferenceClientRect:n.clientRect})},onKeyDown(n){var i;if(r)return(i=e==null?void 0:e.ref)==null?void 0:i.onKeyDown(n)},onExit(){t==null||t[0].destroy(),t=null,e==null||e.destroy(),e=null}}}},xe=/(:\w+:)$/,Ce=new RegExp(I.emojiPattern+"$"),Re=e=>{if(e&&f.codeToEmojiData(e[0]))return{text:e[2]||e[0]}},Se=e=>[...e.matchAll(f.emojiShortCodeRegex)].filter(r=>f.codeToEmojiData(r[0])).map(r=>({index:r.index,text:r[0],match:r})),Te=c.Node.create({name:"emoji",addOptions(){return{HTMLAttributes:{}}},group:"inline",inline:!0,selectable:!1,atom:!0,addNodeView(){return d.VueNodeViewRenderer(ue)},addAttributes(){return{code:{default:null}}},parseHTML(){return[{tag:"emoji-component"}]},renderText({node:e}){return f.stringToUnicode(f.codeToEmojiData(e.attrs.code).unicode_output)},renderHTML({HTMLAttributes:e}){return["emoji-component",c.mergeAttributes(this.options.HTMLAttributes,e)]},addInputRules(){return[new c.InputRule({find:e=>{const t=e.match(xe)||e.match(Ce);if(t)return Re(t)},handler:({state:e,range:t,match:r,commands:n,chain:i,can:o})=>{const{tr:s}=e,a=t.from,l=t.to;s.replaceWith(a,l,this.type.create({code:r[0]}))}})]},addPasteRules(){return[c.nodePasteRule({find:Se,type:this.type,getAttributes(e){return{code:e[0]}}}),c.nodePasteRule({find:f.emojiRegex,type:this.type,getAttributes(e){return{code:e[0]}}})]},addProseMirrorPlugins(){return[Q({char:":",pluginKey:new g.PluginKey("emoji"),editor:this.editor,...this.options.suggestion,...ke})]},addKeyboardShortcuts(){return{Backspace:()=>this.editor.commands.command(({tr:e,state:t})=>{let r=!1;const{selection:n}=t,{empty:i,anchor:o}=n;return i?(t.doc.nodesBetween(o-1,o,(s,a)=>{if(s.type.name===this.name)return r=!0,e.insertText("",a,a+s.nodeSize),!1}),r):!1})}}});function Ee(e,t,r=()=>!0){const n=[];t.lastIndex=0;let i;for(;i=t.exec(e);)r(e,i)&&n.push(i);return n}function Le(e,t){return!["#","@"].includes(e.charAt(t.index))&&!["#","@"].includes(e.charAt(t.index-1))}function $e(e){const t=new RegExp("(?:"+[`[!?.,:;'"]`,"(?:&|&)(?:lt|gt|quot|apos|raquo|laquo|rsaquo|lsaquo);)+$"].join("|"),"g");return e.replace(t,"")}function Ie(e,t){const r=e.slice(0,t+1).search(/\S+\s*$/),n=e.slice(t).search(/\s/);if(n<0){const i=e.slice(r);return{text:i,from:r,to:r+i.length}}return{text:e.slice(r,n+t),from:r,to:n+t}}function R(e,t,r,n){const i=Ie(e,t);if(n.lastIndex=0,!n.test(i.text))return i;const o=r==="left"?i.from-1:i.to+1;return o<=0||o>=e.length||o===t?i:R(e,o,r,n)}function qe(e,t,r,n){const i=Math.max(e.from-1,0),o=Math.min(e.to+1,t.content.size),s=c.getMarksBetween(i,o,t);for(const a of s)a.mark.type===n&&r.removeMark(a.from,a.to,n)}const E=S.getPhoneNumberRegex(1,15);function L(e,t,r,n,i,o){if(!e)return;let s=r-t-1;s=s<0?0:s;const a=n-t,l=R(e,s,"left",E),m=R(e,a,"right",E),h=e.slice(l.from,m.to);Ee(h,S.linkRegex,Le).forEach(C=>{const p=$e(C[0]),b=t+l.from+C.index+1,A=b+p.length;i.addMark(b,A,o.create())})}function je(e){let t=!1;return new g.Plugin({key:new g.PluginKey("autolink"),appendTransaction:(r,n,i)=>{const o=r.some(h=>h.docChanged)&&!n.doc.eq(i.doc);if(t&&!o)return;const{tr:s}=i,{textContent:a}=i.doc;t||L(a,0,0,a.length,s,e.type),t=!0;const l=c.combineTransactionSteps(n.doc,[...r]);return c.getChangedRanges(l).forEach(({oldRange:h,newRange:_})=>{qe(_,i.doc,s,e.type),c.findChildrenInRange(i.doc,_,p=>p.isTextblock).forEach(({node:p,pos:b})=>{L(p.textContent,b,h.from,_.to,s,e.type)})}),s}})}const Ae={class:"d-link d-c-text d-d-inline-block d-wb-break-all",rel:"noopener noreferrer nofollow"},Oe=c.Mark.create({name:"CustomLink",renderHTML({HTMLAttributes:e}){return["a",c.mergeAttributes(this.options.HTMLAttributes,e,Ae)]},renderText({node:e}){return e.attrs.text},addProseMirrorPlugins(){return[je({type:this.type})]}}),Pe=te.extend({name:"ConfigurableImage",addAttributes(){return{src:{default:""},alt:{default:void 0},title:{default:void 0},width:{default:void 0},height:{default:void 0},style:{default:void 0}}}}).configure({inline:!0,allowBase64:!0}),Me=$.extend({parseHTML(){return[{tag:"div"}]},renderHTML({HTMLAttributes:e}){return["div",c.mergeAttributes(this.options.HTMLAttributes,e),0]}}),De={name:"MentionComponent",components:{NodeViewWrapper:d.NodeViewWrapper,DtLink:j.default},props:d.nodeViewProps,computed:{text(){return"@"+this.$props.node.attrs.name}}};var Be=function(){var t=this,r=t._self._c;return r("node-view-wrapper",{staticClass:"d-d-inline-block"},[r("dt-link",{attrs:{kind:"mention"}},[t._v(" "+t._s(t.text)+" ")])],1)},He=[],Ve=u.n(De,Be,He);const Ne=Ve.exports,Ke=T.extend({addNodeView(){return d.VueNodeViewRenderer(Ne)},parseHTML(){return[{tag:"mention-component"}]},addAttributes(){return{name:{default:""},avatarSrc:{default:""},id:{default:""}}},renderText({node:e}){return`@${e.attrs.id}`},renderHTML({HTMLAttributes:e}){return["mention-component",c.mergeAttributes(this.options.HTMLAttributes,e)]}}).configure({suggestion:{char:"@",pluginKey:new g.PluginKey("mentionSuggestion")}}),Ue={name:"ChannelComponent",components:{NodeViewWrapper:d.NodeViewWrapper,DtLink:j.default},props:d.nodeViewProps,computed:{text(){return"#"+this.$props.node.attrs.name}}};var Fe=function(){var t=this,r=t._self._c;return r("node-view-wrapper",{staticClass:"d-d-inline-block"},[r("dt-link",{attrs:{kind:"mention"}},[t._v(" "+t._s(t.text)+" ")])],1)},We=[],ze=u.n(Ue,Fe,We);const Xe=ze.exports,Je=T.extend({name:"channel",addNodeView(){return d.VueNodeViewRenderer(Xe)},parseHTML(){return[{tag:"channel-component"}]},addAttributes(){return{name:{default:""},id:{default:""},locked:{default:!1}}},renderText({node:e}){return`#${e.attrs.id}`},renderHTML({HTMLAttributes:e}){return["channel-component",c.mergeAttributes(this.options.HTMLAttributes,e)]}}).configure({suggestion:{char:"#",pluginKey:new g.PluginKey("channelSuggestion")}}),Ye={name:"SlashCommandsComponent",components:{NodeViewWrapper:d.NodeViewWrapper},props:d.nodeViewProps,emits:["selected-command"],computed:{text(){return"/"+this.$props.node.attrs.command}},created(){this.$parent.$emit("selected-command",this.$props.node.attrs.command)}};var Ge=function(){var t=this,r=t._self._c;return r("node-view-wrapper",{staticClass:"d-d-inline-block"},[t._v(" "+t._s(t.text)+" ")])},Qe=[],Ze=u.n(Ye,Ge,Qe);const et=Ze.exports,tt=(e,t)=>[...e.matchAll(t)].map(n=>{let i=n[2];return i.endsWith(" ")||(i+=" "),{index:n.index,text:i,match:n}}),nt=T.extend({name:"slash-commands",group:"inline",inline:!0,addNodeView(){return d.VueNodeViewRenderer(et)},parseHTML(){return[{tag:"command-component"}]},addAttributes(){return{command:{default:""},parametersExample:{default:""},description:{default:""}}},renderText({node:e}){return`/${e.attrs.command}`},renderHTML({HTMLAttributes:e}){return["command-component",c.mergeAttributes(this.options.HTMLAttributes,e)]},addInputRules(){var r;const e=(r=this.options.suggestion)==null?void 0:r.items({query:""}).map(n=>n.command),t=new RegExp(`^((?:\\/)(${e.join("|")})) $`);return[c.nodeInputRule({find:t,type:this.type,getAttributes(n){return{command:n[2]}}})]},addPasteRules(){var r;const e=(r=this.options.suggestion)==null?void 0:r.items({query:""}).map(n=>n.command),t=new RegExp(`^((?:\\/)(${e.join("|")})) ?$`,"g");return[c.nodePasteRule({find:n=>tt(n,t),type:this.type,getAttributes(n){return{command:n[0].trim()}}})]}}).configure({suggestion:{char:"/",pluginKey:new g.PluginKey("slashCommandSuggestion")}}),rt={name:"MentionSuggestion",components:{DtAvatar:ne.default,DtStack:y.default},props:{item:{type:Object,required:!0}},computed:{name(){return this.item.name},avatarSrc(){return this.item.avatarSrc}}};var it=function(){var t=this,r=t._self._c;return r("dt-stack",{attrs:{direction:"row",gap:"400"}},[r("dt-avatar",{attrs:{"full-name":t.name,"image-src":t.avatarSrc,"image-alt":t.name,size:"xs"}}),r("span",{staticClass:"d-mention-suggestion__name"},[t._v(" "+t._s(t.name)+" ")])],1)},st=[],ot=u.n(rt,it,st);const at=ot.exports,dt={allowSpaces:!0,render:()=>{let e,t,r=!1;return{onStart:n=>{e=new d.VueRenderer(k,{parent:void 0,propsData:{itemComponent:at,itemType:"mention",...n},editor:n.editor}),n.clientRect&&(t=v("body",{getReferenceClientRect:n.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:!1,onShow:()=>{r=!0},onHidden:()=>{r=!1},interactive:!0,trigger:"manual",placement:"top-start",zIndex:650,plugins:[x]}),n.items.length>0&&(t==null||t[0].show()))},onUpdate(n){e==null||e.updateProps(n),n.items.length>0?t==null||t[0].show():t==null||t[0].hide(),n.clientRect&&(t==null||t[0].setProps({getReferenceClientRect:n.clientRect}))},onKeyDown(n){var i;if(r)return(i=e==null?void 0:e.ref)==null?void 0:i.onKeyDown(n)},onExit(){t==null||t[0].destroy(),t=null,e==null||e.destroy(),e=null}}}},ct={name:"ChannelSuggestion",components:{DtStack:y.default,DtIconHash:re,DtIconLock:ie},props:{item:{type:Object,required:!0}},computed:{name(){return this.item.name}}};var lt=function(){var t=this,r=t._self._c;return r("dt-stack",{attrs:{direction:"row",gap:"400"}},[t.item.locked?r("dt-icon-lock",{attrs:{size:"300"}}):r("dt-icon-hash",{attrs:{size:"300"}}),r("span",[t._v(t._s(t.name))])],1)},ut=[],mt=u.n(ct,lt,ut);const ht=mt.exports,ft={allowSpaces:!0,render:()=>{let e,t,r=!1;return{onStart:n=>{e=new d.VueRenderer(k,{parent:void 0,propsData:{itemComponent:ht,itemType:"channel",...n},editor:n.editor}),n.clientRect&&(t=v("body",{getReferenceClientRect:n.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:!1,onShow:()=>{r=!0},onHidden:()=>{r=!1},interactive:!0,trigger:"manual",placement:"top-start",zIndex:650,plugins:[x]}),n.items.length>0&&(t==null||t[0].show()))},onUpdate(n){e==null||e.updateProps(n),n.items.length>0?t==null||t[0].show():t==null||t[0].hide(),n.clientRect&&(t==null||t[0].setProps({getReferenceClientRect:n.clientRect}))},onKeyDown(n){var i;if(r)return(i=e==null?void 0:e.ref)==null?void 0:i.onKeyDown(n)},onExit(){t==null||t[0].destroy(),t=null,e==null||e.destroy(),e=null}}}},gt={name:"SlashCommandSuggestion",props:{item:{type:Object,required:!0}},computed:{command(){return this.item.command},description(){return this.item.description},parametersExample(){return this.item.parametersExample}}};var pt=function(){var t=this,r=t._self._c;return r("div",[r("div",{staticClass:"d-body--md-compact"},[r("span",[t._v("/"+t._s(t.command))]),t.parametersExample?r("span",[t._v(" "+t._s(t.parametersExample))]):t._e()]),r("div",{staticClass:"d-body--sm d-fc-tertiary"},[t._v(" "+t._s(t.description)+" ")])])},_t=[],bt=u.n(gt,pt,_t);const wt=bt.exports,yt={allowSpaces:!0,startOfLine:!0,render:()=>{let e,t,r=!1;return{onStart:n=>{e=new d.VueRenderer(k,{parent:void 0,propsData:{itemComponent:wt,itemType:"slash-command",...n},editor:n.editor}),n.clientRect&&(t=v("body",{getReferenceClientRect:n.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:!1,onShow:()=>{r=!0},onHidden:()=>{r=!1},interactive:!0,trigger:"manual",placement:"top-start",zIndex:650,plugins:[x]}),n.items.length>0&&(t==null||t[0].show()))},onUpdate(n){e==null||e.updateProps(n),n.items.length>0?t==null||t[0].show():t==null||t[0].hide(),n.clientRect&&(t==null||t[0].setProps({getReferenceClientRect:n.clientRect}))},onKeyDown(n){var i;if(r)return(i=e==null?void 0:e.ref)==null?void 0:i.onKeyDown(n)},onExit(){t==null||t[0].destroy(),t=null,e==null||e.destroy(),e=null}}}},vt={name:"DtRichTextEditor",components:{EditorContent:d.EditorContent,BubbleMenu:d.BubbleMenu,DtButton:oe.default,DtStack:y.default},props:{value:{type:[Object,String],default:""},editable:{type:Boolean,default:!0},preventTyping:{type:Boolean,default:!1},allowLineBreaks:{type:Boolean,default:!1},inputAriaLabel:{type:String,required:!0},inputClass:{type:String,default:""},autoFocus:{type:[Boolean,String,Number],default:!1,validator(e){return typeof e=="string"?w.RICH_TEXT_EDITOR_AUTOFOCUS_TYPES.includes(e):!0}},outputFormat:{type:String,default:"html",validator(e){return w.RICH_TEXT_EDITOR_OUTPUT_FORMATS.includes(e)}},placeholder:{type:String,default:""},link:{type:[Boolean,Object],default:!1},customLink:{type:[Boolean,Object],default:!1},mentionSuggestion:{type:Object,default:null},channelSuggestion:{type:Object,default:null},slashCommandSuggestion:{type:Object,default:null},allowBlockquote:{type:Boolean,default:!0},allowBold:{type:Boolean,default:!0},allowBulletList:{type:Boolean,default:!0},allowItalic:{type:Boolean,default:!0},allowStrike:{type:Boolean,default:!0},allowUnderline:{type:Boolean,default:!0},allowCode:{type:Boolean,default:!0},allowCodeblock:{type:Boolean,default:!0},allowInlineImages:{type:Boolean,default:!1},additionalExtensions:{type:Array,default:()=>[]},hideLinkBubbleMenu:{type:Boolean,default:!1},useDivTags:{type:Boolean,default:!1}},emits:["input","json-input","html-input","text-input","update:value","blur","focus","enter","edit-link","selected"],data(){return{editor:null,tippyOptions:{appendTo:()=>{var e;return(e=this.$refs.editor.$el.getRootNode())==null?void 0:e.querySelector("body")},placement:"top-start"}}},computed:{editorListeners(){return{...this.$listeners,input:()=>{},focus:()=>{},blur:()=>{}}},extensions(){const e=[D,J,G,H];e.push(this.useDivTags?Me:$),this.allowBlockquote&&e.push(O),this.allowBold&&e.push(V),this.allowBulletList&&(e.push(N),e.push(F.extend({renderText({node:n}){return n.textContent}})),e.push(W)),this.allowItalic&&e.push(K),this.allowStrike&&e.push(z),this.allowUnderline&&e.push(X),this.placeholder&&e.push(B.configure({placeholder:this.placeholder}));const t=this,r=c.Extension.create({addKeyboardShortcuts(){return{"Shift-Enter":({editor:n})=>t.allowLineBreaks?!1:(n.commands.first(({commands:i})=>[()=>i.newlineInCode(),()=>t.allowBulletList&&i.splitListItem("listItem"),()=>i.createParagraphNear(),()=>i.liftEmptyBlock(),()=>i.splitBlock()]),!0),Enter:()=>t.allowLineBreaks?!1:(t.$emit("enter"),!0)}}});if(e.push(r),this.link&&e.push(U.extend({inclusive:!1}).configure({HTMLAttributes:{class:"d-link d-wb-break-all"},openOnClick:!1,autolink:!0,protocols:w.RICH_TEXT_EDITOR_SUPPORTED_LINK_PROTOCOLS})),this.customLink&&e.push(this.getExtension(Oe,this.customLink)),this.mentionSuggestion){const n={...this.mentionSuggestion,...dt};e.push(Ke.configure({suggestion:n}))}if(this.channelSuggestion){const n={...this.channelSuggestion,...ft};e.push(Je.configure({suggestion:n}))}if(this.slashCommandSuggestion){const n={...this.slashCommandSuggestion,...yt};e.push(nt.configure({suggestion:n}))}return e.push(Te),e.push(Y.configure({types:["paragraph"],defaultAlignment:"left"})),this.allowCode&&e.push(M),this.allowCodeblock&&e.push(P.extend({renderText({node:n}){return`\`\`\`
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("../../node_modules/@tiptap/vue-2.cjs"),d=require("@tiptap/core"),O=require("@tiptap/extension-blockquote"),P=require("@tiptap/extension-code-block"),M=require("@tiptap/extension-code"),D=require("@tiptap/extension-document"),$=require("@tiptap/extension-paragraph"),B=require("@tiptap/extension-placeholder"),H=require("@tiptap/extension-hard-break"),V=require("@tiptap/extension-bold"),F=require("@tiptap/extension-bullet-list"),N=require("@tiptap/extension-italic"),K=require("@tiptap/extension-link"),U=require("@tiptap/extension-list-item"),W=require("@tiptap/extension-ordered-list"),z=require("@tiptap/extension-strike"),X=require("@tiptap/extension-underline"),J=require("@tiptap/extension-text"),Y=require("@tiptap/extension-text-align"),G=require("@tiptap/extension-history"),Q=require("@tiptap/extension-text-style"),Z=require("@tiptap/extension-color"),ee=require("@tiptap/extension-font-family"),g=require("@tiptap/pm/state"),te=require("@tiptap/suggestion"),I=require("regex-combined-emojis"),u=require("../../_plugin-vue2_normalizer-e_CkxkSV.cjs"),q=require("../emoji/emoji.cjs"),f=require("../../common/emoji/index.cjs"),ne=require("@dialpad/dialtone-emojis"),re=require("../list-item/list-item.cjs"),w=require("../stack/stack.cjs"),v=require("tippy.js"),S=require("../../common/utils/index.cjs"),ie=require("@tiptap/extension-image"),T=require("@tiptap/extension-mention"),j=require("../link/link.cjs"),y=require("./rich-text-editor-constants.cjs"),se=require("../avatar/avatar.cjs"),oe=require("@dialpad/dialtone-icons/vue2/hash"),ae=require("@dialpad/dialtone-icons/vue2/lock"),le=require("deep-equal"),de=require("../button/button.cjs"),ce={name:"EmojiComponent",components:{NodeViewWrapper:l.NodeViewWrapper,DtEmoji:q.default},props:l.nodeViewProps};var ue=function(){var t=this,r=t._self._c;return r("node-view-wrapper",{staticClass:"d-d-inline-block d-va-bottom d-lh0"},[r("dt-emoji",{attrs:{size:"500",code:t.node.attrs.code}})],1)},me=[],he=u.n(ce,ue,me);const fe=he.exports,ge={name:"SuggestionList",components:{DtListItem:re.default},props:{items:{type:Array,required:!0},command:{type:Function,required:!0},itemComponent:{type:Object,required:!0},itemType:{type:String,required:!0}},data(){return{selectedIndex:0}},watch:{items(){this.selectedIndex=0}},methods:{onKeyDown({event:e}){return e.key==="ArrowUp"?(this.upHandler(),!0):e.key==="ArrowDown"?(this.downHandler(),!0):e.key==="Enter"||e.key==="Tab"?(this.selectHandler(),!0):!1},upHandler(){this.selectedIndex=(this.selectedIndex+this.items.length-1)%this.items.length,this.scrollActiveElementIntoView()},downHandler(){this.selectedIndex=(this.selectedIndex+1)%this.items.length,this.scrollActiveElementIntoView()},async scrollActiveElementIntoView(){await this.$nextTick();const e=this.$refs.suggestionList.querySelector(".d-list-item--highlighted");e&&e.scrollIntoView({behaviour:"smooth",block:"center"})},selectHandler(){this.selectItem(this.selectedIndex)},selectItem(e){const t=this.items[e];switch(this.itemType){case"emoji":this.command(t);return;case"mention":this.command({name:t.name,id:t.id,avatarSrc:t.avatarSrc});break;case"channel":this.command({name:t.name,id:t.id});break;case"slash-command":this.command({command:t.command});break}}}};var pe=function(){var t=this,r=t._self._c;return r("div",{staticClass:"d-popover__dialog d-suggestion-list__container"},[r("ul",{directives:[{name:"show",rawName:"v-show",value:t.items.length,expression:"items.length"}],ref:"suggestionList",staticClass:"d-suggestion-list"},t._l(t.items,function(n,i){return r("dt-list-item",{key:n.id,class:["d-suggestion-list__item",{"d-list-item--highlighted":i===t.selectedIndex}],attrs:{"navigation-type":"arrow-keys"},on:{click:function(o){return t.selectItem(i)},keydown:function(o){return o.preventDefault(),t.onKeyDown.apply(null,arguments)}}},[r(t.itemComponent,{tag:"component",attrs:{item:n}})],1)}),1)])},_e=[],be=u.n(ge,pe,_e);const k=be.exports,ye={name:"EmojiSuggestion",components:{DtEmoji:q.default,DtStack:w.default},props:{item:{type:Object,required:!0}}};var we=function(){var t=this,r=t._self._c;return r("dt-stack",{attrs:{direction:"row",gap:"400"}},[r("dt-emoji",{attrs:{size:"200",code:t.item.code}}),t._v(" "+t._s(t.item.code)+" ")],1)},ve=[],ke=u.n(ye,we,ve);const xe=ke.exports,x={name:"hideOnEsc",defaultValue:!0,fn({hide:e}){function t(r){r.keyCode===27&&e()}return{onShow(){document.addEventListener("keydown",t)},onHide(){document.removeEventListener("keydown",t)}}}},Ce=20,Re={items:({query:e})=>{if(e.length<2)return[];const t=Object.values(ne.emojisIndexed);return e=e.toLowerCase(),t.filter(n=>[n.name,n.shortname.replaceAll(":",""),...n.keywords].some(i=>i.startsWith(e))).splice(0,Ce).map(n=>({code:n.shortname}))},command:({editor:e,range:t,props:r})=>{var o,s;const n=e.view.state.selection.$to.nodeAfter;((o=n==null?void 0:n.text)==null?void 0:o.startsWith(" "))&&(t.to+=1),e.chain().focus().insertContentAt(t,[{type:"emoji",attrs:r}]).run(),(s=window.getSelection())==null||s.collapseToEnd()},render:()=>{let e,t,r=!1;return{onStart:n=>{e=new l.VueRenderer(k,{parent:void 0,propsData:{itemComponent:xe,itemType:"emoji",...n},editor:n.editor}),n.clientRect&&(t=v("body",{getReferenceClientRect:n.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:!1,onShow:()=>{r=!0},onHidden:()=>{r=!1},interactive:!0,trigger:"manual",placement:"top-start",zIndex:650,plugins:[x]}),n.items.length>0&&(t==null||t[0].show()))},onUpdate(n){e==null||e.updateProps(n),n.items.length>0?t==null||t[0].show():t==null||t[0].hide(),t==null||t[0].setProps({getReferenceClientRect:n.clientRect})},onKeyDown(n){var i;if(r)return(i=e==null?void 0:e.ref)==null?void 0:i.onKeyDown(n)},onExit(){t==null||t[0].destroy(),t=null,e==null||e.destroy(),e=null}}}},Se=/(:\w+:)$/,Te=new RegExp(I.emojiPattern+"$"),Ee=e=>{if(e&&f.codeToEmojiData(e[0]))return{text:e[2]||e[0]}},Le=e=>[...e.matchAll(f.emojiShortCodeRegex)].filter(r=>f.codeToEmojiData(r[0])).map(r=>({index:r.index,text:r[0],match:r})),$e=d.Node.create({name:"emoji",addOptions(){return{HTMLAttributes:{}}},group:"inline",inline:!0,selectable:!1,atom:!0,addNodeView(){return l.VueNodeViewRenderer(fe)},addAttributes(){return{code:{default:null}}},parseHTML(){return[{tag:"emoji-component"}]},renderText({node:e}){return f.stringToUnicode(f.codeToEmojiData(e.attrs.code).unicode_output)},renderHTML({HTMLAttributes:e}){return["emoji-component",d.mergeAttributes(this.options.HTMLAttributes,e)]},addInputRules(){return[new d.InputRule({find:e=>{const t=e.match(Se)||e.match(Te);if(t)return Ee(t)},handler:({state:e,range:t,match:r,commands:n,chain:i,can:o})=>{const{tr:s}=e,a=t.from,c=t.to;s.replaceWith(a,c,this.type.create({code:r[0]}))}})]},addPasteRules(){return[d.nodePasteRule({find:Le,type:this.type,getAttributes(e){return{code:e[0]}}}),d.nodePasteRule({find:f.emojiRegex,type:this.type,getAttributes(e){return{code:e[0]}}})]},addProseMirrorPlugins(){return[te({char:":",pluginKey:new g.PluginKey("emoji"),editor:this.editor,...this.options.suggestion,...Re})]},addKeyboardShortcuts(){return{Backspace:()=>this.editor.commands.command(({tr:e,state:t})=>{let r=!1;const{selection:n}=t,{empty:i,anchor:o}=n;return i?(t.doc.nodesBetween(o-1,o,(s,a)=>{if(s.type.name===this.name)return r=!0,e.insertText("",a,a+s.nodeSize),!1}),r):!1})}}});function Ie(e,t,r=()=>!0){const n=[];t.lastIndex=0;let i;for(;i=t.exec(e);)r(e,i)&&n.push(i);return n}function qe(e,t){return!["#","@"].includes(e.charAt(t.index))&&!["#","@"].includes(e.charAt(t.index-1))}function je(e){const t=new RegExp("(?:"+[`[!?.,:;'"]`,"(?:&|&)(?:lt|gt|quot|apos|raquo|laquo|rsaquo|lsaquo);)+$"].join("|"),"g");return e.replace(t,"")}function Ae(e,t){const r=e.slice(0,t+1).search(/\S+\s*$/),n=e.slice(t).search(/\s/);if(n<0){const i=e.slice(r);return{text:i,from:r,to:r+i.length}}return{text:e.slice(r,n+t),from:r,to:n+t}}function R(e,t,r,n){const i=Ae(e,t);if(n.lastIndex=0,!n.test(i.text))return i;const o=r==="left"?i.from-1:i.to+1;return o<=0||o>=e.length||o===t?i:R(e,o,r,n)}function Oe(e,t,r,n){const i=Math.max(e.from-1,0),o=Math.min(e.to+1,t.content.size),s=d.getMarksBetween(i,o,t);for(const a of s)a.mark.type===n&&r.removeMark(a.from,a.to,n)}const E=S.getPhoneNumberRegex(1,15);function L(e,t,r,n,i,o){if(!e)return;let s=r-t-1;s=s<0?0:s;const a=n-t,c=R(e,s,"left",E),m=R(e,a,"right",E),h=e.slice(c.from,m.to);Ie(h,S.linkRegex,qe).forEach(C=>{const p=je(C[0]),b=t+c.from+C.index+1,A=b+p.length;i.addMark(b,A,o.create())})}function Pe(e){let t=!1;return new g.Plugin({key:new g.PluginKey("autolink"),appendTransaction:(r,n,i)=>{const o=r.some(h=>h.docChanged)&&!n.doc.eq(i.doc);if(t&&!o)return;const{tr:s}=i,{textContent:a}=i.doc;t||L(a,0,0,a.length,s,e.type),t=!0;const c=d.combineTransactionSteps(n.doc,[...r]);return d.getChangedRanges(c).forEach(({oldRange:h,newRange:_})=>{Oe(_,i.doc,s,e.type),d.findChildrenInRange(i.doc,_,p=>p.isTextblock).forEach(({node:p,pos:b})=>{L(p.textContent,b,h.from,_.to,s,e.type)})}),s}})}const Me={class:"d-link d-c-text d-d-inline-block d-wb-break-all",rel:"noopener noreferrer nofollow"},De=d.Mark.create({name:"CustomLink",renderHTML({HTMLAttributes:e}){return["a",d.mergeAttributes(this.options.HTMLAttributes,e,Me)]},renderText({node:e}){return e.attrs.text},addProseMirrorPlugins(){return[Pe({type:this.type})]}}),Be=ie.extend({name:"ConfigurableImage",addAttributes(){return{src:{default:""},alt:{default:void 0},title:{default:void 0},width:{default:void 0},height:{default:void 0},style:{default:void 0}}}}).configure({inline:!0,allowBase64:!0}),He=$.extend({parseHTML(){return[{tag:"div"}]},renderHTML({HTMLAttributes:e}){return["div",d.mergeAttributes(this.options.HTMLAttributes,e),0]}}),Ve={name:"MentionComponent",components:{NodeViewWrapper:l.NodeViewWrapper,DtLink:j.default},props:l.nodeViewProps,computed:{text(){return"@"+this.$props.node.attrs.name}}};var Fe=function(){var t=this,r=t._self._c;return r("node-view-wrapper",{staticClass:"d-d-inline-block"},[r("dt-link",{attrs:{kind:"mention"}},[t._v(" "+t._s(t.text)+" ")])],1)},Ne=[],Ke=u.n(Ve,Fe,Ne);const Ue=Ke.exports,We=T.extend({addNodeView(){return l.VueNodeViewRenderer(Ue)},parseHTML(){return[{tag:"mention-component"}]},addAttributes(){return{name:{default:""},avatarSrc:{default:""},id:{default:""}}},renderText({node:e}){return`@${e.attrs.id}`},renderHTML({HTMLAttributes:e}){return["mention-component",d.mergeAttributes(this.options.HTMLAttributes,e)]}}).configure({suggestion:{char:"@",pluginKey:new g.PluginKey("mentionSuggestion")}}),ze={name:"ChannelComponent",components:{NodeViewWrapper:l.NodeViewWrapper,DtLink:j.default},props:l.nodeViewProps,computed:{text(){return"#"+this.$props.node.attrs.name}}};var Xe=function(){var t=this,r=t._self._c;return r("node-view-wrapper",{staticClass:"d-d-inline-block"},[r("dt-link",{attrs:{kind:"mention"}},[t._v(" "+t._s(t.text)+" ")])],1)},Je=[],Ye=u.n(ze,Xe,Je);const Ge=Ye.exports,Qe=T.extend({name:"channel",addNodeView(){return l.VueNodeViewRenderer(Ge)},parseHTML(){return[{tag:"channel-component"}]},addAttributes(){return{name:{default:""},id:{default:""},locked:{default:!1}}},renderText({node:e}){return`#${e.attrs.id}`},renderHTML({HTMLAttributes:e}){return["channel-component",d.mergeAttributes(this.options.HTMLAttributes,e)]}}).configure({suggestion:{char:"#",pluginKey:new g.PluginKey("channelSuggestion")}}),Ze={name:"SlashCommandsComponent",components:{NodeViewWrapper:l.NodeViewWrapper},props:l.nodeViewProps,emits:["selected-command"],computed:{text(){return"/"+this.$props.node.attrs.command}},created(){this.$parent.$emit("selected-command",this.$props.node.attrs.command)}};var et=function(){var t=this,r=t._self._c;return r("node-view-wrapper",{staticClass:"d-d-inline-block"},[t._v(" "+t._s(t.text)+" ")])},tt=[],nt=u.n(Ze,et,tt);const rt=nt.exports,it=(e,t)=>[...e.matchAll(t)].map(n=>{let i=n[2];return i.endsWith(" ")||(i+=" "),{index:n.index,text:i,match:n}}),st=T.extend({name:"slash-commands",group:"inline",inline:!0,addNodeView(){return l.VueNodeViewRenderer(rt)},parseHTML(){return[{tag:"command-component"}]},addAttributes(){return{command:{default:""},parametersExample:{default:""},description:{default:""}}},renderText({node:e}){return`/${e.attrs.command}`},renderHTML({HTMLAttributes:e}){return["command-component",d.mergeAttributes(this.options.HTMLAttributes,e)]},addInputRules(){var r;const e=(r=this.options.suggestion)==null?void 0:r.items({query:""}).map(n=>n.command),t=new RegExp(`^((?:\\/)(${e.join("|")})) $`);return[d.nodeInputRule({find:t,type:this.type,getAttributes(n){return{command:n[2]}}})]},addPasteRules(){var r;const e=(r=this.options.suggestion)==null?void 0:r.items({query:""}).map(n=>n.command),t=new RegExp(`^((?:\\/)(${e.join("|")})) ?$`,"g");return[d.nodePasteRule({find:n=>it(n,t),type:this.type,getAttributes(n){return{command:n[0].trim()}}})]}}).configure({suggestion:{char:"/",pluginKey:new g.PluginKey("slashCommandSuggestion")}}),ot={name:"MentionSuggestion",components:{DtAvatar:se.default,DtStack:w.default},props:{item:{type:Object,required:!0}},computed:{name(){return this.item.name},avatarSrc(){return this.item.avatarSrc}}};var at=function(){var t=this,r=t._self._c;return r("dt-stack",{attrs:{direction:"row",gap:"400"}},[r("dt-avatar",{attrs:{"full-name":t.name,"image-src":t.avatarSrc,"image-alt":t.name,size:"xs"}}),r("span",{staticClass:"d-mention-suggestion__name"},[t._v(" "+t._s(t.name)+" ")])],1)},lt=[],dt=u.n(ot,at,lt);const ct=dt.exports,ut={allowSpaces:!0,render:()=>{let e,t,r=!1;return{onStart:n=>{e=new l.VueRenderer(k,{parent:void 0,propsData:{itemComponent:ct,itemType:"mention",...n},editor:n.editor}),n.clientRect&&(t=v("body",{getReferenceClientRect:n.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:!1,onShow:()=>{r=!0},onHidden:()=>{r=!1},interactive:!0,trigger:"manual",placement:"top-start",zIndex:650,plugins:[x]}),n.items.length>0&&(t==null||t[0].show()))},onUpdate(n){e==null||e.updateProps(n),n.items.length>0?t==null||t[0].show():t==null||t[0].hide(),n.clientRect&&(t==null||t[0].setProps({getReferenceClientRect:n.clientRect}))},onKeyDown(n){var i;if(r)return(i=e==null?void 0:e.ref)==null?void 0:i.onKeyDown(n)},onExit(){t==null||t[0].destroy(),t=null,e==null||e.destroy(),e=null}}}},mt={name:"ChannelSuggestion",components:{DtStack:w.default,DtIconHash:oe,DtIconLock:ae},props:{item:{type:Object,required:!0}},computed:{name(){return this.item.name}}};var ht=function(){var t=this,r=t._self._c;return r("dt-stack",{attrs:{direction:"row",gap:"400"}},[t.item.locked?r("dt-icon-lock",{attrs:{size:"300"}}):r("dt-icon-hash",{attrs:{size:"300"}}),r("span",[t._v(t._s(t.name))])],1)},ft=[],gt=u.n(mt,ht,ft);const pt=gt.exports,_t={allowSpaces:!0,render:()=>{let e,t,r=!1;return{onStart:n=>{e=new l.VueRenderer(k,{parent:void 0,propsData:{itemComponent:pt,itemType:"channel",...n},editor:n.editor}),n.clientRect&&(t=v("body",{getReferenceClientRect:n.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:!1,onShow:()=>{r=!0},onHidden:()=>{r=!1},interactive:!0,trigger:"manual",placement:"top-start",zIndex:650,plugins:[x]}),n.items.length>0&&(t==null||t[0].show()))},onUpdate(n){e==null||e.updateProps(n),n.items.length>0?t==null||t[0].show():t==null||t[0].hide(),n.clientRect&&(t==null||t[0].setProps({getReferenceClientRect:n.clientRect}))},onKeyDown(n){var i;if(r)return(i=e==null?void 0:e.ref)==null?void 0:i.onKeyDown(n)},onExit(){t==null||t[0].destroy(),t=null,e==null||e.destroy(),e=null}}}},bt={name:"SlashCommandSuggestion",props:{item:{type:Object,required:!0}},computed:{command(){return this.item.command},description(){return this.item.description},parametersExample(){return this.item.parametersExample}}};var yt=function(){var t=this,r=t._self._c;return r("div",[r("div",{staticClass:"d-body--md-compact"},[r("span",[t._v("/"+t._s(t.command))]),t.parametersExample?r("span",[t._v(" "+t._s(t.parametersExample))]):t._e()]),r("div",{staticClass:"d-body--sm d-fc-tertiary"},[t._v(" "+t._s(t.description)+" ")])])},wt=[],vt=u.n(bt,yt,wt);const kt=vt.exports,xt={allowSpaces:!0,startOfLine:!0,render:()=>{let e,t,r=!1;return{onStart:n=>{e=new l.VueRenderer(k,{parent:void 0,propsData:{itemComponent:kt,itemType:"slash-command",...n},editor:n.editor}),n.clientRect&&(t=v("body",{getReferenceClientRect:n.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:!1,onShow:()=>{r=!0},onHidden:()=>{r=!1},interactive:!0,trigger:"manual",placement:"top-start",zIndex:650,plugins:[x]}),n.items.length>0&&(t==null||t[0].show()))},onUpdate(n){e==null||e.updateProps(n),n.items.length>0?t==null||t[0].show():t==null||t[0].hide(),n.clientRect&&(t==null||t[0].setProps({getReferenceClientRect:n.clientRect}))},onKeyDown(n){var i;if(r)return(i=e==null?void 0:e.ref)==null?void 0:i.onKeyDown(n)},onExit(){t==null||t[0].destroy(),t=null,e==null||e.destroy(),e=null}}}},Ct={name:"DtRichTextEditor",components:{EditorContent:l.EditorContent,BubbleMenu:l.BubbleMenu,DtButton:de.default,DtStack:w.default},props:{value:{type:[Object,String],default:""},editable:{type:Boolean,default:!0},preventTyping:{type:Boolean,default:!1},allowLineBreaks:{type:Boolean,default:!1},inputAriaLabel:{type:String,required:!0},inputClass:{type:String,default:""},autoFocus:{type:[Boolean,String,Number],default:!1,validator(e){return typeof e=="string"?y.RICH_TEXT_EDITOR_AUTOFOCUS_TYPES.includes(e):!0}},outputFormat:{type:String,default:"html",validator(e){return y.RICH_TEXT_EDITOR_OUTPUT_FORMATS.includes(e)}},placeholder:{type:String,default:""},link:{type:[Boolean,Object],default:!1},customLink:{type:[Boolean,Object],default:!1},mentionSuggestion:{type:Object,default:null},channelSuggestion:{type:Object,default:null},slashCommandSuggestion:{type:Object,default:null},allowBlockquote:{type:Boolean,default:!0},allowBold:{type:Boolean,default:!0},allowBulletList:{type:Boolean,default:!0},allowItalic:{type:Boolean,default:!0},allowStrike:{type:Boolean,default:!0},allowUnderline:{type:Boolean,default:!0},allowCode:{type:Boolean,default:!0},allowCodeblock:{type:Boolean,default:!0},allowInlineImages:{type:Boolean,default:!1},allowFontColor:{type:Boolean,default:!1},allowFontFamily:{type:Boolean,default:!1},additionalExtensions:{type:Array,default:()=>[]},hideLinkBubbleMenu:{type:Boolean,default:!1},useDivTags:{type:Boolean,default:!1}},emits:["input","json-input","html-input","text-input","update:value","blur","focus","enter","edit-link","selected"],data(){return{editor:null,tippyOptions:{appendTo:()=>{var e;return(e=this.$refs.editor.$el.getRootNode())==null?void 0:e.querySelector("body")},placement:"top-start"}}},computed:{editorListeners(){return{...this.$listeners,input:()=>{},focus:()=>{},blur:()=>{}}},extensions(){const e=[D,J,G,H];e.push(this.useDivTags?He:$),this.allowBlockquote&&e.push(O),this.allowBold&&e.push(V),this.allowBulletList&&(e.push(F),e.push(U.extend({renderText({node:n}){return n.textContent}})),e.push(W)),this.allowItalic&&e.push(N),this.allowStrike&&e.push(z),this.allowUnderline&&e.push(X),this.placeholder&&e.push(B.configure({placeholder:this.placeholder}));const t=this,r=d.Extension.create({addKeyboardShortcuts(){return{"Shift-Enter":({editor:n})=>t.allowLineBreaks?!1:(n.commands.first(({commands:i})=>[()=>i.newlineInCode(),()=>t.allowBulletList&&i.splitListItem("listItem"),()=>i.createParagraphNear(),()=>i.liftEmptyBlock(),()=>i.splitBlock()]),!0),Enter:()=>t.allowLineBreaks?!1:(t.$emit("enter"),!0)}}});if(e.push(r),this.link&&e.push(K.extend({inclusive:!1}).configure({HTMLAttributes:{class:"d-link d-wb-break-all"},openOnClick:!1,autolink:!0,protocols:y.RICH_TEXT_EDITOR_SUPPORTED_LINK_PROTOCOLS})),this.customLink&&e.push(this.getExtension(De,this.customLink)),this.mentionSuggestion){const n={...this.mentionSuggestion,...ut};e.push(We.configure({suggestion:n}))}if(this.channelSuggestion){const n={...this.channelSuggestion,..._t};e.push(Qe.configure({suggestion:n}))}if(this.slashCommandSuggestion){const n={...this.slashCommandSuggestion,...xt};e.push(st.configure({suggestion:n}))}return e.push($e),e.push(Y.configure({types:["paragraph"],defaultAlignment:"left"})),this.allowCode&&e.push(M),this.allowCodeblock&&e.push(P.extend({renderText({node:n}){return`\`\`\`
|
|
2
2
|
${n.textContent}
|
|
3
|
-
\`\`\``}}).configure({HTMLAttributes:{class:"d-rich-text-editor__code-block"}})),this.allowInlineImages&&e.push(
|
|
3
|
+
\`\`\``}}).configure({HTMLAttributes:{class:"d-rich-text-editor__code-block"}})),this.allowInlineImages&&e.push(Be),(this.allowFontFamily||this.allowFontColor)&&(e.push(Q),this.allowFontColor&&e.push(Z),this.allowFontFamily&&e.push(ee)),this.additionalExtensions.length&&e.push(...this.additionalExtensions),e},inputAttrs(){const e={"aria-label":this.inputAriaLabel,"aria-multiline":!0,role:"textbox"};return this.editable||(e["aria-readonly"]=!0),e}},watch:{editable(e){this.editor.setEditable(e),this.updateEditorAttributes({"aria-readonly":!e})},inputClass(e){this.updateEditorAttributes({class:e})},inputAriaLabel(e){this.updateEditorAttributes({"aria-label":e})},extensions(){this.destroyEditor(),this.createEditor()},value(e){this.processValue(e)}},created(){this.createEditor()},beforeUnmount(){this.destroyEditor()},mounted(){S.warnIfUnmounted(this.$el,this.$options.name),this.processValue(this.value,!1)},methods:{createEditor(){this.editor=new l.Editor({autofocus:this.autoFocus,content:this.value,editable:this.editable,extensions:this.extensions,editorProps:{attributes:{...this.inputAttrs,class:this.inputClass},handlePaste:(e,t)=>{if(!this.link&&!this.customLink){const r=/^https?:\/\//;if(!(t!=null&&t.clipboardData))return!1;const n=t.clipboardData.getData("text");if(!r.test(n)||!t.clipboardData.getData("text/html"))return!1;const i=n.replace(/\n/g,"<br>").replace(/ {2}/g," ");return this.editor.chain().focus().insertContent(i).run(),!0}return!1},transformPastedHTML(e){return e.replace(/(<\/\w+>)((<br \/>)+)/g,"$2$3$1")}}}),this.addEditorListeners()},bubbleMenuShouldShow({editor:e,view:t,state:r,oldState:n,from:i,to:o}){return e.isActive("link")},getSelectedLinkText(e){var a,c,m;const{view:t,state:r}=e,{from:n,to:i}=t.state.selection,o=r.doc.textBetween(n,i,""),s=this.editor.state.doc.nodeAt(n);return s&&((m=(c=(a=s.marks)==null?void 0:a.at(0))==null?void 0:c.type)==null?void 0:m.name)==="link"?s.textContent:o},editLink(){const e=this.getSelectedLinkText(this.editor),t={href:this.editor.getAttributes("link").href,text:e};this.$emit("edit-link",t)},removeLink(){var e,t,r,n;(n=(r=(t=(e=this.editor)==null?void 0:e.chain())==null?void 0:t.focus())==null?void 0:r.unsetLink())==null||n.run()},openLink(){var t,r;(r=(t=this.editor)==null?void 0:t.chain())==null||r.focus();const e=this.editor.getAttributes("link").href;window.open(e,"_blank")},setLink(e,t,r,n=y.RICH_TEXT_EDITOR_SUPPORTED_LINK_PROTOCOLS,i){var a,c,m;if(!e){this.removeLink();return}n.find(h=>h.test(e))||(e=`${i}${e}`),this.editor.chain().focus().extendMarkRange("link").run();const s=(m=(c=(a=this.editor)==null?void 0:a.view)==null?void 0:c.state)==null?void 0:m.selection;this.editor.chain().focus().insertContent(t).setTextSelection({from:s.from,to:s.from+t.length}).setLink({href:e,class:r.class}).run()},processValue(e,t=!0){const r=this.getOutput();if(!(t&&le(e,r))){if(typeof e=="string"&&this.outputFormat==="text"){const n=new RegExp(`(${I.emojiPattern})`,"g");e=e==null?void 0:e.replace(n,'<emoji-component code="$1"></emoji-component>')}this.editor.commands.setContent(e,!1)}},destroyEditor(){this.editor.destroy()},triggerInputChangeEvents(){const e=this.getOutput();this.$emit("input",e),this.$emit("update:value",e);const t=this.editor.getJSON();this.$emit("json-input",t);const r=this.editor.getHTML();this.$emit("html-input",r);const n=this.editor.getText({blockSeparator:`
|
|
4
4
|
`});this.$emit("text-input",n)},addEditorListeners(){this.editor.on("create",()=>{this.triggerInputChangeEvents()}),this.editor.on("update",()=>{var e,t;if(this.preventTyping&&((t=(e=this.editor.view)==null?void 0:e.input)==null?void 0:t.lastKeyCode)!==8){this.editor.commands.setContent(this.value,!1);return}this.triggerInputChangeEvents()}),this.editor.on("selectionUpdate",({editor:e})=>{this.$emit("selected",this.getSelectedLinkText(e))}),this.editor.on("focus",({event:e})=>{this.$emit("focus",e)}),this.editor.on("blur",({event:e})=>{this.$emit("blur",e)})},getOutput(){switch(this.outputFormat){case"json":return this.editor.getJSON();case"html":return this.editor.getHTML();case"text":default:return this.editor.getText({blockSeparator:`
|
|
5
|
-
`})}},getExtension(e,t){var r;return typeof t=="boolean"?e:(r=e.configure)==null?void 0:r.call(e,t)},updateEditorAttributes(e){this.editor.setOptions({editorProps:{attributes:{...this.inputAttrs,class:this.inputClass,...e}}})},focusEditor(){this.editor.commands.focus()}}};var
|
|
5
|
+
`})}},getExtension(e,t){var r;return typeof t=="boolean"?e:(r=e.configure)==null?void 0:r.call(e,t)},updateEditorAttributes(e){this.editor.setOptions({editorProps:{attributes:{...this.inputAttrs,class:this.inputClass,...e}}})},focusEditor(){this.editor.commands.focus()}}};var Rt=function(){var t=this,r=t._self._c;return r("div",[t.editor&&t.link&&!t.hideLinkBubbleMenu?r("bubble-menu",{staticStyle:{visibility:"visible"},attrs:{editor:t.editor,"should-show":t.bubbleMenuShouldShow,"tippy-options":t.tippyOptions}},[r("div",{staticClass:"d-popover__dialog"},[r("dt-stack",{staticClass:"d-rich-text-editor-bubble-menu__button-stack",attrs:{direction:"row",gap:"0"}},[r("dt-button",{attrs:{kind:"muted",importance:"clear"},on:{click:t.editLink}},[t._v(" Edit ")]),r("dt-button",{attrs:{kind:"muted",importance:"clear"},on:{click:t.openLink}},[t._v(" Open link ")]),r("dt-button",{attrs:{kind:"danger",importance:"clear"},on:{click:t.removeLink}},[t._v(" Remove ")])],1)],1)]):t._e(),r("editor-content",t._g({ref:"editor",staticClass:"d-rich-text-editor",attrs:{editor:t.editor,"data-qa":"dt-rich-text-editor"}},t.editorListeners))],1)},St=[],Tt=u.n(Ct,Rt,St);const Et=Tt.exports;exports.default=Et;
|
|
6
6
|
//# sourceMappingURL=rich-text-editor.cjs.map
|