@dialpad/dialtone 9.170.0 → 9.171.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,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const k=require("./editor-constants.cjs"),R=require("../../common/utils/index.cjs"),Q=require("./EditorToolbarButton.cjs"),P=require("./EditorToolbarDropdownButton.cjs"),K=require("./EditorToolbarPopoverButton.cjs"),l=require("@dialpad/dialtone-icons/vue3"),H=require("../../localization/index.cjs"),t=require("vue"),J=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),j=require("../combobox/combobox.cjs"),Y=require("../tooltip/tooltip.cjs"),G=require("../input/input.cjs"),X=require("../stack/stack.cjs"),Z=require("../popover/popover.cjs"),W=require("../button/button.cjs"),$=require("../rich-text-editor/rich-text-editor.cjs"),tt=require("../list-item/list-item.cjs"),et=require("../dropdown/dropdown-separator.cjs"),ot=require("../list-item-group/list-item-group.cjs"),S=require("../rich-text-editor/rich-text-editor-constants.cjs"),it={compatConfig:{MODE:3},name:"DtRecipeEditor",components:{DtListItemGroup:ot.default,DtDropdownSeparator:et.default,DtListItem:tt.default,DtRichTextEditor:$.default,DtButton:W.default,DtPopover:Z.default,DtStack:X.default,DtInput:G.default,DtTooltip:Y.default,DtCombobox:j.default,EditorToolbarButton:Q.default,EditorToolbarDropdownButton:P.default,EditorToolbarPopoverButton:K.default,DtIconQuickReply:l.DtIconQuickReply,DtIconBold:l.DtIconBold,DtIconItalic:l.DtIconItalic,DtIconUnderline:l.DtIconUnderline,DtIconStrikethrough:l.DtIconStrikethrough,DtIconListBullet:l.DtIconListBullet,DtIconListOrdered:l.DtIconListOrdered,DtIconAlignLeft:l.DtIconAlignLeft,DtIconAlignCenter:l.DtIconAlignCenter,DtIconAlignRight:l.DtIconAlignRight,DtIconAlignJustify:l.DtIconAlignJustify,DtIconQuote:l.DtIconQuote,DtIconCodeBlock:l.DtIconCodeBlock,DtIconLink2:l.DtIconLink2,DtIconImage:l.DtIconImage,DtIconSearch:l.DtIconSearch,DtIconType:l.DtIconType,DtIconBraces:l.DtIconBraces,DtIconChevronDown:l.DtIconChevronDown,DtIconFontSize:l.DtIconFontSize,DtIconStopFilled:l.DtIconStopFilled},mixins:[],inheritAttrs:!1,props:{modelValue:{type:[Object,String],default:""},editable:{type:Boolean,default:!0},inputAriaLabel:{type:String,required:!0,default:""},inputClass:{type:String,default:""},autoFocus:{type:[Boolean,String,Number],default:!1,validator(e){return typeof e=="string"?S.RICH_TEXT_EDITOR_AUTOFOCUS_TYPES.includes(e):!0}},placeholder:{type:String,default:""},maxHeight:{type:String,default:"unset"},setLinkPlaceholder:{type:String,default:""},showBoldButton:{type:Boolean,default:!0},showItalicsButton:{type:Boolean,default:!0},showUnderlineButton:{type:Boolean,default:!0},showStrikeButton:{type:Boolean,default:!0},showListItemsButton:{type:Boolean,default:!0},showOrderedListButton:{type:Boolean,default:!0},showAlignLeftButton:{type:Boolean,default:!0},showAlignCenterButton:{type:Boolean,default:!0},showAlignRightButton:{type:Boolean,default:!0},showAlignJustifyButton:{type:Boolean,default:!0},showQuoteButton:{type:Boolean,default:!0},showCodeBlockButton:{type:Boolean,default:!0},showQuickRepliesButton:{type:Boolean,default:!0},showInlineImageButton:{type:Boolean,default:!1},showVariableButton:{type:Boolean,default:!1},variableCategories:{type:Array,default:()=>[]},showAddLink:{type:Object,default:()=>({showAddLinkButton:!0})},showFontStyleButton:{type:Boolean,default:!1},showFontSizeButton:{type:Boolean,default:!1},showFontColorButton:{type:Boolean,default:!1},fontStyles:{type:Array,default:()=>[{name:"Arial",value:null},{name:"Georgia",value:"Georgia"},{name:"Helvetica",value:"Helvetica"},{name:"Verdana",value:"Verdana"},{name:"Times New Roman",value:"Times New Roman"}]},fontSizes:{type:Array,default:()=>[{name:"Small",value:"12px"},{name:"Normal",value:"15px"},{name:"Large",value:"24px"},{name:"Huge",value:"36px"}]},allowBackgroundColor:{type:Boolean,default:!1},allowLineHeight:{type:Boolean,default:!1},useDivTags:{type:Boolean,default:!1},allowTables:{type:Boolean,default:!1},allowImageResize:{type:Boolean,default:!1}},emits:["focus","blur","input","update:modelValue","quick-replies-click","inline-image-click","text-input"],data(){return{internalInputValue:this.modelValue,hasFocus:!1,linkOptions:{class:"d-recipe-editor__link"},currentFontColor:void 0,showLinkInput:!1,fontStyleSearch:"",linkInput:"",currentButtonRefIndex:0,variableSearchValue:"",i18n:new H.DialtoneLocalization}},computed:{inputLength(){return this.internalInputValue.length},htmlOutputFormat(){return S.RICH_TEXT_EDITOR_OUTPUT_FORMATS[2]},flattenedVariableItems(){return this.variableCategories?this.variableCategories.reduce((e,i)=>e.concat(i.items||[]),[]):[]},showingTextFormatButtons(){return this.showBoldButton||this.showItalicsButton||this.showStrikeButton||this.showUnderlineButton},showingAlignmentButtons(){return this.showAlignLeftButton||this.showAlignCenterButton||this.showAlignRightButton||this.showAlignJustifyButton},showingListButtons(){return this.showListItemsButton||this.showOrderedListButton},orderedRefs(){const e=this.buttonGroups.reduce((function(i,n){return n.buttonGroup.forEach(a=>{i.push(this.getButtonRef(n.key,a.selector))},this),i}).bind(this),[]);return e.push(this.getButtonRef("custom","link")),e},buttonGroups(){const e=this.individualButtons.map(i=>({key:i.selector,buttonGroup:[i]}));return[{key:"new",buttonGroup:this.newButtons},{key:"format",buttonGroup:this.textFormatButtons},{key:"alignment",buttonGroup:this.alignmentButtons},{key:"list",buttonGroup:this.listButtons},...e].filter(i=>i.buttonGroup.length>0)},newButtons(){return[{showBtn:this.showQuickRepliesButton,buttonType:"button",label:this.i18n.$t("DIALTONE_EDITOR_QUICK_REPLY_BUTTON_LABEL"),selector:"quickReplies",icon:l.DtIconQuickReply,dataQA:"dt-recipe-editor-quick-replies-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_QUICK_REPLY_BUTTON_LABEL"),onClick:this.onQuickRepliesClick}].filter(e=>e.showBtn)},textFormatButtons(){return[{showBtn:this.showFontStyleButton,buttonType:"popover",selector:"fontStyle",icon:l.DtIconType,dataQA:"dt-recipe-editor-font-style-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_FONT_STYLE_BUTTON_LABEL")},{showBtn:this.showFontSizeButton,buttonType:"popover",selector:"fontSize",icon:l.DtIconFontSize,dataQA:"dt-recipe-editor-font-size-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_FONT_SIZE_BUTTON_LABEL")},{showBtn:this.showFontColorButton,buttonType:"custom",selector:"fontColor",icon:l.DtIconStopFilled,dataQA:"dt-recipe-editor-font-color-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_FONT_COLOR_BUTTON_LABEL"),onClick:this.onColorPickerButtonClick},{showBtn:this.showBoldButton,buttonType:"button",selector:"bold",icon:l.DtIconBold,dataQA:"dt-recipe-editor-bold-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_BOLD_BUTTON_LABEL"),onClick:this.onBoldTextToggle},{showBtn:this.showItalicsButton,buttonType:"button",selector:"italic",icon:l.DtIconItalic,dataQA:"dt-recipe-editor-italics-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_ITALICS_BUTTON_LABEL"),onClick:this.onItalicTextToggle},{showBtn:this.showUnderlineButton,buttonType:"button",selector:"underline",icon:l.DtIconUnderline,dataQA:"dt-recipe-editor-underline-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_UNDERLINE_BUTTON_LABEL"),onClick:this.onUnderlineTextToggle},{showBtn:this.showStrikeButton,buttonType:"button",selector:"strike",icon:l.DtIconStrikethrough,dataQA:"dt-recipe-editor-strike-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_STRIKE_BUTTON_LABEL"),onClick:this.onStrikethroughTextToggle}].filter(e=>e.showBtn)},alignmentButtons(){return[{showBtn:this.showAlignLeftButton,buttonType:"button",selector:{textAlign:"left"},icon:l.DtIconAlignLeft,dataQA:"dt-recipe-editor-align-left-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_ALIGN_LEFT_BUTTON_LABEL"),onClick:()=>this.onTextAlign("left")},{showBtn:this.showAlignCenterButton,buttonType:"button",selector:{textAlign:"center"},icon:l.DtIconAlignCenter,dataQA:"dt-recipe-editor-align-center-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_ALIGN_CENTER_BUTTON_LABEL"),onClick:()=>this.onTextAlign("center")},{showBtn:this.showAlignRightButton,buttonType:"button",selector:{textAlign:"right"},icon:l.DtIconAlignRight,dataQA:"dt-recipe-editor-align-right-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_ALIGN_RIGHT_BUTTON_LABEL"),onClick:()=>this.onTextAlign("right")},{showBtn:this.showAlignJustifyButton,buttonType:"button",selector:{textAlign:"justify"},icon:l.DtIconAlignJustify,dataQA:"dt-recipe-editor-align-justify-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_ALIGN_JUSTIFY_BUTTON_LABEL"),onClick:()=>this.onTextAlign("justify")}].filter(e=>e.showBtn)},listButtons(){return[{showBtn:this.showListItemsButton,buttonType:"button",selector:"bulletList",icon:l.DtIconListBullet,dataQA:"dt-recipe-editor-list-items-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_BULLET_LIST_BUTTON_LABEL"),onClick:this.onBulletListToggle},{showBtn:this.showOrderedListButton,buttonType:"button",selector:"orderedList",icon:l.DtIconListOrdered,dataQA:"dt-recipe-editor-ordered-list-items-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_ORDERED_LIST_BUTTON_LABEL"),onClick:this.onOrderedListToggle}].filter(e=>e.showBtn)},individualButtons(){return[{showBtn:this.showQuoteButton,buttonType:"button",selector:"blockquote",icon:l.DtIconQuote,dataQA:"dt-recipe-editor-blockquote-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_QUOTE_BUTTON_LABEL"),onClick:this.onBlockquoteToggle},{showBtn:this.showCodeBlockButton,buttonType:"button",selector:"codeBlock",icon:l.DtIconCodeBlock,dataQA:"dt-recipe-editor-code-block-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_CODE_BUTTON_LABEL"),onClick:this.onCodeBlockToggle},{showBtn:this.showInlineImageButton,buttonType:"button",selector:"image",icon:l.DtIconImage,dataQA:"dt-recipe-editor-inline-image-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_IMAGE_BUTTON_LABEL"),onClick:this.onInsertInlineImageClick},{showBtn:this.showVariableButton,buttonType:"popover",selector:"variable",icon:l.DtIconBraces,dataQA:"dt-recipe-editor-variable-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_VARIABLE_BUTTON_LABEL")}].filter(e=>e.showBtn)},linkButton(){return{showBtn:this.showAddLink.showAddLinkButton,buttonType:"custom",selector:"link",icon:l.DtIconLink2,dataQA:"dt-recipe-editor-add-link-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_LINK_BUTTON_LABEL"),onClick:this.openLinkInput}},confirmSetLinkButtonLabels(){return this.i18n.$ta("DIALTONE_EDITOR_CONFIRM_SET_LINK_BUTTON")},cancelSetLinkButtonLabels(){return this.i18n.$ta("DIALTONE_EDITOR_CANCEL_SET_LINK_BUTTON")},removeLinkButtonLabels(){return this.i18n.$ta("DIALTONE_EDITOR_REMOVE_LINK_BUTTON")},showAddLinkButtonLabels(){return this.i18n.$ta("DIALTONE_EDITOR_ADD_LINK_BUTTON")},filteredFontStyles(){const e=this.fontStyleSearch.toLowerCase();return this.fontStyles.filter(i=>i.name.toLowerCase().includes(e))},filteredCategories(){return this.variableCategories.filter(e=>this.getFilteredItemsForCategory(e).length)},colorPickerInput(){var e;return(e=this.$refs.editorRoot)==null?void 0:e.querySelector(".colorPickerInput")},isDefaultFontColor(){return this.currentFontColor===k.EDITOR_DEFAULT_FONT_COLOR},actionBarBtn(){var i,n;const e=((n=(i=this.$refs[this.orderedRefs[this.currentButtonRefIndex]][0])==null?void 0:i.$refs)==null?void 0:n.buttonRef)||this.$refs[this.orderedRefs[this.currentButtonRefIndex]];return Array.isArray(e)?e[0]:e}},watch:{modelValue(e){this.internalInputValue=e}},methods:{removeClassStyleAttrs:R.removeClassStyleAttrs,addClassStyleAttrs:R.addClassStyleAttrs,onInputFocus(e){e==null||e.stopPropagation()},removeLink(){var e,i,n,a,s;(s=(a=(n=(i=(e=this.$refs.richTextEditor)==null?void 0:e.editor)==null?void 0:i.chain())==null?void 0:n.focus())==null?void 0:a.unsetLink())==null||s.run(),this.closeLinkInput()},setLink(e){var s,o,h;const i=(s=this.$refs.richTextEditor)==null?void 0:s.editor;if(e==null||e.preventDefault(),e==null||e.stopPropagation(),!this.linkInput){this.removeLink();return}k.EDITOR_SUPPORTED_LINK_PROTOCOLS.find(f=>f.test(this.linkInput))||(this.linkInput=`${k.EDITOR_DEFAULT_LINK_PREFIX}${this.linkInput}`);const a=(h=(o=i==null?void 0:i.view)==null?void 0:o.state)==null?void 0:h.selection;a.anchor===a.head?i.chain().focus().insertContentAt(a.anchor,`<a class="${this.linkOptions.class}" href=${this.linkInput}>${this.linkInput}</a>`).run():i.chain().focus().extendMarkRange("link").setLink({href:this.linkInput,class:this.linkOptions.class}).run(),this.closeLinkInput()},openLinkInput(){this.showLinkInput=!0},updateInput(e){var i,n,a;if(!e)return this.closeLinkInput();this.linkInput=(a=(n=(i=this.$refs.richTextEditor)==null?void 0:i.editor)==null?void 0:n.getAttributes("link"))==null?void 0:a.href},closeLinkInput(){var e;this.showLinkInput=!1,this.linkInput="",(e=this.$refs.richTextEditor.editor)==null||e.chain().focus()},onBoldTextToggle(){var e,i;(i=(e=this.$refs.richTextEditor)==null?void 0:e.editor)==null||i.chain().focus().toggleBold().run()},onItalicTextToggle(){var e;(e=this.$refs.richTextEditor)==null||e.editor.chain().focus().toggleItalic().run()},onUnderlineTextToggle(){var e;(e=this.$refs.richTextEditor)==null||e.editor.chain().focus().toggleUnderline().run()},onStrikethroughTextToggle(){var e;(e=this.$refs.richTextEditor)==null||e.editor.chain().focus().toggleStrike().run()},onTextAlign(e){var i,n,a,s;if((n=(i=this.$refs.richTextEditor)==null?void 0:i.editor)!=null&&n.isActive({textAlign:e}))return(a=this.$refs.richTextEditor)==null?void 0:a.editor.chain().focus().unsetTextAlign().run();(s=this.$refs.richTextEditor)==null||s.editor.chain().focus().setTextAlign(e).run()},onBulletListToggle(){var e;(e=this.$refs.richTextEditor)==null||e.editor.chain().focus().toggleBulletList().run()},onOrderedListToggle(){var e;(e=this.$refs.richTextEditor)==null||e.editor.chain().focus().toggleOrderedList().run()},onCodeBlockToggle(){var e;(e=this.$refs.richTextEditor)==null||e.editor.chain().focus().toggleCodeBlock().run()},onQuickRepliesClick(){this.$emit("quick-replies-click")},onInsertInlineImageClick(){this.$emit("inline-image-click")},insertVariable(e,i){var n;(n=this.$refs.richTextEditor)==null||n.editor.chain().focus().insertVariable({id:i.id,placeholder:i.placeholder||"",altText:"",enableAltText:i.enableAltText}).run()},insertInlineImage(e){var i;(i=this.$refs.richTextEditor)==null||i.editor.chain().focus().setImage({src:e}).run()},insertInMessageBody(e){var i;(i=this.$refs.richTextEditor)==null||i.editor.chain().focus().insertContent(e).run()},setCursorPosition(e=null){var i;(i=this.$refs.richTextEditor)==null||i.editor.chain().focus(e).run()},onBlockquoteToggle(){var e;(e=this.$refs.richTextEditor)==null||e.editor.chain().focus().toggleBlockquote().run()},onTextInput(e){this.$emit("text-input",e)},onFocus(e){this.hasFocus=!0,this.$emit("focus",e)},onBlur(e){this.hasFocus=!1,this.$emit("blur",e)},onInput(e){this.$emit("input",e),this.$emit("update:modelValue",e)},onSelected(){this.updateFontColorInput()},getButtonKey(e,i){return`${e}-${JSON.stringify(i)}`},getButtonRef(e,i){return`${this.getButtonKey(e,i)}-ref`},canFocus(e){return e===this.orderedRefs[this.currentButtonRefIndex]},shiftActionBarFocusRight(){this.shiftButtonRefIndex(1)},shiftActionBarFocusLeft(){this.shiftButtonRefIndex(-1)},shiftButtonRefIndex(e){const i=this.actionBarBtn,n=(this.currentButtonRefIndex+e)%this.orderedRefs.length;this.currentButtonRefIndex=n>=0?n:this.orderedRefs.length+n;const a=this.actionBarBtn;i.$el.blur(),a.$el.focus()},onFontStyleSelect(e){var i,n,a,s,o,h;e?(n=(i=this.$refs.richTextEditor)==null?void 0:i.editor)==null||n.chain().focus().setFontFamily(e).run():(s=(a=this.$refs.richTextEditor)==null?void 0:a.editor)==null||s.chain().focus().unsetFontFamily().run(),(h=(o=this.$refs.richTextEditor)==null?void 0:o.editor)==null||h.commands.focus()},isCurrentFontFamily(e){var i,n,a,s,o;return e?(o=(s=this.$refs.richTextEditor)==null?void 0:s.editor)==null?void 0:o.isActive("textStyle",{fontFamily:e}):!((a=(n=(i=this.$refs.richTextEditor)==null?void 0:i.editor)==null?void 0:n.getAttributes("textStyle"))!=null&&a.fontFamily)},onFontSizeSelect(e){var i,n,a,s;(n=(i=this.$refs.richTextEditor)==null?void 0:i.editor)==null||n.chain().focus().setFontSize(e).run(),(s=(a=this.$refs.richTextEditor)==null?void 0:a.editor)==null||s.commands.focus()},isCurrentFontSize(e){var i,n,a,s,o;return e?(o=(s=this.$refs.richTextEditor)==null?void 0:s.editor)==null?void 0:o.isActive("textStyle",{fontSize:e}):!((a=(n=(i=this.$refs.richTextEditor)==null?void 0:i.editor)==null?void 0:n.getAttributes("textStyle"))!=null&&a.fontSize)},getFilteredItemsForCategory(e){const i=this.variableSearchValue.toLowerCase();return e.name.toLowerCase().includes(i)?e.items:e.items.filter(n=>n.name.toLowerCase().includes(i))},updateFontColorInput(){var e,i,n;this.currentFontColor=((n=(i=(e=this.$refs.richTextEditor)==null?void 0:e.editor)==null?void 0:i.getAttributes("textStyle"))==null?void 0:n.color)||k.EDITOR_DEFAULT_FONT_COLOR},onColorPickerButtonClick(){var e;(e=this.colorPickerInput)==null||e.click()},onColorPickerInput(e){var i,n,a,s;(n=(i=this.$refs.richTextEditor)==null?void 0:i.editor)==null||n.chain().focus().setColor(e).run(),(s=(a=this.$refs.richTextEditor)==null?void 0:a.editor)==null||s.commands.focus(),this.updateFontColorInput()}}},nt={class:"d-recipe-editor__popover-content"};function rt(e,i,n,a,s,o){const h=t.resolveComponent("dt-icon-search"),f=t.resolveComponent("dt-input"),m=t.resolveComponent("dt-list-item"),I=t.resolveComponent("dt-combobox"),L=t.resolveComponent("editor-toolbar-popover-button"),F=t.resolveComponent("editor-toolbar-dropdown-button"),B=t.resolveComponent("dt-button"),v=t.resolveComponent("dt-dropdown-separator"),N=t.resolveComponent("dt-list-item-group"),V=t.resolveComponent("editor-toolbar-button"),g=t.resolveComponent("dt-stack"),q=t.resolveComponent("dt-tooltip"),U=t.resolveComponent("dt-popover"),z=t.resolveComponent("dt-rich-text-editor"),M=t.resolveDirective("dt-tooltip");return t.openBlock(),t.createElementBlock("div",t.mergeProps({ref:"editorRoot",class:"d-recipe-editor"},o.addClassStyleAttrs(e.$attrs),{"data-qa":"dt-recipe-editor",role:"presentation",onClick:i[7]||(i[7]=c=>e.$refs.richTextEditor.focusEditor())}),[t.createVNode(g,{class:"d-recipe-editor__top-bar",direction:"row",gap:"450"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.buttonGroups,c=>(t.openBlock(),t.createBlock(g,{key:c.key,direction:"row",gap:"300"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.buttonGroup,r=>{var T,w,y,E,A,C,b,D,x;return t.openBlock(),t.createElementBlock(t.Fragment,null,[r.buttonType==="popover"&&r.selector==="fontStyle"?(t.openBlock(),t.createBlock(L,{key:o.getButtonKey(c.key,r.selector),ref_for:!0,ref:o.getButtonRef(c.key,r.selector),"is-active":(w=(T=e.$refs.richTextEditor)==null?void 0:T.editor)==null?void 0:w.isActive(r.selector),"tooltip-message":r.tooltipMessage,"data-qa":r.dataQA,"popover-data-qa":"dt-recipe-editor-font-style-input-popover",tabindex:o.canFocus(o.getButtonRef(c.key,r.selector))?0:-1,icon:r.icon,onShiftFocusRight:o.shiftActionBarFocusRight,onShiftFocusLeft:o.shiftActionBarFocusLeft},{content:t.withCtx(({close:p})=>[t.createVNode(I,{label:"","label-visible":!1,"show-list":!0,"click-on-select":!0,onEscape:d=>p()},{input:t.withCtx(({inputProps:d})=>[t.createVNode(f,t.mergeProps({ref_for:!0},d,{modelValue:s.fontStyleSearch,"onUpdate:modelValue":i[0]||(i[0]=u=>s.fontStyleSearch=u),"root-class":"d-p8 d-pb4 d-w216",type:"search",placeholder:s.i18n.$t("DIALTONE_EDITOR_FONT_STYLE_SEARCH_PLACEHOLDER"),size:"sm",role:"menuitem"}),{leftIcon:t.withCtx(({iconSize:u})=>[t.createVNode(h,{size:u},null,8,["size"])]),_:1},16,["modelValue","placeholder"])]),list:t.withCtx(({listProps:d})=>[t.createElementVNode("ul",t.mergeProps({ref_for:!0},d),[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.filteredFontStyles,u=>(t.openBlock(),t.createBlock(m,{key:u.name,selected:o.isCurrentFontFamily(u.value),style:t.normalizeStyle({fontFamily:u.value||"inherit"}),role:"option","navigation-type":"arrow-keys",onClick:O=>{p(),o.onFontStyleSelect(u.value)}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(u.name),1)]),_:2},1032,["selected","style","onClick"]))),128))],16)]),_:2},1032,["onEscape"])]),_:1},8,["is-active","tooltip-message","data-qa","tabindex","icon","onShiftFocusRight","onShiftFocusLeft"])):r.buttonType==="popover"&&r.selector==="fontSize"?(t.openBlock(),t.createBlock(F,{key:o.getButtonKey(c.key,r.selector),ref_for:!0,ref:o.getButtonRef(c.key,r.selector),"is-active":(E=(y=e.$refs.richTextEditor)==null?void 0:y.editor)==null?void 0:E.isActive(r.selector),"tooltip-message":r.tooltipMessage,"data-qa":r.dataQA,"dropdown-data-qa":"dt-recipe-editor-font-size-input-popover",tabindex:o.canFocus(o.getButtonRef(c.key,r.selector))?0:-1,icon:r.icon,onShiftFocusRight:o.shiftActionBarFocusRight,onShiftFocusLeft:o.shiftActionBarFocusLeft},{list:t.withCtx(({close:p})=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.fontSizes,d=>(t.openBlock(),t.createBlock(m,{key:d.name,selected:o.isCurrentFontSize(d.value),role:"menuitem","navigation-type":"arrow-keys",onClick:u=>{p(),o.onFontSizeSelect(d.value,u)}},{default:t.withCtx(()=>[t.createElementVNode("span",{style:t.normalizeStyle({fontSize:d.value})},t.toDisplayString(d.name),5)]),_:2},1032,["selected","onClick"]))),128))]),_:1},8,["is-active","tooltip-message","data-qa","tabindex","icon","onShiftFocusRight","onShiftFocusLeft"])):r.buttonType==="custom"&&r.selector==="fontColor"?t.withDirectives((t.openBlock(),t.createBlock(B,{key:o.getButtonKey(c.key,r.selector),ref_for:!0,ref:o.getButtonRef(c.key,r.selector),kind:"muted",importance:"clear",size:"xs",active:(C=(A=e.$refs.richTextEditor)==null?void 0:A.editor)==null?void 0:C.isActive(r.selector),tabindex:o.canFocus(o.getButtonRef(c.key,r.selector))?0:-1,"aria-label":r.tooltipMessage,"data-qa":r.dataQA,onKeydown:[t.withKeys(t.withModifiers(o.shiftActionBarFocusRight,["stop"]),["right"]),t.withKeys(t.withModifiers(o.shiftActionBarFocusLeft,["stop"]),["left"])],onClick:p=>r.onClick()},{icon:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.icon),{size:"200",style:t.normalizeStyle(o.isDefaultFontColor?{}:{color:s.currentFontColor})},null,8,["style"])),t.createVNode(f,{value:s.currentFontColor,"root-class":"d-w0 d-h0 d-of-hidden","input-class":"colorPickerInput d-w0 d-h0 d-p0 d-bar0","input-wrapper-class":"d-w0 d-h0 d-ba-none",size:"sm",type:"color",onInput:o.onColorPickerInput,onClick:i[1]||(i[1]=t.withModifiers(()=>{},["stop"]))},null,8,["value","onInput"])]),_:2},1032,["active","tabindex","aria-label","data-qa","onKeydown","onClick"])),[[M,{message:r.tooltipMessage,placement:"top",externalAnchorElement:(b=e.$refs[o.getButtonRef(c.key,r.selector)])==null?void 0:b.$el}]]):r.buttonType==="popover"&&r.selector==="variable"?(t.openBlock(),t.createBlock(L,{key:o.getButtonKey(c.key,r.selector),ref_for:!0,ref:o.getButtonRef(c.key,r.selector),"is-active":!1,"tooltip-message":r.tooltipMessage,"data-qa":r.dataQA,"popover-data-qa":"dt-recipe-editor-variable-popover",tabindex:o.canFocus(o.getButtonRef(c.key,r.selector))?0:-1,icon:r.icon,onShiftFocusRight:o.shiftActionBarFocusRight,onShiftFocusLeft:o.shiftActionBarFocusLeft},{content:t.withCtx(({close:p})=>[t.createVNode(I,{label:"","label-visible":!1,"show-list":!0,"click-on-select":!0,onEscape:d=>p()},{input:t.withCtx(({inputProps:d})=>[t.createVNode(f,t.mergeProps({ref_for:!0},d,{modelValue:s.variableSearchValue,"onUpdate:modelValue":i[2]||(i[2]=u=>s.variableSearchValue=u),"root-class":"d-p8 d-pb4 d-w264",type:"search",placeholder:s.i18n.$t("DIALTONE_EDITOR_VARIABLE_POPOVER_SEARCH_PLACEHOLDER"),size:"md",role:"menuitem"}),{leftIcon:t.withCtx(({iconSize:u})=>[t.createVNode(h,{size:u},null,8,["size"])]),_:1},16,["modelValue","placeholder"])]),list:t.withCtx(({listProps:d})=>[t.createElementVNode("div",t.mergeProps({ref_for:!0},d),[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.filteredCategories,(u,O)=>(t.openBlock(),t.createBlock(N,{key:u.name,heading:u.name,"heading-class":"d-headline--sm-compact d-p8"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.getFilteredItemsForCategory(u),_=>(t.openBlock(),t.createBlock(m,{key:u.name+_.name,role:"option","navigation-type":"arrow-keys",onClick:st=>{o.insertVariable(u.name,_),p()}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(_.name),1)]),_:2},1032,["onClick"]))),128)),O<o.filteredCategories.length-1?(t.openBlock(),t.createBlock(v,{key:0})):t.createCommentVNode("",!0)]),_:2},1032,["heading"]))),128))],16)]),_:2},1032,["onEscape"])]),_:1},8,["tooltip-message","data-qa","tabindex","icon","onShiftFocusRight","onShiftFocusLeft"])):r.buttonType==="button"?(t.openBlock(),t.createBlock(V,{key:o.getButtonKey(c.key,r.selector),ref_for:!0,ref:o.getButtonRef(c.key,r.selector),"is-active":(x=(D=e.$refs.richTextEditor)==null?void 0:D.editor)==null?void 0:x.isActive(r.selector),"tooltip-message":r.tooltipMessage,"data-qa":r.dataQA,tabindex:o.canFocus(o.getButtonRef(c.key,r.selector))?0:-1,icon:r.icon,label:r.label,"on-click":r.onClick,onShiftFocusRight:o.shiftActionBarFocusRight,onShiftFocusLeft:o.shiftActionBarFocusLeft},null,8,["is-active","tooltip-message","data-qa","tabindex","icon","label","on-click","onShiftFocusRight","onShiftFocusLeft"])):t.createCommentVNode("",!0)],64)}),256)),i[8]||(i[8]=t.createElementVNode("div",{class:"d-recipe-editor__button-group-divider"},null,-1))]),_:2},1024))),128)),o.linkButton.showBtn?(t.openBlock(),t.createBlock(g,{key:0,direction:"row",gap:"300"},{default:t.withCtx(()=>[t.createVNode(U,{open:s.showLinkInput,"show-close-button":!1,"data-qa":"dt-recipe-editor-link-input-popover",padding:"none",placement:"bottom-start",onClick:[o.onInputFocus,t.withModifiers(o.onInputFocus,["stop"])],onOpened:o.updateInput},{anchor:t.withCtx(()=>[(t.openBlock(),t.createBlock(q,{key:o.linkButton.key,message:o.linkButton.tooltipMessage,placement:"top"},{anchor:t.withCtx(()=>{var c,r;return[t.createVNode(B,{ref:o.getButtonRef("custom","link"),active:(r=(c=e.$refs.richTextEditor)==null?void 0:c.editor)==null?void 0:r.isActive(o.linkButton.selector),"aria-label":o.linkButton.tooltipMessage,"data-qa":o.linkButton.dataQA,tabindex:o.canFocus(o.getButtonRef("custom","link"))?0:-1,importance:"clear",kind:"muted",size:"xs",onClick:i[3]||(i[3]=T=>o.linkButton.onClick()),onKeydown:[t.withKeys(t.withModifiers(o.shiftActionBarFocusRight,["stop"]),["right"]),t.withKeys(t.withModifiers(o.shiftActionBarFocusLeft,["stop"]),["left"])]},{icon:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.linkButton.icon),{size:"200"}))]),_:1},8,["active","aria-label","data-qa","tabindex","onKeydown"])]}),_:1},8,["message"]))]),content:t.withCtx(()=>[t.createElementVNode("div",nt,[t.createElementVNode("span",null,t.toDisplayString(o.showAddLinkButtonLabels.title),1),t.createVNode(f,{modelValue:s.linkInput,"onUpdate:modelValue":i[4]||(i[4]=c=>s.linkInput=c),"input-aria-label":o.showAddLinkButtonLabels["aria-label"],placeholder:n.setLinkPlaceholder,"data-qa":"dt-recipe-editor-link-input","input-wrapper-class":"d-recipe-editor-link__input-wrapper",onClick:[o.onInputFocus,t.withModifiers(o.onInputFocus,["stop"])],onFocus:o.onInputFocus,onKeydown:t.withKeys(o.setLink,["enter"])},null,8,["modelValue","input-aria-label","placeholder","onClick","onFocus","onKeydown"])])]),footerContent:t.withCtx(()=>[t.createVNode(g,{direction:"row",gap:"300",class:"d-recipe-editor__popover-footer"},{default:t.withCtx(()=>[t.createVNode(B,t.mergeProps({"data-qa":"dt-recipe-editor-remove-link-btn",importance:"clear",kind:"muted",size:"sm"},o.removeLinkButtonLabels,{onClick:o.removeLink}),{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(o.removeLinkButtonLabels.title),1)]),_:1},16,["onClick"]),t.createVNode(B,t.mergeProps({"data-qa":"dt-recipe-editor-set-link-cancel-btn",importance:"clear",kind:"muted",size:"sm"},o.cancelSetLinkButtonLabels,{onClick:o.closeLinkInput}),{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(o.cancelSetLinkButtonLabels.title),1)]),_:1},16,["onClick"]),t.createVNode(B,t.mergeProps({"data-qa":"dt-recipe-editor-set-link-confirm-btn",size:"sm"},o.confirmSetLinkButtonLabels,{onClick:o.setLink}),{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(o.confirmSetLinkButtonLabels.title),1)]),_:1},16,["onClick"])]),_:1})]),_:1},8,["open","onClick","onOpened"])]),_:1})):t.createCommentVNode("",!0)]),_:1}),t.createElementVNode("div",{style:t.normalizeStyle({"max-height":n.maxHeight}),class:t.normalizeClass(["d-recipe-editor__content",{"d-recipe-editor__content-image-resize":n.allowImageResize}])},[t.createVNode(z,t.mergeProps({ref:"richTextEditor",modelValue:s.internalInputValue,"onUpdate:modelValue":i[5]||(i[5]=c=>s.internalInputValue=c),"allow-font-color":!0,"allow-font-family":!0,"allow-inline-images":!0,"allow-line-breaks":!0,"allow-variable":!0,"allow-font-size":n.showFontSizeButton,"allow-background-color":n.allowBackgroundColor,"allow-line-height":n.allowLineHeight,"variable-items":o.flattenedVariableItems,"hide-link-bubble-menu":!0,"auto-focus":n.autoFocus,editable:n.editable,"input-aria-label":n.inputAriaLabel,"input-class":`d-recipe-editor__content-input ${n.inputClass}`,link:!0,"output-format":o.htmlOutputFormat,placeholder:n.placeholder,"use-div-tags":n.useDivTags,"allow-tables":n.allowTables,"allow-image-resize":n.allowImageResize,"data-qa":"dt-rich-text-editor"},o.removeClassStyleAttrs(e.$attrs),{onTextInput:o.onTextInput,onBlur:o.onBlur,onFocus:o.onFocus,onInput:i[6]||(i[6]=c=>o.onInput(c)),onSelected:o.onSelected}),null,16,["modelValue","allow-font-size","allow-background-color","allow-line-height","variable-items","auto-focus","editable","input-aria-label","input-class","output-format","placeholder","use-div-tags","allow-tables","allow-image-resize","onTextInput","onBlur","onFocus","onSelected"])],6)],16)}const lt=J._(it,[["render",rt]]);exports.default=lt;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const k=require("./editor-constants.cjs"),S=require("../../common/utils/index.cjs"),Q=require("./EditorToolbarButton.cjs"),P=require("./EditorToolbarDropdownButton.cjs"),K=require("./EditorToolbarPopoverButton.cjs"),l=require("@dialpad/dialtone-icons/vue3"),H=require("../../localization/index.cjs"),e=require("vue"),J=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),j=require("../combobox/combobox.cjs"),Y=require("../tooltip/tooltip.cjs"),G=require("../input/input.cjs"),X=require("../stack/stack.cjs"),W=require("../popover/popover.cjs"),Z=require("../button/button.cjs"),$=require("../rich-text-editor/rich-text-editor.cjs"),ee=require("../list-item/list-item.cjs"),te=require("../dropdown/dropdown-separator.cjs"),oe=require("../list-item-group/list-item-group.cjs"),v=require("../rich-text-editor/rich-text-editor-constants.cjs"),ie={compatConfig:{MODE:3},name:"DtRecipeEditor",components:{DtListItemGroup:oe.default,DtDropdownSeparator:te.default,DtListItem:ee.default,DtRichTextEditor:$.default,DtButton:Z.default,DtPopover:W.default,DtStack:X.default,DtInput:G.default,DtTooltip:Y.default,DtCombobox:j.default,EditorToolbarButton:Q.default,EditorToolbarDropdownButton:P.default,EditorToolbarPopoverButton:K.default,DtIconQuickReply:l.DtIconQuickReply,DtIconBold:l.DtIconBold,DtIconItalic:l.DtIconItalic,DtIconUnderline:l.DtIconUnderline,DtIconStrikethrough:l.DtIconStrikethrough,DtIconListBullet:l.DtIconListBullet,DtIconListOrdered:l.DtIconListOrdered,DtIconAlignLeft:l.DtIconAlignLeft,DtIconAlignCenter:l.DtIconAlignCenter,DtIconAlignRight:l.DtIconAlignRight,DtIconAlignJustify:l.DtIconAlignJustify,DtIconQuote:l.DtIconQuote,DtIconCodeBlock:l.DtIconCodeBlock,DtIconLink2:l.DtIconLink2,DtIconImage:l.DtIconImage,DtIconSearch:l.DtIconSearch,DtIconType:l.DtIconType,DtIconBraces:l.DtIconBraces,DtIconChevronDown:l.DtIconChevronDown,DtIconFontSize:l.DtIconFontSize,DtIconStopFilled:l.DtIconStopFilled},mixins:[],inheritAttrs:!1,props:{modelValue:{type:[Object,String],default:""},editable:{type:Boolean,default:!0},inputAriaLabel:{type:String,required:!0,default:""},inputClass:{type:String,default:""},autoFocus:{type:[Boolean,String,Number],default:!1,validator(t){return typeof t=="string"?v.RICH_TEXT_EDITOR_AUTOFOCUS_TYPES.includes(t):!0}},placeholder:{type:String,default:""},maxHeight:{type:String,default:"unset"},setLinkPlaceholder:{type:String,default:""},showBoldButton:{type:Boolean,default:!0},showItalicsButton:{type:Boolean,default:!0},showUnderlineButton:{type:Boolean,default:!0},showStrikeButton:{type:Boolean,default:!0},showListItemsButton:{type:Boolean,default:!0},showOrderedListButton:{type:Boolean,default:!0},showAlignLeftButton:{type:Boolean,default:!0},showAlignCenterButton:{type:Boolean,default:!0},showAlignRightButton:{type:Boolean,default:!0},showAlignJustifyButton:{type:Boolean,default:!0},showQuoteButton:{type:Boolean,default:!0},showCodeBlockButton:{type:Boolean,default:!0},showQuickRepliesButton:{type:Boolean,default:!0},showInlineImageButton:{type:Boolean,default:!1},showVariableButton:{type:Boolean,default:!1},variableCategories:{type:Array,default:()=>[]},showAddLink:{type:Object,default:()=>({showAddLinkButton:!0})},showFontStyleButton:{type:Boolean,default:!1},showFontSizeButton:{type:Boolean,default:!1},showFontColorButton:{type:Boolean,default:!1},fontStyles:{type:Array,default:()=>[{name:"Arial",value:null},{name:"Georgia",value:"Georgia"},{name:"Helvetica",value:"Helvetica"},{name:"Verdana",value:"Verdana"},{name:"Times New Roman",value:"Times New Roman"}]},fontSizes:{type:Array,default:()=>[{name:"Small",value:"12px"},{name:"Normal",value:"15px"},{name:"Large",value:"24px"},{name:"Huge",value:"36px"}]},allowBackgroundColor:{type:Boolean,default:!1},allowLineHeight:{type:Boolean,default:!1},preserveWhitespace:{type:[Boolean,String],default:"full"},useDivTags:{type:Boolean,default:!1},allowTables:{type:Boolean,default:!1},allowImageResize:{type:Boolean,default:!1}},emits:["focus","blur","input","update:modelValue","quick-replies-click","inline-image-click","text-input"],data(){return{internalInputValue:this.modelValue,hasFocus:!1,linkOptions:{class:"d-recipe-editor__link"},currentFontColor:void 0,showLinkInput:!1,fontStyleSearch:"",linkInput:"",currentButtonRefIndex:0,variableSearchValue:"",i18n:new H.DialtoneLocalization}},computed:{inputLength(){return this.internalInputValue.length},htmlOutputFormat(){return v.RICH_TEXT_EDITOR_OUTPUT_FORMATS[2]},flattenedVariableItems(){return this.variableCategories?this.variableCategories.reduce((t,i)=>t.concat(i.items||[]),[]):[]},showingTextFormatButtons(){return this.showBoldButton||this.showItalicsButton||this.showStrikeButton||this.showUnderlineButton},showingAlignmentButtons(){return this.showAlignLeftButton||this.showAlignCenterButton||this.showAlignRightButton||this.showAlignJustifyButton},showingListButtons(){return this.showListItemsButton||this.showOrderedListButton},orderedRefs(){const t=this.buttonGroups.reduce((function(i,n){return n.buttonGroup.forEach(a=>{i.push(this.getButtonRef(n.key,a.selector))},this),i}).bind(this),[]);return t.push(this.getButtonRef("custom","link")),t},buttonGroups(){const t=this.individualButtons.map(i=>({key:i.selector,buttonGroup:[i]}));return[{key:"new",buttonGroup:this.newButtons},{key:"format",buttonGroup:this.textFormatButtons},{key:"alignment",buttonGroup:this.alignmentButtons},{key:"list",buttonGroup:this.listButtons},...t].filter(i=>i.buttonGroup.length>0)},newButtons(){return[{showBtn:this.showQuickRepliesButton,buttonType:"button",label:this.i18n.$t("DIALTONE_EDITOR_QUICK_REPLY_BUTTON_LABEL"),selector:"quickReplies",icon:l.DtIconQuickReply,dataQA:"dt-recipe-editor-quick-replies-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_QUICK_REPLY_BUTTON_LABEL"),onClick:this.onQuickRepliesClick}].filter(t=>t.showBtn)},textFormatButtons(){return[{showBtn:this.showFontStyleButton,buttonType:"popover",selector:"fontStyle",icon:l.DtIconType,dataQA:"dt-recipe-editor-font-style-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_FONT_STYLE_BUTTON_LABEL")},{showBtn:this.showFontSizeButton,buttonType:"popover",selector:"fontSize",icon:l.DtIconFontSize,dataQA:"dt-recipe-editor-font-size-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_FONT_SIZE_BUTTON_LABEL")},{showBtn:this.showFontColorButton,buttonType:"custom",selector:"fontColor",icon:l.DtIconStopFilled,dataQA:"dt-recipe-editor-font-color-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_FONT_COLOR_BUTTON_LABEL"),onClick:this.onColorPickerButtonClick},{showBtn:this.showBoldButton,buttonType:"button",selector:"bold",icon:l.DtIconBold,dataQA:"dt-recipe-editor-bold-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_BOLD_BUTTON_LABEL"),onClick:this.onBoldTextToggle},{showBtn:this.showItalicsButton,buttonType:"button",selector:"italic",icon:l.DtIconItalic,dataQA:"dt-recipe-editor-italics-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_ITALICS_BUTTON_LABEL"),onClick:this.onItalicTextToggle},{showBtn:this.showUnderlineButton,buttonType:"button",selector:"underline",icon:l.DtIconUnderline,dataQA:"dt-recipe-editor-underline-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_UNDERLINE_BUTTON_LABEL"),onClick:this.onUnderlineTextToggle},{showBtn:this.showStrikeButton,buttonType:"button",selector:"strike",icon:l.DtIconStrikethrough,dataQA:"dt-recipe-editor-strike-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_STRIKE_BUTTON_LABEL"),onClick:this.onStrikethroughTextToggle}].filter(t=>t.showBtn)},alignmentButtons(){return[{showBtn:this.showAlignLeftButton,buttonType:"button",selector:{textAlign:"left"},icon:l.DtIconAlignLeft,dataQA:"dt-recipe-editor-align-left-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_ALIGN_LEFT_BUTTON_LABEL"),onClick:()=>this.onTextAlign("left")},{showBtn:this.showAlignCenterButton,buttonType:"button",selector:{textAlign:"center"},icon:l.DtIconAlignCenter,dataQA:"dt-recipe-editor-align-center-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_ALIGN_CENTER_BUTTON_LABEL"),onClick:()=>this.onTextAlign("center")},{showBtn:this.showAlignRightButton,buttonType:"button",selector:{textAlign:"right"},icon:l.DtIconAlignRight,dataQA:"dt-recipe-editor-align-right-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_ALIGN_RIGHT_BUTTON_LABEL"),onClick:()=>this.onTextAlign("right")},{showBtn:this.showAlignJustifyButton,buttonType:"button",selector:{textAlign:"justify"},icon:l.DtIconAlignJustify,dataQA:"dt-recipe-editor-align-justify-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_ALIGN_JUSTIFY_BUTTON_LABEL"),onClick:()=>this.onTextAlign("justify")}].filter(t=>t.showBtn)},listButtons(){return[{showBtn:this.showListItemsButton,buttonType:"button",selector:"bulletList",icon:l.DtIconListBullet,dataQA:"dt-recipe-editor-list-items-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_BULLET_LIST_BUTTON_LABEL"),onClick:this.onBulletListToggle},{showBtn:this.showOrderedListButton,buttonType:"button",selector:"orderedList",icon:l.DtIconListOrdered,dataQA:"dt-recipe-editor-ordered-list-items-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_ORDERED_LIST_BUTTON_LABEL"),onClick:this.onOrderedListToggle}].filter(t=>t.showBtn)},individualButtons(){return[{showBtn:this.showQuoteButton,buttonType:"button",selector:"blockquote",icon:l.DtIconQuote,dataQA:"dt-recipe-editor-blockquote-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_QUOTE_BUTTON_LABEL"),onClick:this.onBlockquoteToggle},{showBtn:this.showCodeBlockButton,buttonType:"button",selector:"codeBlock",icon:l.DtIconCodeBlock,dataQA:"dt-recipe-editor-code-block-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_CODE_BUTTON_LABEL"),onClick:this.onCodeBlockToggle},{showBtn:this.showInlineImageButton,buttonType:"button",selector:"image",icon:l.DtIconImage,dataQA:"dt-recipe-editor-inline-image-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_IMAGE_BUTTON_LABEL"),onClick:this.onInsertInlineImageClick},{showBtn:this.showVariableButton,buttonType:"popover",selector:"variable",icon:l.DtIconBraces,dataQA:"dt-recipe-editor-variable-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_VARIABLE_BUTTON_LABEL")}].filter(t=>t.showBtn)},linkButton(){return{showBtn:this.showAddLink.showAddLinkButton,buttonType:"custom",selector:"link",icon:l.DtIconLink2,dataQA:"dt-recipe-editor-add-link-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_LINK_BUTTON_LABEL"),onClick:this.openLinkInput}},confirmSetLinkButtonLabels(){return this.i18n.$ta("DIALTONE_EDITOR_CONFIRM_SET_LINK_BUTTON")},cancelSetLinkButtonLabels(){return this.i18n.$ta("DIALTONE_EDITOR_CANCEL_SET_LINK_BUTTON")},removeLinkButtonLabels(){return this.i18n.$ta("DIALTONE_EDITOR_REMOVE_LINK_BUTTON")},showAddLinkButtonLabels(){return this.i18n.$ta("DIALTONE_EDITOR_ADD_LINK_BUTTON")},filteredFontStyles(){const t=this.fontStyleSearch.toLowerCase();return this.fontStyles.filter(i=>i.name.toLowerCase().includes(t))},filteredCategories(){return this.variableCategories.filter(t=>this.getFilteredItemsForCategory(t).length)},colorPickerInput(){var t;return(t=this.$refs.editorRoot)==null?void 0:t.querySelector(".colorPickerInput")},isDefaultFontColor(){return this.currentFontColor===k.EDITOR_DEFAULT_FONT_COLOR},actionBarBtn(){var i,n;const t=((n=(i=this.$refs[this.orderedRefs[this.currentButtonRefIndex]][0])==null?void 0:i.$refs)==null?void 0:n.buttonRef)||this.$refs[this.orderedRefs[this.currentButtonRefIndex]];return Array.isArray(t)?t[0]:t}},watch:{modelValue(t){this.internalInputValue=t}},methods:{removeClassStyleAttrs:S.removeClassStyleAttrs,addClassStyleAttrs:S.addClassStyleAttrs,onInputFocus(t){t==null||t.stopPropagation()},removeLink(){var t,i,n,a,s;(s=(a=(n=(i=(t=this.$refs.richTextEditor)==null?void 0:t.editor)==null?void 0:i.chain())==null?void 0:n.focus())==null?void 0:a.unsetLink())==null||s.run(),this.closeLinkInput()},setLink(t){var s,o,h;const i=(s=this.$refs.richTextEditor)==null?void 0:s.editor;if(t==null||t.preventDefault(),t==null||t.stopPropagation(),!this.linkInput){this.removeLink();return}k.EDITOR_SUPPORTED_LINK_PROTOCOLS.find(f=>f.test(this.linkInput))||(this.linkInput=`${k.EDITOR_DEFAULT_LINK_PREFIX}${this.linkInput}`);const a=(h=(o=i==null?void 0:i.view)==null?void 0:o.state)==null?void 0:h.selection;a.anchor===a.head?i.chain().focus().insertContentAt(a.anchor,`<a class="${this.linkOptions.class}" href=${this.linkInput}>${this.linkInput}</a>`).run():i.chain().focus().extendMarkRange("link").setLink({href:this.linkInput,class:this.linkOptions.class}).run(),this.closeLinkInput()},openLinkInput(){this.showLinkInput=!0},updateInput(t){var i,n,a;if(!t)return this.closeLinkInput();this.linkInput=(a=(n=(i=this.$refs.richTextEditor)==null?void 0:i.editor)==null?void 0:n.getAttributes("link"))==null?void 0:a.href},closeLinkInput(){var t;this.showLinkInput=!1,this.linkInput="",(t=this.$refs.richTextEditor.editor)==null||t.chain().focus()},onBoldTextToggle(){var t,i;(i=(t=this.$refs.richTextEditor)==null?void 0:t.editor)==null||i.chain().focus().toggleBold().run()},onItalicTextToggle(){var t;(t=this.$refs.richTextEditor)==null||t.editor.chain().focus().toggleItalic().run()},onUnderlineTextToggle(){var t;(t=this.$refs.richTextEditor)==null||t.editor.chain().focus().toggleUnderline().run()},onStrikethroughTextToggle(){var t;(t=this.$refs.richTextEditor)==null||t.editor.chain().focus().toggleStrike().run()},onTextAlign(t){var i,n,a,s;if((n=(i=this.$refs.richTextEditor)==null?void 0:i.editor)!=null&&n.isActive({textAlign:t}))return(a=this.$refs.richTextEditor)==null?void 0:a.editor.chain().focus().unsetTextAlign().run();(s=this.$refs.richTextEditor)==null||s.editor.chain().focus().setTextAlign(t).run()},onBulletListToggle(){var t;(t=this.$refs.richTextEditor)==null||t.editor.chain().focus().toggleBulletList().run()},onOrderedListToggle(){var t;(t=this.$refs.richTextEditor)==null||t.editor.chain().focus().toggleOrderedList().run()},onCodeBlockToggle(){var t;(t=this.$refs.richTextEditor)==null||t.editor.chain().focus().toggleCodeBlock().run()},onQuickRepliesClick(){this.$emit("quick-replies-click")},onInsertInlineImageClick(){this.$emit("inline-image-click")},insertVariable(t,i){var n;(n=this.$refs.richTextEditor)==null||n.editor.chain().focus().insertVariable({id:i.id,placeholder:i.placeholder||"",altText:"",enableAltText:i.enableAltText}).run()},insertInlineImage(t){var i;(i=this.$refs.richTextEditor)==null||i.editor.chain().focus().setImage({src:t}).run()},insertInMessageBody(t){var i;(i=this.$refs.richTextEditor)==null||i.editor.chain().focus().insertContent(t).run()},setCursorPosition(t=null){var i;(i=this.$refs.richTextEditor)==null||i.editor.chain().focus(t).run()},onBlockquoteToggle(){var t;(t=this.$refs.richTextEditor)==null||t.editor.chain().focus().toggleBlockquote().run()},onTextInput(t){this.$emit("text-input",t)},onFocus(t){this.hasFocus=!0,this.$emit("focus",t)},onBlur(t){this.hasFocus=!1,this.$emit("blur",t)},onInput(t){this.$emit("input",t),this.$emit("update:modelValue",t)},onSelected(){this.updateFontColorInput()},getButtonKey(t,i){return`${t}-${JSON.stringify(i)}`},getButtonRef(t,i){return`${this.getButtonKey(t,i)}-ref`},canFocus(t){return t===this.orderedRefs[this.currentButtonRefIndex]},shiftActionBarFocusRight(){this.shiftButtonRefIndex(1)},shiftActionBarFocusLeft(){this.shiftButtonRefIndex(-1)},shiftButtonRefIndex(t){const i=this.actionBarBtn,n=(this.currentButtonRefIndex+t)%this.orderedRefs.length;this.currentButtonRefIndex=n>=0?n:this.orderedRefs.length+n;const a=this.actionBarBtn;i.$el.blur(),a.$el.focus()},onFontStyleSelect(t){var i,n,a,s,o,h;t?(n=(i=this.$refs.richTextEditor)==null?void 0:i.editor)==null||n.chain().focus().setFontFamily(t).run():(s=(a=this.$refs.richTextEditor)==null?void 0:a.editor)==null||s.chain().focus().unsetFontFamily().run(),(h=(o=this.$refs.richTextEditor)==null?void 0:o.editor)==null||h.commands.focus()},isCurrentFontFamily(t){var i,n,a,s,o;return t?(o=(s=this.$refs.richTextEditor)==null?void 0:s.editor)==null?void 0:o.isActive("textStyle",{fontFamily:t}):!((a=(n=(i=this.$refs.richTextEditor)==null?void 0:i.editor)==null?void 0:n.getAttributes("textStyle"))!=null&&a.fontFamily)},onFontSizeSelect(t){var i,n,a,s;(n=(i=this.$refs.richTextEditor)==null?void 0:i.editor)==null||n.chain().focus().setFontSize(t).run(),(s=(a=this.$refs.richTextEditor)==null?void 0:a.editor)==null||s.commands.focus()},isCurrentFontSize(t){var i,n,a,s,o;return t?(o=(s=this.$refs.richTextEditor)==null?void 0:s.editor)==null?void 0:o.isActive("textStyle",{fontSize:t}):!((a=(n=(i=this.$refs.richTextEditor)==null?void 0:i.editor)==null?void 0:n.getAttributes("textStyle"))!=null&&a.fontSize)},getFilteredItemsForCategory(t){const i=this.variableSearchValue.toLowerCase();return t.name.toLowerCase().includes(i)?t.items:t.items.filter(n=>n.name.toLowerCase().includes(i))},updateFontColorInput(){var t,i,n;this.currentFontColor=((n=(i=(t=this.$refs.richTextEditor)==null?void 0:t.editor)==null?void 0:i.getAttributes("textStyle"))==null?void 0:n.color)||k.EDITOR_DEFAULT_FONT_COLOR},onColorPickerButtonClick(){var t;(t=this.colorPickerInput)==null||t.click()},onColorPickerInput(t){var i,n,a,s;(n=(i=this.$refs.richTextEditor)==null?void 0:i.editor)==null||n.chain().focus().setColor(t).run(),(s=(a=this.$refs.richTextEditor)==null?void 0:a.editor)==null||s.commands.focus(),this.updateFontColorInput()}}},ne={class:"d-recipe-editor__popover-content"};function re(t,i,n,a,s,o){const h=e.resolveComponent("dt-icon-search"),f=e.resolveComponent("dt-input"),m=e.resolveComponent("dt-list-item"),I=e.resolveComponent("dt-combobox"),L=e.resolveComponent("editor-toolbar-popover-button"),R=e.resolveComponent("editor-toolbar-dropdown-button"),B=e.resolveComponent("dt-button"),F=e.resolveComponent("dt-dropdown-separator"),N=e.resolveComponent("dt-list-item-group"),V=e.resolveComponent("editor-toolbar-button"),g=e.resolveComponent("dt-stack"),q=e.resolveComponent("dt-tooltip"),U=e.resolveComponent("dt-popover"),z=e.resolveComponent("dt-rich-text-editor"),M=e.resolveDirective("dt-tooltip");return e.openBlock(),e.createElementBlock("div",e.mergeProps({ref:"editorRoot",class:"d-recipe-editor"},o.addClassStyleAttrs(t.$attrs),{"data-qa":"dt-recipe-editor",role:"presentation",onClick:i[7]||(i[7]=c=>t.$refs.richTextEditor.focusEditor())}),[e.createVNode(g,{class:"d-recipe-editor__top-bar",direction:"row",gap:"450"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.buttonGroups,c=>(e.openBlock(),e.createBlock(g,{key:c.key,direction:"row",gap:"300"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.buttonGroup,r=>{var T,w,y,E,A,C,b,D,x;return e.openBlock(),e.createElementBlock(e.Fragment,null,[r.buttonType==="popover"&&r.selector==="fontStyle"?(e.openBlock(),e.createBlock(L,{key:o.getButtonKey(c.key,r.selector),ref_for:!0,ref:o.getButtonRef(c.key,r.selector),"is-active":(w=(T=t.$refs.richTextEditor)==null?void 0:T.editor)==null?void 0:w.isActive(r.selector),"tooltip-message":r.tooltipMessage,"data-qa":r.dataQA,"popover-data-qa":"dt-recipe-editor-font-style-input-popover",tabindex:o.canFocus(o.getButtonRef(c.key,r.selector))?0:-1,icon:r.icon,onShiftFocusRight:o.shiftActionBarFocusRight,onShiftFocusLeft:o.shiftActionBarFocusLeft},{content:e.withCtx(({close:p})=>[e.createVNode(I,{label:"","label-visible":!1,"show-list":!0,"click-on-select":!0,onEscape:d=>p()},{input:e.withCtx(({inputProps:d})=>[e.createVNode(f,e.mergeProps({ref_for:!0},d,{modelValue:s.fontStyleSearch,"onUpdate:modelValue":i[0]||(i[0]=u=>s.fontStyleSearch=u),"root-class":"d-p8 d-pb4 d-w216",type:"search",placeholder:s.i18n.$t("DIALTONE_EDITOR_FONT_STYLE_SEARCH_PLACEHOLDER"),size:"sm",role:"menuitem"}),{leftIcon:e.withCtx(({iconSize:u})=>[e.createVNode(h,{size:u},null,8,["size"])]),_:1},16,["modelValue","placeholder"])]),list:e.withCtx(({listProps:d})=>[e.createElementVNode("ul",e.mergeProps({ref_for:!0},d),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.filteredFontStyles,u=>(e.openBlock(),e.createBlock(m,{key:u.name,selected:o.isCurrentFontFamily(u.value),style:e.normalizeStyle({fontFamily:u.value||"inherit"}),role:"option","navigation-type":"arrow-keys",onClick:O=>{p(),o.onFontStyleSelect(u.value)}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.name),1)]),_:2},1032,["selected","style","onClick"]))),128))],16)]),_:2},1032,["onEscape"])]),_:1},8,["is-active","tooltip-message","data-qa","tabindex","icon","onShiftFocusRight","onShiftFocusLeft"])):r.buttonType==="popover"&&r.selector==="fontSize"?(e.openBlock(),e.createBlock(R,{key:o.getButtonKey(c.key,r.selector),ref_for:!0,ref:o.getButtonRef(c.key,r.selector),"is-active":(E=(y=t.$refs.richTextEditor)==null?void 0:y.editor)==null?void 0:E.isActive(r.selector),"tooltip-message":r.tooltipMessage,"data-qa":r.dataQA,"dropdown-data-qa":"dt-recipe-editor-font-size-input-popover",tabindex:o.canFocus(o.getButtonRef(c.key,r.selector))?0:-1,icon:r.icon,onShiftFocusRight:o.shiftActionBarFocusRight,onShiftFocusLeft:o.shiftActionBarFocusLeft},{list:e.withCtx(({close:p})=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.fontSizes,d=>(e.openBlock(),e.createBlock(m,{key:d.name,selected:o.isCurrentFontSize(d.value),role:"menuitem","navigation-type":"arrow-keys",onClick:u=>{p(),o.onFontSizeSelect(d.value,u)}},{default:e.withCtx(()=>[e.createElementVNode("span",{style:e.normalizeStyle({fontSize:d.value})},e.toDisplayString(d.name),5)]),_:2},1032,["selected","onClick"]))),128))]),_:1},8,["is-active","tooltip-message","data-qa","tabindex","icon","onShiftFocusRight","onShiftFocusLeft"])):r.buttonType==="custom"&&r.selector==="fontColor"?e.withDirectives((e.openBlock(),e.createBlock(B,{key:o.getButtonKey(c.key,r.selector),ref_for:!0,ref:o.getButtonRef(c.key,r.selector),kind:"muted",importance:"clear",size:"xs",active:(C=(A=t.$refs.richTextEditor)==null?void 0:A.editor)==null?void 0:C.isActive(r.selector),tabindex:o.canFocus(o.getButtonRef(c.key,r.selector))?0:-1,"aria-label":r.tooltipMessage,"data-qa":r.dataQA,onKeydown:[e.withKeys(e.withModifiers(o.shiftActionBarFocusRight,["stop"]),["right"]),e.withKeys(e.withModifiers(o.shiftActionBarFocusLeft,["stop"]),["left"])],onClick:p=>r.onClick()},{icon:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.icon),{size:"200",style:e.normalizeStyle(o.isDefaultFontColor?{}:{color:s.currentFontColor})},null,8,["style"])),e.createVNode(f,{value:s.currentFontColor,"root-class":"d-w0 d-h0 d-of-hidden","input-class":"colorPickerInput d-w0 d-h0 d-p0 d-bar0","input-wrapper-class":"d-w0 d-h0 d-ba-none",size:"sm",type:"color",onInput:o.onColorPickerInput,onClick:i[1]||(i[1]=e.withModifiers(()=>{},["stop"]))},null,8,["value","onInput"])]),_:2},1032,["active","tabindex","aria-label","data-qa","onKeydown","onClick"])),[[M,{message:r.tooltipMessage,placement:"top",externalAnchorElement:(b=t.$refs[o.getButtonRef(c.key,r.selector)])==null?void 0:b.$el}]]):r.buttonType==="popover"&&r.selector==="variable"?(e.openBlock(),e.createBlock(L,{key:o.getButtonKey(c.key,r.selector),ref_for:!0,ref:o.getButtonRef(c.key,r.selector),"is-active":!1,"tooltip-message":r.tooltipMessage,"data-qa":r.dataQA,"popover-data-qa":"dt-recipe-editor-variable-popover",tabindex:o.canFocus(o.getButtonRef(c.key,r.selector))?0:-1,icon:r.icon,onShiftFocusRight:o.shiftActionBarFocusRight,onShiftFocusLeft:o.shiftActionBarFocusLeft},{content:e.withCtx(({close:p})=>[e.createVNode(I,{label:"","label-visible":!1,"show-list":!0,"click-on-select":!0,onEscape:d=>p()},{input:e.withCtx(({inputProps:d})=>[e.createVNode(f,e.mergeProps({ref_for:!0},d,{modelValue:s.variableSearchValue,"onUpdate:modelValue":i[2]||(i[2]=u=>s.variableSearchValue=u),"root-class":"d-p8 d-pb4 d-w264",type:"search",placeholder:s.i18n.$t("DIALTONE_EDITOR_VARIABLE_POPOVER_SEARCH_PLACEHOLDER"),size:"md",role:"menuitem"}),{leftIcon:e.withCtx(({iconSize:u})=>[e.createVNode(h,{size:u},null,8,["size"])]),_:1},16,["modelValue","placeholder"])]),list:e.withCtx(({listProps:d})=>[e.createElementVNode("div",e.mergeProps({ref_for:!0},d),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.filteredCategories,(u,O)=>(e.openBlock(),e.createBlock(N,{key:u.name,heading:u.name,"heading-class":"d-headline--sm-compact d-p8"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.getFilteredItemsForCategory(u),_=>(e.openBlock(),e.createBlock(m,{key:u.name+_.name,role:"option","navigation-type":"arrow-keys",onClick:se=>{o.insertVariable(u.name,_),p()}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(_.name),1)]),_:2},1032,["onClick"]))),128)),O<o.filteredCategories.length-1?(e.openBlock(),e.createBlock(F,{key:0})):e.createCommentVNode("",!0)]),_:2},1032,["heading"]))),128))],16)]),_:2},1032,["onEscape"])]),_:1},8,["tooltip-message","data-qa","tabindex","icon","onShiftFocusRight","onShiftFocusLeft"])):r.buttonType==="button"?(e.openBlock(),e.createBlock(V,{key:o.getButtonKey(c.key,r.selector),ref_for:!0,ref:o.getButtonRef(c.key,r.selector),"is-active":(x=(D=t.$refs.richTextEditor)==null?void 0:D.editor)==null?void 0:x.isActive(r.selector),"tooltip-message":r.tooltipMessage,"data-qa":r.dataQA,tabindex:o.canFocus(o.getButtonRef(c.key,r.selector))?0:-1,icon:r.icon,label:r.label,"on-click":r.onClick,onShiftFocusRight:o.shiftActionBarFocusRight,onShiftFocusLeft:o.shiftActionBarFocusLeft},null,8,["is-active","tooltip-message","data-qa","tabindex","icon","label","on-click","onShiftFocusRight","onShiftFocusLeft"])):e.createCommentVNode("",!0)],64)}),256)),i[8]||(i[8]=e.createElementVNode("div",{class:"d-recipe-editor__button-group-divider"},null,-1))]),_:2},1024))),128)),o.linkButton.showBtn?(e.openBlock(),e.createBlock(g,{key:0,direction:"row",gap:"300"},{default:e.withCtx(()=>[e.createVNode(U,{open:s.showLinkInput,"show-close-button":!1,"data-qa":"dt-recipe-editor-link-input-popover",padding:"none",placement:"bottom-start",onClick:[o.onInputFocus,e.withModifiers(o.onInputFocus,["stop"])],onOpened:o.updateInput},{anchor:e.withCtx(()=>[(e.openBlock(),e.createBlock(q,{key:o.linkButton.key,message:o.linkButton.tooltipMessage,placement:"top"},{anchor:e.withCtx(()=>{var c,r;return[e.createVNode(B,{ref:o.getButtonRef("custom","link"),active:(r=(c=t.$refs.richTextEditor)==null?void 0:c.editor)==null?void 0:r.isActive(o.linkButton.selector),"aria-label":o.linkButton.tooltipMessage,"data-qa":o.linkButton.dataQA,tabindex:o.canFocus(o.getButtonRef("custom","link"))?0:-1,importance:"clear",kind:"muted",size:"xs",onClick:i[3]||(i[3]=T=>o.linkButton.onClick()),onKeydown:[e.withKeys(e.withModifiers(o.shiftActionBarFocusRight,["stop"]),["right"]),e.withKeys(e.withModifiers(o.shiftActionBarFocusLeft,["stop"]),["left"])]},{icon:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.linkButton.icon),{size:"200"}))]),_:1},8,["active","aria-label","data-qa","tabindex","onKeydown"])]}),_:1},8,["message"]))]),content:e.withCtx(()=>[e.createElementVNode("div",ne,[e.createElementVNode("span",null,e.toDisplayString(o.showAddLinkButtonLabels.title),1),e.createVNode(f,{modelValue:s.linkInput,"onUpdate:modelValue":i[4]||(i[4]=c=>s.linkInput=c),"input-aria-label":o.showAddLinkButtonLabels["aria-label"],placeholder:n.setLinkPlaceholder,"data-qa":"dt-recipe-editor-link-input","input-wrapper-class":"d-recipe-editor-link__input-wrapper",onClick:[o.onInputFocus,e.withModifiers(o.onInputFocus,["stop"])],onFocus:o.onInputFocus,onKeydown:e.withKeys(o.setLink,["enter"])},null,8,["modelValue","input-aria-label","placeholder","onClick","onFocus","onKeydown"])])]),footerContent:e.withCtx(()=>[e.createVNode(g,{direction:"row",gap:"300",class:"d-recipe-editor__popover-footer"},{default:e.withCtx(()=>[e.createVNode(B,e.mergeProps({"data-qa":"dt-recipe-editor-remove-link-btn",importance:"clear",kind:"muted",size:"sm"},o.removeLinkButtonLabels,{onClick:o.removeLink}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.removeLinkButtonLabels.title),1)]),_:1},16,["onClick"]),e.createVNode(B,e.mergeProps({"data-qa":"dt-recipe-editor-set-link-cancel-btn",importance:"clear",kind:"muted",size:"sm"},o.cancelSetLinkButtonLabels,{onClick:o.closeLinkInput}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.cancelSetLinkButtonLabels.title),1)]),_:1},16,["onClick"]),e.createVNode(B,e.mergeProps({"data-qa":"dt-recipe-editor-set-link-confirm-btn",size:"sm"},o.confirmSetLinkButtonLabels,{onClick:o.setLink}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.confirmSetLinkButtonLabels.title),1)]),_:1},16,["onClick"])]),_:1})]),_:1},8,["open","onClick","onOpened"])]),_:1})):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",{style:e.normalizeStyle({"max-height":n.maxHeight}),class:e.normalizeClass(["d-recipe-editor__content",{"d-recipe-editor__content-image-resize":n.allowImageResize}])},[e.createVNode(z,e.mergeProps({ref:"richTextEditor",modelValue:s.internalInputValue,"onUpdate:modelValue":i[5]||(i[5]=c=>s.internalInputValue=c),"allow-font-color":!0,"allow-font-family":!0,"allow-inline-images":!0,"allow-line-breaks":!0,"allow-variable":!0,"allow-font-size":n.showFontSizeButton,"allow-background-color":n.allowBackgroundColor,"allow-line-height":n.allowLineHeight,"variable-items":o.flattenedVariableItems,"hide-link-bubble-menu":!0,"auto-focus":n.autoFocus,editable:n.editable,"input-aria-label":n.inputAriaLabel,"input-class":`d-recipe-editor__content-input ${n.inputClass}`,link:!0,"output-format":o.htmlOutputFormat,placeholder:n.placeholder,"preserve-whitespace":n.preserveWhitespace,"use-div-tags":n.useDivTags,"allow-tables":n.allowTables,"allow-image-resize":n.allowImageResize,"data-qa":"dt-rich-text-editor"},o.removeClassStyleAttrs(t.$attrs),{onTextInput:o.onTextInput,onBlur:o.onBlur,onFocus:o.onFocus,onInput:i[6]||(i[6]=c=>o.onInput(c)),onSelected:o.onSelected}),null,16,["modelValue","allow-font-size","allow-background-color","allow-line-height","variable-items","auto-focus","editable","input-aria-label","input-class","output-format","placeholder","preserve-whitespace","use-div-tags","allow-tables","allow-image-resize","onTextInput","onBlur","onFocus","onSelected"])],6)],16)}const le=J._(ie,[["render",re]]);exports.default=le;
2
2
  //# sourceMappingURL=editor.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"editor.cjs","sources":["../../../recipes/conversation_view/editor/editor.vue"],"sourcesContent":["<template>\n <div\n ref=\"editorRoot\"\n class=\"d-recipe-editor\"\n v-bind=\"addClassStyleAttrs($attrs)\"\n data-qa=\"dt-recipe-editor\"\n role=\"presentation\"\n @click=\"$refs.richTextEditor.focusEditor()\"\n >\n <!-- Section for the top UI -->\n <dt-stack\n class=\"d-recipe-editor__top-bar\"\n direction=\"row\"\n gap=\"450\"\n >\n <dt-stack\n v-for=\"buttonGroup in buttonGroups\"\n :key=\"buttonGroup.key\"\n direction=\"row\"\n gap=\"300\"\n >\n <template v-for=\"button in buttonGroup.buttonGroup\">\n <!-- Font Style Popover -->\n <editor-toolbar-popover-button\n v-if=\"button.buttonType === 'popover' && button.selector === 'fontStyle'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :is-active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :tooltip-message=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :popover-data-qa=\"'dt-recipe-editor-font-style-input-popover'\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :icon=\"button.icon\"\n @shift-focus-right=\"shiftActionBarFocusRight\"\n @shift-focus-left=\"shiftActionBarFocusLeft\"\n >\n <template #content=\"{ close }\">\n <dt-combobox\n label=\"\"\n :label-visible=\"false\"\n :show-list=\"true\"\n :click-on-select=\"true\"\n @escape=\"close()\"\n >\n <template #input=\"{ inputProps }\">\n <dt-input\n v-bind=\"inputProps\"\n v-model=\"fontStyleSearch\"\n root-class=\"d-p8 d-pb4 d-w216\"\n type=\"search\"\n :placeholder=\"i18n.$t('DIALTONE_EDITOR_FONT_STYLE_SEARCH_PLACEHOLDER')\"\n size=\"sm\"\n role=\"menuitem\"\n >\n <template #leftIcon=\"{ iconSize }\">\n <dt-icon-search :size=\"iconSize\" />\n </template>\n </dt-input>\n </template>\n <template #list=\"{ listProps }\">\n <ul\n v-bind=\"listProps\"\n >\n <dt-list-item\n v-for=\"fontStyle in filteredFontStyles\"\n :key=\"fontStyle.name\"\n :selected=\"isCurrentFontFamily(fontStyle.value)\"\n :style=\"{ fontFamily: fontStyle.value || 'inherit' }\"\n role=\"option\"\n navigation-type=\"arrow-keys\"\n @click=\"\n close();\n onFontStyleSelect(fontStyle.value)\n \"\n >\n {{ fontStyle.name }}\n </dt-list-item>\n </ul>\n </template>\n </dt-combobox>\n </template>\n </editor-toolbar-popover-button>\n\n <!-- Font Size Dropdown -->\n <editor-toolbar-dropdown-button\n v-else-if=\"button.buttonType === 'popover' && button.selector === 'fontSize'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :is-active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :tooltip-message=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :dropdown-data-qa=\"'dt-recipe-editor-font-size-input-popover'\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :icon=\"button.icon\"\n @shift-focus-right=\"shiftActionBarFocusRight\"\n @shift-focus-left=\"shiftActionBarFocusLeft\"\n >\n <template #list=\"{ close }\">\n <dt-list-item\n v-for=\"fontSize in fontSizes\"\n :key=\"fontSize.name\"\n :selected=\"isCurrentFontSize(fontSize.value)\"\n role=\"menuitem\"\n navigation-type=\"arrow-keys\"\n @click=\"\n close();\n onFontSizeSelect(fontSize.value, $event)\n \"\n >\n <span :style=\"{ fontSize: fontSize.value }\">{{ fontSize.name }}</span>\n </dt-list-item>\n </template>\n </editor-toolbar-dropdown-button>\n\n <!-- Font Color Button -->\n <dt-button\n v-else-if=\"button.buttonType === 'custom' && button.selector === 'fontColor'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n v-dt-tooltip=\"{\n message: button.tooltipMessage,\n placement: 'top',\n externalAnchorElement: $refs[getButtonRef(buttonGroup.key, button.selector)]?.$el, \n }\"\n kind=\"muted\"\n importance=\"clear\"\n size=\"xs\"\n :active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :aria-label=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n @keydown.right.stop=\"shiftActionBarFocusRight\"\n @keydown.left.stop=\"shiftActionBarFocusLeft\"\n @click=\"button.onClick()\"\n >\n <template #icon>\n <component\n :is=\"button.icon\"\n size=\"200\"\n :style=\"!isDefaultFontColor ? { color: currentFontColor } : {}\"\n />\n <dt-input\n :value=\"currentFontColor\"\n root-class=\"d-w0 d-h0 d-of-hidden\"\n input-class=\"colorPickerInput d-w0 d-h0 d-p0 d-bar0\"\n input-wrapper-class=\"d-w0 d-h0 d-ba-none\"\n size=\"sm\"\n type=\"color\"\n @input=\"onColorPickerInput\"\n @click.stop\n />\n </template>\n </dt-button>\n\n <!-- Variable Popover -->\n <editor-toolbar-popover-button\n v-else-if=\"button.buttonType === 'popover' && button.selector === 'variable'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :is-active=\"false\"\n :tooltip-message=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :popover-data-qa=\"'dt-recipe-editor-variable-popover'\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :icon=\"button.icon\"\n @shift-focus-right=\"shiftActionBarFocusRight\"\n @shift-focus-left=\"shiftActionBarFocusLeft\"\n >\n <template #content=\"{ close }\">\n <dt-combobox\n label=\"\"\n :label-visible=\"false\"\n :show-list=\"true\"\n :click-on-select=\"true\"\n @escape=\"close()\"\n >\n <template #input=\"{ inputProps }\">\n <dt-input\n v-bind=\"inputProps\"\n v-model=\"variableSearchValue\"\n root-class=\"d-p8 d-pb4 d-w264\"\n type=\"search\"\n :placeholder=\"i18n.$t('DIALTONE_EDITOR_VARIABLE_POPOVER_SEARCH_PLACEHOLDER')\"\n size=\"md\"\n role=\"menuitem\"\n >\n <template #leftIcon=\"{ iconSize }\">\n <dt-icon-search :size=\"iconSize\" />\n </template>\n </dt-input>\n </template>\n <template #list=\"{ listProps }\">\n <div v-bind=\"listProps\">\n <dt-list-item-group\n v-for=\"(category, index) in filteredCategories\"\n :key=\"category.name\"\n :heading=\"category.name\"\n heading-class=\"d-headline--sm-compact d-p8\"\n >\n <dt-list-item\n v-for=\"item in getFilteredItemsForCategory(category)\"\n :key=\"category.name + item.name\"\n role=\"option\"\n navigation-type=\"arrow-keys\"\n @click=\"\n insertVariable(category.name, item);\n close();\n \"\n >\n {{ item.name }}\n </dt-list-item>\n <dt-dropdown-separator\n v-if=\"index < filteredCategories.length - 1\"\n />\n </dt-list-item-group>\n </div>\n </template>\n </dt-combobox>\n </template>\n </editor-toolbar-popover-button>\n\n <!-- Regular Toolbar Button -->\n <editor-toolbar-button\n v-else-if=\"button.buttonType === 'button'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :is-active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :tooltip-message=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :icon=\"button.icon\"\n :label=\"button.label\"\n :on-click=\"button.onClick\"\n @shift-focus-right=\"shiftActionBarFocusRight\"\n @shift-focus-left=\"shiftActionBarFocusLeft\"\n />\n </template>\n <div class=\"d-recipe-editor__button-group-divider\" />\n </dt-stack>\n <dt-stack\n v-if=\"linkButton.showBtn\"\n direction=\"row\"\n gap=\"300\"\n >\n <dt-popover\n :open=\"showLinkInput\"\n :show-close-button=\"false\"\n data-qa=\"dt-recipe-editor-link-input-popover\"\n padding=\"none\"\n placement=\"bottom-start\"\n @click=\"onInputFocus\"\n @opened=\"updateInput\"\n @click.stop=\"onInputFocus\"\n >\n <template #anchor>\n <dt-tooltip\n :key=\"linkButton.key\"\n :message=\"linkButton.tooltipMessage\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n :ref=\"getButtonRef('custom', 'link')\"\n :active=\"$refs.richTextEditor?.editor?.isActive(linkButton.selector)\"\n :aria-label=\"linkButton.tooltipMessage\"\n :data-qa=\"linkButton.dataQA\"\n :tabindex=\"canFocus(getButtonRef('custom', 'link')) ? 0 : -1\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n @click=\"linkButton.onClick()\"\n @keydown.right.stop=\"shiftActionBarFocusRight\"\n @keydown.left.stop=\"shiftActionBarFocusLeft\"\n >\n <template #icon>\n <component\n :is=\"linkButton.icon\"\n size=\"200\"\n />\n </template>\n </dt-button>\n </template>\n </dt-tooltip>\n </template>\n\n <template #content>\n <div class=\"d-recipe-editor__popover-content\">\n <span>\n {{ showAddLinkButtonLabels.title }}\n </span>\n <dt-input\n v-model=\"linkInput\"\n :input-aria-label=\"showAddLinkButtonLabels['aria-label']\"\n :placeholder=\"setLinkPlaceholder\"\n data-qa=\"dt-recipe-editor-link-input\"\n input-wrapper-class=\"d-recipe-editor-link__input-wrapper\"\n @click=\"onInputFocus\"\n @focus=\"onInputFocus\"\n @click.stop=\"onInputFocus\"\n @keydown.enter=\"setLink\"\n />\n </div>\n </template>\n <template #footerContent>\n <dt-stack\n direction=\"row\"\n gap=\"300\"\n class=\"d-recipe-editor__popover-footer\"\n >\n <dt-button\n data-qa=\"dt-recipe-editor-remove-link-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"sm\"\n v-bind=\"removeLinkButtonLabels\"\n @click=\"removeLink\"\n >\n {{ removeLinkButtonLabels.title }}\n </dt-button>\n <dt-button\n data-qa=\"dt-recipe-editor-set-link-cancel-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"sm\"\n v-bind=\"cancelSetLinkButtonLabels\"\n @click=\"closeLinkInput\"\n >\n {{ cancelSetLinkButtonLabels.title }}\n </dt-button>\n <dt-button\n data-qa=\"dt-recipe-editor-set-link-confirm-btn\"\n size=\"sm\"\n v-bind=\"confirmSetLinkButtonLabels\"\n @click=\"setLink\"\n >\n {{ confirmSetLinkButtonLabels.title }}\n </dt-button>\n </dt-stack>\n </template>\n </dt-popover>\n </dt-stack>\n </dt-stack>\n\n <!-- Some wrapper to restrict the height and show the scrollbar -->\n <div\n :style=\"{ 'max-height': maxHeight }\"\n :class=\"['d-recipe-editor__content', { 'd-recipe-editor__content-image-resize': allowImageResize }]\"\n >\n <dt-rich-text-editor\n ref=\"richTextEditor\"\n v-model=\"internalInputValue\"\n :allow-font-color=\"true\"\n :allow-font-family=\"true\"\n :allow-inline-images=\"true\"\n :allow-line-breaks=\"true\"\n :allow-variable=\"true\"\n :allow-font-size=\"showFontSizeButton\"\n :allow-background-color=\"allowBackgroundColor\"\n :allow-line-height=\"allowLineHeight\"\n :variable-items=\"flattenedVariableItems\"\n :hide-link-bubble-menu=\"true\"\n :auto-focus=\"autoFocus\"\n :editable=\"editable\"\n :input-aria-label=\"inputAriaLabel\"\n :input-class=\"`d-recipe-editor__content-input ${inputClass}`\"\n :link=\"true\"\n :output-format=\"htmlOutputFormat\"\n :placeholder=\"placeholder\"\n :use-div-tags=\"useDivTags\"\n :allow-tables=\"allowTables\"\n :allow-image-resize=\"allowImageResize\"\n data-qa=\"dt-rich-text-editor\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n @text-input=\"onTextInput\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @input=\"onInput($event)\"\n @selected=\"onSelected\"\n />\n </div>\n </div>\n</template>\n\n<script>\nimport {\n DtRichTextEditor,\n RICH_TEXT_EDITOR_OUTPUT_FORMATS,\n RICH_TEXT_EDITOR_AUTOFOCUS_TYPES,\n} from '@/components/rich_text_editor';\nimport {\n EDITOR_SUPPORTED_LINK_PROTOCOLS,\n EDITOR_DEFAULT_LINK_PREFIX,\n EDITOR_DEFAULT_FONT_COLOR,\n} from './editor_constants.js';\nimport { removeClassStyleAttrs, addClassStyleAttrs } from '@/common/utils';\nimport { DtButton } from '@/components/button';\nimport { DtPopover } from '@/components/popover';\nimport { DtStack } from '@/components/stack';\nimport { DtInput } from '@/components/input';\nimport { DtTooltip } from '@/components/tooltip';\nimport { DtListItem } from '@/components/list_item';\nimport { DtCombobox } from '@/components/combobox';\n\nimport { DtDropdownSeparator } from '@/components/dropdown/index.js';\nimport { DtListItemGroup } from '@/components/list_item_group/index.js';\nimport EditorToolbarButton from './EditorToolbarButton.vue';\nimport EditorToolbarDropdownButton from './EditorToolbarDropdownButton.vue';\nimport EditorToolbarPopoverButton from './EditorToolbarPopoverButton.vue';\nimport {\n DtIconAlignCenter,\n DtIconAlignJustify,\n DtIconAlignLeft,\n DtIconAlignRight,\n DtIconBold,\n DtIconCodeBlock,\n DtIconImage,\n DtIconItalic,\n DtIconQuickReply,\n DtIconLink2,\n DtIconListBullet,\n DtIconListOrdered,\n DtIconQuote,\n DtIconStrikethrough,\n DtIconUnderline,\n DtIconType,\n DtIconBraces,\n DtIconSearch,\n DtIconChevronDown,\n DtIconFontSize,\n DtIconStopFilled,\n} from '@dialpad/dialtone-icons/vue3';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeEditor',\n\n components: {\n DtListItemGroup,\n DtDropdownSeparator,\n DtListItem,\n DtRichTextEditor,\n DtButton,\n DtPopover,\n DtStack,\n DtInput,\n DtTooltip,\n DtCombobox,\n EditorToolbarButton,\n EditorToolbarDropdownButton,\n EditorToolbarPopoverButton,\n DtIconQuickReply,\n DtIconBold,\n DtIconItalic,\n DtIconUnderline,\n DtIconStrikethrough,\n DtIconListBullet,\n DtIconListOrdered,\n DtIconAlignLeft,\n DtIconAlignCenter,\n DtIconAlignRight,\n DtIconAlignJustify,\n DtIconQuote,\n DtIconCodeBlock,\n DtIconLink2,\n DtIconImage,\n DtIconSearch,\n DtIconType,\n DtIconBraces,\n DtIconChevronDown,\n DtIconFontSize,\n DtIconStopFilled,\n },\n\n mixins: [],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Value of the input. The object format should match TipTap's JSON\n * document structure: https://tiptap.dev/guide/output#option-1-json\n */\n modelValue: {\n type: [Object, String],\n default: '',\n },\n\n /**\n * Whether the input is editable\n */\n editable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Descriptive label for the input element\n */\n inputAriaLabel: {\n type: String,\n required: true,\n default: '',\n },\n\n /**\n * Additional class name for the input element. Only accepts a String value\n * because this is passed to the editor via options. For multiple classes,\n * join them into one string, e.g. \"d-p8 d-hmx96\"\n */\n inputClass: {\n type: String,\n default: '',\n },\n\n /**\n * Whether the input should receive focus after the component has been\n * mounted. Either one of `start`, `end`, `all` or a Boolean or a Number.\n * - `start` Sets the focus to the beginning of the input\n * - `end` Sets the focus to the end of the input\n * - `all` Selects the whole contents of the input\n * - `Number` Sets the focus to a specific position in the input\n * - `true` Defaults to `start`\n * - `false` Disables autofocus\n * @values true, false, start, end, all, number\n */\n autoFocus: {\n type: [Boolean, String, Number],\n default: false,\n validator (autoFocus) {\n if (typeof autoFocus === 'string') {\n return RICH_TEXT_EDITOR_AUTOFOCUS_TYPES.includes(autoFocus);\n }\n return true;\n },\n },\n\n /**\n * Placeholder text\n */\n placeholder: {\n type: String,\n default: '',\n },\n\n /**\n * Content area needs to dynamically adjust height based on the conversation area height.\n * can be vh|px|rem|em|%\n */\n maxHeight: {\n type: String,\n default: 'unset',\n },\n\n /**\n * Placeholder text for the set link input field\n */\n setLinkPlaceholder: {\n type: String,\n default: '',\n },\n\n /**\n * Show button to render text as bold\n */\n showBoldButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to render text in italics\n */\n showItalicsButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to underline text\n */\n showUnderlineButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to strike text\n */\n showStrikeButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to render list items\n */\n showListItemsButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to render ordered list items\n */\n showOrderedListButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to align text to the left\n */\n showAlignLeftButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to align text to the center\n */\n showAlignCenterButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to align text to the right\n */\n showAlignRightButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to justify text\n */\n showAlignJustifyButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to add quote format to text\n */\n showQuoteButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to add code block\n */\n showCodeBlockButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to handle quick replies\n */\n showQuickRepliesButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to add an inline image\n */\n showInlineImageButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Show button to add a variable\n */\n showVariableButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Variable categories to display when variable button is clicked\n */\n variableCategories: {\n type: Array,\n default: () => [],\n },\n\n /**\n * Show add link default config.\n */\n showAddLink: {\n type: Object,\n default: () => ({\n showAddLinkButton: true,\n }),\n },\n\n /**\n * Show font style button.\n */\n showFontStyleButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Show font size button.\n */\n showFontSizeButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Show font color button.\n */\n showFontColorButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Available font styles for the font style dropdown.\n */\n fontStyles: {\n type: Array,\n default: () => [\n { name: 'Arial', value: null }, // arial is the default font\n { name: 'Georgia', value: 'Georgia' },\n { name: 'Helvetica', value: 'Helvetica' },\n { name: 'Verdana', value: 'Verdana'},\n { name: 'Times New Roman', value: 'Times New Roman' },\n ],\n },\n\n fontSizes : {\n type: Array,\n default: () => [\n { name: 'Small', value: '12px'},\n { name: 'Normal', value: '15px'},\n { name: 'Large', value: '24px'},\n { name: 'Huge', value: '36px'},\n ],\n },\n\n /**\n * Whether the input allows background color to be introduced in the text.\n */\n allowBackgroundColor: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the input allows line height to be introduced in the text.\n */\n allowLineHeight: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Use div tags instead of paragraph tags to show text\n */\n useDivTags: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Allow Tables to be used in to the editor\n */\n allowTables: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Allow image resizing\n */\n allowImageResize: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native focus event\n * @event input\n * @type {String|JSON}\n */\n 'focus',\n\n /**\n * Native blur event\n * @event input\n * @type {String|JSON}\n */\n 'blur',\n\n /**\n * Native input event\n * @event input\n * @type {String|JSON}\n */\n 'input',\n\n /**\n * Event fired to sync the modelValue prop with the parent component\n * @event input\n * @type {String|JSON}\n */\n 'update:modelValue',\n\n /**\n * Quick replies button\n * pressed event\n * @event quick-replies-click\n */\n 'quick-replies-click',\n\n /**\n * Emit when inline image button is clicked\n * @event inline-image-click\n */\n 'inline-image-click',\n\n /**\n * Emit when text input is changed\n * @event text-input\n * @type {String}\n */\n 'text-input',\n ],\n\n data () {\n return {\n internalInputValue: this.modelValue, // internal input content\n hasFocus: false,\n\n linkOptions: {\n class: 'd-recipe-editor__link',\n },\n\n currentFontColor: undefined,\n showLinkInput: false,\n fontStyleSearch: '',\n linkInput: '',\n currentButtonRefIndex: 0,\n variableSearchValue: '',\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n inputLength () {\n return this.internalInputValue.length;\n },\n\n htmlOutputFormat () {\n return RICH_TEXT_EDITOR_OUTPUT_FORMATS[2];\n },\n\n flattenedVariableItems () {\n if (!this.variableCategories) return [];\n return this.variableCategories.reduce((acc, category) => {\n return acc.concat(category.items || []);\n }, []);\n },\n\n showingTextFormatButtons () {\n return this.showBoldButton || this.showItalicsButton || this.showStrikeButton || this.showUnderlineButton;\n },\n\n showingAlignmentButtons () {\n return this.showAlignLeftButton || this.showAlignCenterButton ||\n this.showAlignRightButton || this.showAlignJustifyButton;\n },\n\n showingListButtons () {\n return this.showListItemsButton || this.showOrderedListButton;\n },\n\n orderedRefs () {\n const refs = this.buttonGroups.reduce(function (acc, buttonData) {\n buttonData.buttonGroup.forEach(button => {\n acc.push(this.getButtonRef(buttonData.key, button.selector));\n }, this);\n return acc;\n }.bind(this), []);\n refs.push(this.getButtonRef('custom', 'link'));\n return refs;\n },\n\n buttonGroups () {\n const individualButtonStacks = this.individualButtons.map(buttonData => ({\n key: buttonData.selector,\n buttonGroup: [buttonData],\n }));\n return [\n { key: 'new', buttonGroup: this.newButtons },\n { key: 'format', buttonGroup: this.textFormatButtons },\n { key: 'alignment', buttonGroup: this.alignmentButtons },\n { key: 'list', buttonGroup: this.listButtons },\n ...individualButtonStacks,\n ].filter(buttonGroupData => buttonGroupData.buttonGroup.length > 0);\n },\n\n newButtons () {\n return [\n {\n showBtn: this.showQuickRepliesButton,\n buttonType: 'button',\n label: this.i18n.$t('DIALTONE_EDITOR_QUICK_REPLY_BUTTON_LABEL'),\n selector: 'quickReplies',\n icon: DtIconQuickReply,\n dataQA: 'dt-recipe-editor-quick-replies-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_QUICK_REPLY_BUTTON_LABEL'),\n onClick: this.onQuickRepliesClick,\n },\n ].filter(button => button.showBtn);\n },\n\n textFormatButtons () {\n return [\n {\n showBtn: this.showFontStyleButton,\n buttonType: 'popover',\n selector: 'fontStyle',\n icon: DtIconType,\n dataQA: 'dt-recipe-editor-font-style-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_FONT_STYLE_BUTTON_LABEL'),\n },\n {\n showBtn: this.showFontSizeButton,\n buttonType: 'popover',\n selector: 'fontSize',\n icon: DtIconFontSize,\n dataQA: 'dt-recipe-editor-font-size-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_FONT_SIZE_BUTTON_LABEL'),\n },\n {\n showBtn: this.showFontColorButton,\n buttonType: 'custom',\n selector: 'fontColor',\n icon: DtIconStopFilled,\n dataQA: 'dt-recipe-editor-font-color-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_FONT_COLOR_BUTTON_LABEL'),\n onClick: this.onColorPickerButtonClick,\n },\n {\n showBtn: this.showBoldButton,\n buttonType: 'button',\n selector: 'bold',\n icon: DtIconBold,\n dataQA: 'dt-recipe-editor-bold-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_BOLD_BUTTON_LABEL'),\n onClick: this.onBoldTextToggle,\n },\n {\n showBtn: this.showItalicsButton,\n buttonType: 'button',\n selector: 'italic',\n icon: DtIconItalic,\n dataQA: 'dt-recipe-editor-italics-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ITALICS_BUTTON_LABEL'),\n onClick: this.onItalicTextToggle,\n },\n {\n showBtn: this.showUnderlineButton,\n buttonType: 'button',\n selector: 'underline',\n icon: DtIconUnderline,\n dataQA: 'dt-recipe-editor-underline-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_UNDERLINE_BUTTON_LABEL'),\n onClick: this.onUnderlineTextToggle,\n },\n {\n showBtn: this.showStrikeButton,\n buttonType: 'button',\n selector: 'strike',\n icon: DtIconStrikethrough,\n dataQA: 'dt-recipe-editor-strike-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_STRIKE_BUTTON_LABEL'),\n onClick: this.onStrikethroughTextToggle,\n },\n ].filter(button => button.showBtn);\n },\n\n alignmentButtons () {\n return [\n {\n showBtn: this.showAlignLeftButton,\n buttonType: 'button',\n selector: { textAlign: 'left' },\n icon: DtIconAlignLeft,\n dataQA: 'dt-recipe-editor-align-left-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ALIGN_LEFT_BUTTON_LABEL'),\n onClick: () => this.onTextAlign('left'),\n },\n {\n showBtn: this.showAlignCenterButton,\n buttonType: 'button',\n selector: { textAlign: 'center' },\n icon: DtIconAlignCenter,\n dataQA: 'dt-recipe-editor-align-center-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ALIGN_CENTER_BUTTON_LABEL'),\n onClick: () => this.onTextAlign('center'),\n },\n {\n showBtn: this.showAlignRightButton,\n buttonType: 'button',\n selector: { textAlign: 'right' },\n icon: DtIconAlignRight,\n dataQA: 'dt-recipe-editor-align-right-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ALIGN_RIGHT_BUTTON_LABEL'),\n onClick: () => this.onTextAlign('right'),\n },\n {\n showBtn: this.showAlignJustifyButton,\n buttonType: 'button',\n selector: { textAlign: 'justify' },\n icon: DtIconAlignJustify,\n dataQA: 'dt-recipe-editor-align-justify-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ALIGN_JUSTIFY_BUTTON_LABEL'),\n onClick: () => this.onTextAlign('justify'),\n },\n ].filter(button => button.showBtn);\n },\n\n listButtons () {\n return [\n {\n showBtn: this.showListItemsButton,\n buttonType: 'button',\n selector: 'bulletList',\n icon: DtIconListBullet,\n dataQA: 'dt-recipe-editor-list-items-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_BULLET_LIST_BUTTON_LABEL'),\n onClick: this.onBulletListToggle,\n },\n {\n showBtn: this.showOrderedListButton,\n buttonType: 'button',\n selector: 'orderedList',\n icon: DtIconListOrdered,\n dataQA: 'dt-recipe-editor-ordered-list-items-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ORDERED_LIST_BUTTON_LABEL'),\n onClick: this.onOrderedListToggle,\n },\n ].filter(button => button.showBtn);\n },\n\n individualButtons () {\n return [\n {\n showBtn: this.showQuoteButton,\n buttonType: 'button',\n selector: 'blockquote',\n icon: DtIconQuote,\n dataQA: 'dt-recipe-editor-blockquote-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_QUOTE_BUTTON_LABEL'),\n onClick: this.onBlockquoteToggle,\n },\n {\n showBtn: this.showCodeBlockButton,\n buttonType: 'button',\n selector: 'codeBlock',\n icon: DtIconCodeBlock,\n dataQA: 'dt-recipe-editor-code-block-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_CODE_BUTTON_LABEL'),\n onClick: this.onCodeBlockToggle,\n },\n {\n showBtn: this.showInlineImageButton,\n buttonType: 'button',\n selector: 'image',\n icon: DtIconImage,\n dataQA: 'dt-recipe-editor-inline-image-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_IMAGE_BUTTON_LABEL'),\n // Handle getting image\n onClick: this.onInsertInlineImageClick,\n },\n {\n showBtn: this.showVariableButton,\n buttonType: 'popover',\n selector: 'variable',\n icon: DtIconBraces,\n dataQA: 'dt-recipe-editor-variable-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_VARIABLE_BUTTON_LABEL'),\n },\n ].filter(button => button.showBtn);\n },\n\n linkButton () {\n return {\n showBtn: this.showAddLink.showAddLinkButton,\n buttonType: 'custom',\n selector: 'link',\n icon: DtIconLink2,\n dataQA: 'dt-recipe-editor-add-link-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_LINK_BUTTON_LABEL'),\n onClick: this.openLinkInput,\n };\n },\n\n confirmSetLinkButtonLabels () {\n return this.i18n.$ta('DIALTONE_EDITOR_CONFIRM_SET_LINK_BUTTON');\n },\n\n cancelSetLinkButtonLabels () {\n return this.i18n.$ta('DIALTONE_EDITOR_CANCEL_SET_LINK_BUTTON');\n },\n\n removeLinkButtonLabels () {\n return this.i18n.$ta('DIALTONE_EDITOR_REMOVE_LINK_BUTTON');\n },\n\n showAddLinkButtonLabels () {\n return this.i18n.$ta('DIALTONE_EDITOR_ADD_LINK_BUTTON');\n },\n\n filteredFontStyles () {\n const searchValue = this.fontStyleSearch.toLowerCase();\n return this.fontStyles.filter((item) =>\n item.name.toLowerCase().includes(searchValue),\n );\n },\n\n filteredCategories() {\n return this.variableCategories.filter(\n (category) => this.getFilteredItemsForCategory(category).length,\n );\n },\n\n colorPickerInput() {\n return this.$refs.editorRoot?.querySelector('.colorPickerInput');\n },\n\n isDefaultFontColor() {\n return this.currentFontColor === EDITOR_DEFAULT_FONT_COLOR;\n },\n\n actionBarBtn () {\n const ref = this.$refs[this.orderedRefs[this.currentButtonRefIndex]][0]?.$refs?.buttonRef // get nested ref\n || this.$refs[this.orderedRefs[this.currentButtonRefIndex]];\n return Array.isArray(ref) ? ref[0] : ref;\n },\n\n },\n\n watch: {\n modelValue (newValue) {\n this.internalInputValue = newValue;\n },\n },\n\n methods: {\n removeClassStyleAttrs,\n addClassStyleAttrs,\n\n onInputFocus (event) {\n event?.stopPropagation();\n },\n\n removeLink () {\n this.$refs.richTextEditor?.editor?.chain()?.focus()?.unsetLink()?.run();\n this.closeLinkInput();\n },\n\n setLink (event) {\n const editor = this.$refs.richTextEditor?.editor;\n event?.preventDefault();\n event?.stopPropagation();\n\n if (!this.linkInput) {\n // If link text is set to empty string,\n // remove any existing links.\n this.removeLink();\n return;\n }\n\n // Check if input matches any of the supported link formats\n const prefix = EDITOR_SUPPORTED_LINK_PROTOCOLS.find(prefixRegex => prefixRegex.test(this.linkInput));\n\n if (!prefix) {\n // If no matching pattern is found, prepend default prefix\n this.linkInput = `${EDITOR_DEFAULT_LINK_PREFIX}${this.linkInput}`;\n }\n\n const selection = editor?.view?.state?.selection;\n\n if (selection.anchor === selection.head) {\n // If no text has been selected, manually insert the link text.\n // Do not rely on link options set through DtRichTextEditor\n // component, because they clash with these and cause issues.\n editor\n .chain()\n .focus()\n .insertContentAt(\n selection.anchor,\n `<a class=\"${this.linkOptions.class}\" href=${this.linkInput}>${this.linkInput}</a>`,\n )\n .run();\n } else {\n // Set or edit the link\n editor\n .chain()\n .focus()\n .extendMarkRange('link')\n .setLink({ href: this.linkInput, class: this.linkOptions.class })\n .run();\n }\n\n this.closeLinkInput();\n },\n\n openLinkInput () {\n this.showLinkInput = true;\n },\n\n updateInput (openedInput) {\n if (!openedInput) {\n return this.closeLinkInput();\n }\n this.linkInput = this.$refs.richTextEditor?.editor?.getAttributes('link')?.href;\n },\n\n closeLinkInput () {\n this.showLinkInput = false;\n this.linkInput = '';\n this.$refs.richTextEditor.editor?.chain().focus();\n },\n\n onBoldTextToggle () {\n this.$refs.richTextEditor?.editor?.chain().focus().toggleBold().run();\n },\n\n onItalicTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleItalic().run();\n },\n\n onUnderlineTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleUnderline().run();\n },\n\n onStrikethroughTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleStrike().run();\n },\n\n onTextAlign (alignment) {\n if (this.$refs.richTextEditor?.editor?.isActive({ textAlign: alignment })) {\n // If this alignment type is already set here, unset it\n return this.$refs.richTextEditor?.editor.chain().focus().unsetTextAlign().run();\n }\n this.$refs.richTextEditor?.editor.chain().focus().setTextAlign(alignment).run();\n },\n\n onBulletListToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleBulletList().run();\n },\n\n onOrderedListToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleOrderedList().run();\n },\n\n onCodeBlockToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleCodeBlock().run();\n },\n\n onQuickRepliesClick () {\n this.$emit('quick-replies-click');\n },\n\n onInsertInlineImageClick () {\n this.$emit('inline-image-click');\n },\n\n insertVariable (categoryName, variableData) {\n // Insert a variable using the custom command from the Variable extension\n this.$refs.richTextEditor?.editor.chain().focus().insertVariable({\n id: variableData.id,\n placeholder: variableData.placeholder || '',\n altText: '',\n enableAltText: variableData.enableAltText,\n }).run();\n },\n\n insertInlineImage (imageUrl) {\n this.$refs.richTextEditor?.editor.chain().focus().setImage({ src: imageUrl }).run();\n },\n\n insertInMessageBody (messageContent) {\n this.$refs.richTextEditor?.editor.chain().focus().insertContent(messageContent).run();\n },\n\n setCursorPosition (position = null) {\n this.$refs.richTextEditor?.editor.chain().focus(position).run();\n },\n\n onBlockquoteToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleBlockquote().run();\n },\n\n onTextInput (input) {\n this.$emit('text-input', input);\n },\n\n onFocus (event) {\n this.hasFocus = true;\n this.$emit('focus', event);\n },\n\n onBlur (event) {\n this.hasFocus = false;\n this.$emit('blur', event);\n },\n\n onInput (event) {\n this.$emit('input', event);\n this.$emit('update:modelValue', event);\n },\n\n onSelected() {\n this.updateFontColorInput();\n },\n\n getButtonKey (key, selector) {\n return `${key}-${JSON.stringify(selector)}`;\n },\n\n // Unique Button Ref Key to identify ref\n getButtonRef (key, selector) {\n return `${this.getButtonKey(key, selector)}-ref`;\n },\n\n /**\n * Determines if an element in the action bar button list is focusable with tab key\n * @param {string} refKey - unique identifier for the ref element in DOM\n */\n canFocus (refKey) {\n return refKey === this.orderedRefs[this.currentButtonRefIndex];\n },\n\n shiftActionBarFocusRight () {\n this.shiftButtonRefIndex(1);\n },\n\n shiftActionBarFocusLeft () {\n this.shiftButtonRefIndex(-1);\n },\n\n shiftButtonRefIndex (shiftAmount) {\n const previousActionBarBtn = this.actionBarBtn;\n const index = (this.currentButtonRefIndex + shiftAmount) % this.orderedRefs.length;\n this.currentButtonRefIndex = index >= 0 ? index : this.orderedRefs.length + index;\n const currentActionBarBtn = this.actionBarBtn;\n\n previousActionBarBtn.$el.blur();\n currentActionBarBtn.$el.focus();\n },\n\n onFontStyleSelect (fontFamily) {\n if (fontFamily) {\n this.$refs.richTextEditor?.editor?.chain().focus().setFontFamily(fontFamily).run();\n } else {\n this.$refs.richTextEditor?.editor?.chain().focus().unsetFontFamily().run();\n }\n this.$refs.richTextEditor?.editor?.commands.focus();\n },\n\n isCurrentFontFamily (fontFamily) {\n if (!fontFamily) {\n return !this.$refs.richTextEditor?.editor?.getAttributes('textStyle')?.fontFamily;\n }\n return this.$refs.richTextEditor?.editor?.isActive('textStyle', { fontFamily });\n },\n\n onFontSizeSelect (fontSize) {\n this.$refs.richTextEditor?.editor?.chain().focus().setFontSize(fontSize).run();\n this.$refs.richTextEditor?.editor?.commands.focus();\n },\n\n isCurrentFontSize (fontSize) {\n if (!fontSize) {\n return !this.$refs.richTextEditor?.editor?.getAttributes('textStyle')?.fontSize;\n }\n return this.$refs.richTextEditor?.editor?.isActive('textStyle', { fontSize });\n },\n\n getFilteredItemsForCategory(category) {\n const searchValue = this.variableSearchValue.toLowerCase();\n if (category.name.toLowerCase().includes(searchValue)) {\n return category.items;\n }\n return category.items.filter((item) =>\n item.name.toLowerCase().includes(searchValue),\n );\n },\n\n updateFontColorInput() {\n this.currentFontColor = this.$refs.richTextEditor?.editor?.getAttributes('textStyle')?.color || EDITOR_DEFAULT_FONT_COLOR;\n },\n\n onColorPickerButtonClick () {\n this.colorPickerInput?.click();\n },\n\n onColorPickerInput (fontColor) {\n this.$refs.richTextEditor?.editor?.chain().focus().setColor(fontColor).run();\n this.$refs.richTextEditor?.editor?.commands.focus();\n this.updateFontColorInput();\n },\n },\n};\n</script>\n\n<style>\n/* Image resizing classes - only active when allowImageResize is true */\n\n/* Image border */\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-wrapper] {\n outline: 1px solid var(--dt-color-chart-info-selected);\n line-height: 0 !important;\n}\n\n/* Corner handles */\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle] {\n position: absolute;\n background: var(--dt-color-chart-info-selected);\n z-index: 10;\n}\n\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='top-left'],\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='top-right'],\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='bottom-left'],\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='bottom-right'] {\n width: 8px;\n height: 8px;\n}\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='top-left'] {\n cursor: nwse-resize;\n transform: translate(-50%, -50%);\n}\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='top-right'] {\n cursor: nesw-resize;\n transform: translate(50%, -50%);\n}\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='bottom-left'] {\n cursor: nesw-resize;\n transform: translate(-50%, 50%);\n}\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='bottom-right'] {\n cursor: nwse-resize;\n transform: translate(50%, 50%);\n}\n</style>\n"],"names":["_sfc_main","DtListItemGroup","DtDropdownSeparator","DtListItem","DtRichTextEditor","DtButton","DtPopover","DtStack","DtInput","DtTooltip","DtCombobox","EditorToolbarButton","EditorToolbarDropdownButton","EditorToolbarPopoverButton","DtIconQuickReply","DtIconBold","DtIconItalic","DtIconUnderline","DtIconStrikethrough","DtIconListBullet","DtIconListOrdered","DtIconAlignLeft","DtIconAlignCenter","DtIconAlignRight","DtIconAlignJustify","DtIconQuote","DtIconCodeBlock","DtIconLink2","DtIconImage","DtIconSearch","DtIconType","DtIconBraces","DtIconChevronDown","DtIconFontSize","DtIconStopFilled","autoFocus","RICH_TEXT_EDITOR_AUTOFOCUS_TYPES","DialtoneLocalization","RICH_TEXT_EDITOR_OUTPUT_FORMATS","acc","category","refs","buttonData","button","individualButtonStacks","buttonGroupData","searchValue","item","_a","EDITOR_DEFAULT_FONT_COLOR","ref","_b","newValue","removeClassStyleAttrs","addClassStyleAttrs","event","_e","_d","_c","editor","EDITOR_SUPPORTED_LINK_PROTOCOLS","prefixRegex","EDITOR_DEFAULT_LINK_PREFIX","selection","openedInput","alignment","categoryName","variableData","imageUrl","messageContent","position","input","key","selector","refKey","shiftAmount","previousActionBarBtn","index","currentActionBarBtn","fontFamily","_f","fontSize","fontColor","_hoisted_1","_openBlock","_createElementBlock","_mergeProps","$options","_ctx","_cache","$event","_createVNode","_component_dt_stack","_Fragment","_renderList","buttonGroup","_createBlock","_component_editor_toolbar_popover_button","_withCtx","close","_component_dt_combobox","inputProps","_component_dt_input","$data","iconSize","_component_dt_icon_search","listProps","_createElementVNode","fontStyle","_component_dt_list_item","_normalizeStyle","_createTextVNode","_toDisplayString","_component_editor_toolbar_dropdown_button","$props","_component_dt_button","_resolveDynamicComponent","_g","_component_dt_list_item_group","_component_dt_dropdown_separator","_component_editor_toolbar_button","_i","_h","_component_dt_popover","_component_dt_tooltip","_component_dt_rich_text_editor"],"mappings":"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"}
1
+ {"version":3,"file":"editor.cjs","sources":["../../../recipes/conversation_view/editor/editor.vue"],"sourcesContent":["<template>\n <div\n ref=\"editorRoot\"\n class=\"d-recipe-editor\"\n v-bind=\"addClassStyleAttrs($attrs)\"\n data-qa=\"dt-recipe-editor\"\n role=\"presentation\"\n @click=\"$refs.richTextEditor.focusEditor()\"\n >\n <!-- Section for the top UI -->\n <dt-stack\n class=\"d-recipe-editor__top-bar\"\n direction=\"row\"\n gap=\"450\"\n >\n <dt-stack\n v-for=\"buttonGroup in buttonGroups\"\n :key=\"buttonGroup.key\"\n direction=\"row\"\n gap=\"300\"\n >\n <template v-for=\"button in buttonGroup.buttonGroup\">\n <!-- Font Style Popover -->\n <editor-toolbar-popover-button\n v-if=\"button.buttonType === 'popover' && button.selector === 'fontStyle'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :is-active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :tooltip-message=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :popover-data-qa=\"'dt-recipe-editor-font-style-input-popover'\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :icon=\"button.icon\"\n @shift-focus-right=\"shiftActionBarFocusRight\"\n @shift-focus-left=\"shiftActionBarFocusLeft\"\n >\n <template #content=\"{ close }\">\n <dt-combobox\n label=\"\"\n :label-visible=\"false\"\n :show-list=\"true\"\n :click-on-select=\"true\"\n @escape=\"close()\"\n >\n <template #input=\"{ inputProps }\">\n <dt-input\n v-bind=\"inputProps\"\n v-model=\"fontStyleSearch\"\n root-class=\"d-p8 d-pb4 d-w216\"\n type=\"search\"\n :placeholder=\"i18n.$t('DIALTONE_EDITOR_FONT_STYLE_SEARCH_PLACEHOLDER')\"\n size=\"sm\"\n role=\"menuitem\"\n >\n <template #leftIcon=\"{ iconSize }\">\n <dt-icon-search :size=\"iconSize\" />\n </template>\n </dt-input>\n </template>\n <template #list=\"{ listProps }\">\n <ul\n v-bind=\"listProps\"\n >\n <dt-list-item\n v-for=\"fontStyle in filteredFontStyles\"\n :key=\"fontStyle.name\"\n :selected=\"isCurrentFontFamily(fontStyle.value)\"\n :style=\"{ fontFamily: fontStyle.value || 'inherit' }\"\n role=\"option\"\n navigation-type=\"arrow-keys\"\n @click=\"\n close();\n onFontStyleSelect(fontStyle.value)\n \"\n >\n {{ fontStyle.name }}\n </dt-list-item>\n </ul>\n </template>\n </dt-combobox>\n </template>\n </editor-toolbar-popover-button>\n\n <!-- Font Size Dropdown -->\n <editor-toolbar-dropdown-button\n v-else-if=\"button.buttonType === 'popover' && button.selector === 'fontSize'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :is-active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :tooltip-message=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :dropdown-data-qa=\"'dt-recipe-editor-font-size-input-popover'\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :icon=\"button.icon\"\n @shift-focus-right=\"shiftActionBarFocusRight\"\n @shift-focus-left=\"shiftActionBarFocusLeft\"\n >\n <template #list=\"{ close }\">\n <dt-list-item\n v-for=\"fontSize in fontSizes\"\n :key=\"fontSize.name\"\n :selected=\"isCurrentFontSize(fontSize.value)\"\n role=\"menuitem\"\n navigation-type=\"arrow-keys\"\n @click=\"\n close();\n onFontSizeSelect(fontSize.value, $event)\n \"\n >\n <span :style=\"{ fontSize: fontSize.value }\">{{ fontSize.name }}</span>\n </dt-list-item>\n </template>\n </editor-toolbar-dropdown-button>\n\n <!-- Font Color Button -->\n <dt-button\n v-else-if=\"button.buttonType === 'custom' && button.selector === 'fontColor'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n v-dt-tooltip=\"{\n message: button.tooltipMessage,\n placement: 'top',\n externalAnchorElement: $refs[getButtonRef(buttonGroup.key, button.selector)]?.$el, \n }\"\n kind=\"muted\"\n importance=\"clear\"\n size=\"xs\"\n :active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :aria-label=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n @keydown.right.stop=\"shiftActionBarFocusRight\"\n @keydown.left.stop=\"shiftActionBarFocusLeft\"\n @click=\"button.onClick()\"\n >\n <template #icon>\n <component\n :is=\"button.icon\"\n size=\"200\"\n :style=\"!isDefaultFontColor ? { color: currentFontColor } : {}\"\n />\n <dt-input\n :value=\"currentFontColor\"\n root-class=\"d-w0 d-h0 d-of-hidden\"\n input-class=\"colorPickerInput d-w0 d-h0 d-p0 d-bar0\"\n input-wrapper-class=\"d-w0 d-h0 d-ba-none\"\n size=\"sm\"\n type=\"color\"\n @input=\"onColorPickerInput\"\n @click.stop\n />\n </template>\n </dt-button>\n\n <!-- Variable Popover -->\n <editor-toolbar-popover-button\n v-else-if=\"button.buttonType === 'popover' && button.selector === 'variable'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :is-active=\"false\"\n :tooltip-message=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :popover-data-qa=\"'dt-recipe-editor-variable-popover'\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :icon=\"button.icon\"\n @shift-focus-right=\"shiftActionBarFocusRight\"\n @shift-focus-left=\"shiftActionBarFocusLeft\"\n >\n <template #content=\"{ close }\">\n <dt-combobox\n label=\"\"\n :label-visible=\"false\"\n :show-list=\"true\"\n :click-on-select=\"true\"\n @escape=\"close()\"\n >\n <template #input=\"{ inputProps }\">\n <dt-input\n v-bind=\"inputProps\"\n v-model=\"variableSearchValue\"\n root-class=\"d-p8 d-pb4 d-w264\"\n type=\"search\"\n :placeholder=\"i18n.$t('DIALTONE_EDITOR_VARIABLE_POPOVER_SEARCH_PLACEHOLDER')\"\n size=\"md\"\n role=\"menuitem\"\n >\n <template #leftIcon=\"{ iconSize }\">\n <dt-icon-search :size=\"iconSize\" />\n </template>\n </dt-input>\n </template>\n <template #list=\"{ listProps }\">\n <div v-bind=\"listProps\">\n <dt-list-item-group\n v-for=\"(category, index) in filteredCategories\"\n :key=\"category.name\"\n :heading=\"category.name\"\n heading-class=\"d-headline--sm-compact d-p8\"\n >\n <dt-list-item\n v-for=\"item in getFilteredItemsForCategory(category)\"\n :key=\"category.name + item.name\"\n role=\"option\"\n navigation-type=\"arrow-keys\"\n @click=\"\n insertVariable(category.name, item);\n close();\n \"\n >\n {{ item.name }}\n </dt-list-item>\n <dt-dropdown-separator\n v-if=\"index < filteredCategories.length - 1\"\n />\n </dt-list-item-group>\n </div>\n </template>\n </dt-combobox>\n </template>\n </editor-toolbar-popover-button>\n\n <!-- Regular Toolbar Button -->\n <editor-toolbar-button\n v-else-if=\"button.buttonType === 'button'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :is-active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :tooltip-message=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :icon=\"button.icon\"\n :label=\"button.label\"\n :on-click=\"button.onClick\"\n @shift-focus-right=\"shiftActionBarFocusRight\"\n @shift-focus-left=\"shiftActionBarFocusLeft\"\n />\n </template>\n <div class=\"d-recipe-editor__button-group-divider\" />\n </dt-stack>\n <dt-stack\n v-if=\"linkButton.showBtn\"\n direction=\"row\"\n gap=\"300\"\n >\n <dt-popover\n :open=\"showLinkInput\"\n :show-close-button=\"false\"\n data-qa=\"dt-recipe-editor-link-input-popover\"\n padding=\"none\"\n placement=\"bottom-start\"\n @click=\"onInputFocus\"\n @opened=\"updateInput\"\n @click.stop=\"onInputFocus\"\n >\n <template #anchor>\n <dt-tooltip\n :key=\"linkButton.key\"\n :message=\"linkButton.tooltipMessage\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n :ref=\"getButtonRef('custom', 'link')\"\n :active=\"$refs.richTextEditor?.editor?.isActive(linkButton.selector)\"\n :aria-label=\"linkButton.tooltipMessage\"\n :data-qa=\"linkButton.dataQA\"\n :tabindex=\"canFocus(getButtonRef('custom', 'link')) ? 0 : -1\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n @click=\"linkButton.onClick()\"\n @keydown.right.stop=\"shiftActionBarFocusRight\"\n @keydown.left.stop=\"shiftActionBarFocusLeft\"\n >\n <template #icon>\n <component\n :is=\"linkButton.icon\"\n size=\"200\"\n />\n </template>\n </dt-button>\n </template>\n </dt-tooltip>\n </template>\n\n <template #content>\n <div class=\"d-recipe-editor__popover-content\">\n <span>\n {{ showAddLinkButtonLabels.title }}\n </span>\n <dt-input\n v-model=\"linkInput\"\n :input-aria-label=\"showAddLinkButtonLabels['aria-label']\"\n :placeholder=\"setLinkPlaceholder\"\n data-qa=\"dt-recipe-editor-link-input\"\n input-wrapper-class=\"d-recipe-editor-link__input-wrapper\"\n @click=\"onInputFocus\"\n @focus=\"onInputFocus\"\n @click.stop=\"onInputFocus\"\n @keydown.enter=\"setLink\"\n />\n </div>\n </template>\n <template #footerContent>\n <dt-stack\n direction=\"row\"\n gap=\"300\"\n class=\"d-recipe-editor__popover-footer\"\n >\n <dt-button\n data-qa=\"dt-recipe-editor-remove-link-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"sm\"\n v-bind=\"removeLinkButtonLabels\"\n @click=\"removeLink\"\n >\n {{ removeLinkButtonLabels.title }}\n </dt-button>\n <dt-button\n data-qa=\"dt-recipe-editor-set-link-cancel-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"sm\"\n v-bind=\"cancelSetLinkButtonLabels\"\n @click=\"closeLinkInput\"\n >\n {{ cancelSetLinkButtonLabels.title }}\n </dt-button>\n <dt-button\n data-qa=\"dt-recipe-editor-set-link-confirm-btn\"\n size=\"sm\"\n v-bind=\"confirmSetLinkButtonLabels\"\n @click=\"setLink\"\n >\n {{ confirmSetLinkButtonLabels.title }}\n </dt-button>\n </dt-stack>\n </template>\n </dt-popover>\n </dt-stack>\n </dt-stack>\n\n <!-- Some wrapper to restrict the height and show the scrollbar -->\n <div\n :style=\"{ 'max-height': maxHeight }\"\n :class=\"['d-recipe-editor__content', { 'd-recipe-editor__content-image-resize': allowImageResize }]\"\n >\n <dt-rich-text-editor\n ref=\"richTextEditor\"\n v-model=\"internalInputValue\"\n :allow-font-color=\"true\"\n :allow-font-family=\"true\"\n :allow-inline-images=\"true\"\n :allow-line-breaks=\"true\"\n :allow-variable=\"true\"\n :allow-font-size=\"showFontSizeButton\"\n :allow-background-color=\"allowBackgroundColor\"\n :allow-line-height=\"allowLineHeight\"\n :variable-items=\"flattenedVariableItems\"\n :hide-link-bubble-menu=\"true\"\n :auto-focus=\"autoFocus\"\n :editable=\"editable\"\n :input-aria-label=\"inputAriaLabel\"\n :input-class=\"`d-recipe-editor__content-input ${inputClass}`\"\n :link=\"true\"\n :output-format=\"htmlOutputFormat\"\n :placeholder=\"placeholder\"\n :preserve-whitespace=\"preserveWhitespace\"\n :use-div-tags=\"useDivTags\"\n :allow-tables=\"allowTables\"\n :allow-image-resize=\"allowImageResize\"\n data-qa=\"dt-rich-text-editor\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n @text-input=\"onTextInput\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @input=\"onInput($event)\"\n @selected=\"onSelected\"\n />\n </div>\n </div>\n</template>\n\n<script>\nimport {\n DtRichTextEditor,\n RICH_TEXT_EDITOR_OUTPUT_FORMATS,\n RICH_TEXT_EDITOR_AUTOFOCUS_TYPES,\n} from '@/components/rich_text_editor';\nimport {\n EDITOR_SUPPORTED_LINK_PROTOCOLS,\n EDITOR_DEFAULT_LINK_PREFIX,\n EDITOR_DEFAULT_FONT_COLOR,\n} from './editor_constants.js';\nimport { removeClassStyleAttrs, addClassStyleAttrs } from '@/common/utils';\nimport { DtButton } from '@/components/button';\nimport { DtPopover } from '@/components/popover';\nimport { DtStack } from '@/components/stack';\nimport { DtInput } from '@/components/input';\nimport { DtTooltip } from '@/components/tooltip';\nimport { DtListItem } from '@/components/list_item';\nimport { DtCombobox } from '@/components/combobox';\n\nimport { DtDropdownSeparator } from '@/components/dropdown/index.js';\nimport { DtListItemGroup } from '@/components/list_item_group/index.js';\nimport EditorToolbarButton from './EditorToolbarButton.vue';\nimport EditorToolbarDropdownButton from './EditorToolbarDropdownButton.vue';\nimport EditorToolbarPopoverButton from './EditorToolbarPopoverButton.vue';\nimport {\n DtIconAlignCenter,\n DtIconAlignJustify,\n DtIconAlignLeft,\n DtIconAlignRight,\n DtIconBold,\n DtIconCodeBlock,\n DtIconImage,\n DtIconItalic,\n DtIconQuickReply,\n DtIconLink2,\n DtIconListBullet,\n DtIconListOrdered,\n DtIconQuote,\n DtIconStrikethrough,\n DtIconUnderline,\n DtIconType,\n DtIconBraces,\n DtIconSearch,\n DtIconChevronDown,\n DtIconFontSize,\n DtIconStopFilled,\n} from '@dialpad/dialtone-icons/vue3';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeEditor',\n\n components: {\n DtListItemGroup,\n DtDropdownSeparator,\n DtListItem,\n DtRichTextEditor,\n DtButton,\n DtPopover,\n DtStack,\n DtInput,\n DtTooltip,\n DtCombobox,\n EditorToolbarButton,\n EditorToolbarDropdownButton,\n EditorToolbarPopoverButton,\n DtIconQuickReply,\n DtIconBold,\n DtIconItalic,\n DtIconUnderline,\n DtIconStrikethrough,\n DtIconListBullet,\n DtIconListOrdered,\n DtIconAlignLeft,\n DtIconAlignCenter,\n DtIconAlignRight,\n DtIconAlignJustify,\n DtIconQuote,\n DtIconCodeBlock,\n DtIconLink2,\n DtIconImage,\n DtIconSearch,\n DtIconType,\n DtIconBraces,\n DtIconChevronDown,\n DtIconFontSize,\n DtIconStopFilled,\n },\n\n mixins: [],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Value of the input. The object format should match TipTap's JSON\n * document structure: https://tiptap.dev/guide/output#option-1-json\n */\n modelValue: {\n type: [Object, String],\n default: '',\n },\n\n /**\n * Whether the input is editable\n */\n editable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Descriptive label for the input element\n */\n inputAriaLabel: {\n type: String,\n required: true,\n default: '',\n },\n\n /**\n * Additional class name for the input element. Only accepts a String value\n * because this is passed to the editor via options. For multiple classes,\n * join them into one string, e.g. \"d-p8 d-hmx96\"\n */\n inputClass: {\n type: String,\n default: '',\n },\n\n /**\n * Whether the input should receive focus after the component has been\n * mounted. Either one of `start`, `end`, `all` or a Boolean or a Number.\n * - `start` Sets the focus to the beginning of the input\n * - `end` Sets the focus to the end of the input\n * - `all` Selects the whole contents of the input\n * - `Number` Sets the focus to a specific position in the input\n * - `true` Defaults to `start`\n * - `false` Disables autofocus\n * @values true, false, start, end, all, number\n */\n autoFocus: {\n type: [Boolean, String, Number],\n default: false,\n validator (autoFocus) {\n if (typeof autoFocus === 'string') {\n return RICH_TEXT_EDITOR_AUTOFOCUS_TYPES.includes(autoFocus);\n }\n return true;\n },\n },\n\n /**\n * Placeholder text\n */\n placeholder: {\n type: String,\n default: '',\n },\n\n /**\n * Content area needs to dynamically adjust height based on the conversation area height.\n * can be vh|px|rem|em|%\n */\n maxHeight: {\n type: String,\n default: 'unset',\n },\n\n /**\n * Placeholder text for the set link input field\n */\n setLinkPlaceholder: {\n type: String,\n default: '',\n },\n\n /**\n * Show button to render text as bold\n */\n showBoldButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to render text in italics\n */\n showItalicsButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to underline text\n */\n showUnderlineButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to strike text\n */\n showStrikeButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to render list items\n */\n showListItemsButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to render ordered list items\n */\n showOrderedListButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to align text to the left\n */\n showAlignLeftButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to align text to the center\n */\n showAlignCenterButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to align text to the right\n */\n showAlignRightButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to justify text\n */\n showAlignJustifyButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to add quote format to text\n */\n showQuoteButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to add code block\n */\n showCodeBlockButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to handle quick replies\n */\n showQuickRepliesButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to add an inline image\n */\n showInlineImageButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Show button to add a variable\n */\n showVariableButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Variable categories to display when variable button is clicked\n */\n variableCategories: {\n type: Array,\n default: () => [],\n },\n\n /**\n * Show add link default config.\n */\n showAddLink: {\n type: Object,\n default: () => ({\n showAddLinkButton: true,\n }),\n },\n\n /**\n * Show font style button.\n */\n showFontStyleButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Show font size button.\n */\n showFontSizeButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Show font color button.\n */\n showFontColorButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Available font styles for the font style dropdown.\n */\n fontStyles: {\n type: Array,\n default: () => [\n { name: 'Arial', value: null }, // arial is the default font\n { name: 'Georgia', value: 'Georgia' },\n { name: 'Helvetica', value: 'Helvetica' },\n { name: 'Verdana', value: 'Verdana'},\n { name: 'Times New Roman', value: 'Times New Roman' },\n ],\n },\n\n fontSizes : {\n type: Array,\n default: () => [\n { name: 'Small', value: '12px'},\n { name: 'Normal', value: '15px'},\n { name: 'Large', value: '24px'},\n { name: 'Huge', value: '36px'},\n ],\n },\n\n /**\n * Whether the input allows background color to be introduced in the text.\n */\n allowBackgroundColor: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the input allows line height to be introduced in the text.\n */\n allowLineHeight: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls how whitespace is handled when parsing HTML content.\n * - 'full': All whitespace is preserved\n * - true: Whitespace in inline content is preserved, whitespace-only nodes between blocks are removed\n * - false: Standard HTML whitespace collapsing\n * @values full, true, false\n */\n preserveWhitespace: {\n type: [Boolean, String],\n default: 'full',\n },\n\n /**\n * Use div tags instead of paragraph tags to show text\n */\n useDivTags: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Allow Tables to be used in to the editor\n */\n allowTables: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Allow image resizing\n */\n allowImageResize: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native focus event\n * @event input\n * @type {String|JSON}\n */\n 'focus',\n\n /**\n * Native blur event\n * @event input\n * @type {String|JSON}\n */\n 'blur',\n\n /**\n * Native input event\n * @event input\n * @type {String|JSON}\n */\n 'input',\n\n /**\n * Event fired to sync the modelValue prop with the parent component\n * @event input\n * @type {String|JSON}\n */\n 'update:modelValue',\n\n /**\n * Quick replies button\n * pressed event\n * @event quick-replies-click\n */\n 'quick-replies-click',\n\n /**\n * Emit when inline image button is clicked\n * @event inline-image-click\n */\n 'inline-image-click',\n\n /**\n * Emit when text input is changed\n * @event text-input\n * @type {String}\n */\n 'text-input',\n ],\n\n data () {\n return {\n internalInputValue: this.modelValue, // internal input content\n hasFocus: false,\n\n linkOptions: {\n class: 'd-recipe-editor__link',\n },\n\n currentFontColor: undefined,\n showLinkInput: false,\n fontStyleSearch: '',\n linkInput: '',\n currentButtonRefIndex: 0,\n variableSearchValue: '',\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n inputLength () {\n return this.internalInputValue.length;\n },\n\n htmlOutputFormat () {\n return RICH_TEXT_EDITOR_OUTPUT_FORMATS[2];\n },\n\n flattenedVariableItems () {\n if (!this.variableCategories) return [];\n return this.variableCategories.reduce((acc, category) => {\n return acc.concat(category.items || []);\n }, []);\n },\n\n showingTextFormatButtons () {\n return this.showBoldButton || this.showItalicsButton || this.showStrikeButton || this.showUnderlineButton;\n },\n\n showingAlignmentButtons () {\n return this.showAlignLeftButton || this.showAlignCenterButton ||\n this.showAlignRightButton || this.showAlignJustifyButton;\n },\n\n showingListButtons () {\n return this.showListItemsButton || this.showOrderedListButton;\n },\n\n orderedRefs () {\n const refs = this.buttonGroups.reduce(function (acc, buttonData) {\n buttonData.buttonGroup.forEach(button => {\n acc.push(this.getButtonRef(buttonData.key, button.selector));\n }, this);\n return acc;\n }.bind(this), []);\n refs.push(this.getButtonRef('custom', 'link'));\n return refs;\n },\n\n buttonGroups () {\n const individualButtonStacks = this.individualButtons.map(buttonData => ({\n key: buttonData.selector,\n buttonGroup: [buttonData],\n }));\n return [\n { key: 'new', buttonGroup: this.newButtons },\n { key: 'format', buttonGroup: this.textFormatButtons },\n { key: 'alignment', buttonGroup: this.alignmentButtons },\n { key: 'list', buttonGroup: this.listButtons },\n ...individualButtonStacks,\n ].filter(buttonGroupData => buttonGroupData.buttonGroup.length > 0);\n },\n\n newButtons () {\n return [\n {\n showBtn: this.showQuickRepliesButton,\n buttonType: 'button',\n label: this.i18n.$t('DIALTONE_EDITOR_QUICK_REPLY_BUTTON_LABEL'),\n selector: 'quickReplies',\n icon: DtIconQuickReply,\n dataQA: 'dt-recipe-editor-quick-replies-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_QUICK_REPLY_BUTTON_LABEL'),\n onClick: this.onQuickRepliesClick,\n },\n ].filter(button => button.showBtn);\n },\n\n textFormatButtons () {\n return [\n {\n showBtn: this.showFontStyleButton,\n buttonType: 'popover',\n selector: 'fontStyle',\n icon: DtIconType,\n dataQA: 'dt-recipe-editor-font-style-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_FONT_STYLE_BUTTON_LABEL'),\n },\n {\n showBtn: this.showFontSizeButton,\n buttonType: 'popover',\n selector: 'fontSize',\n icon: DtIconFontSize,\n dataQA: 'dt-recipe-editor-font-size-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_FONT_SIZE_BUTTON_LABEL'),\n },\n {\n showBtn: this.showFontColorButton,\n buttonType: 'custom',\n selector: 'fontColor',\n icon: DtIconStopFilled,\n dataQA: 'dt-recipe-editor-font-color-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_FONT_COLOR_BUTTON_LABEL'),\n onClick: this.onColorPickerButtonClick,\n },\n {\n showBtn: this.showBoldButton,\n buttonType: 'button',\n selector: 'bold',\n icon: DtIconBold,\n dataQA: 'dt-recipe-editor-bold-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_BOLD_BUTTON_LABEL'),\n onClick: this.onBoldTextToggle,\n },\n {\n showBtn: this.showItalicsButton,\n buttonType: 'button',\n selector: 'italic',\n icon: DtIconItalic,\n dataQA: 'dt-recipe-editor-italics-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ITALICS_BUTTON_LABEL'),\n onClick: this.onItalicTextToggle,\n },\n {\n showBtn: this.showUnderlineButton,\n buttonType: 'button',\n selector: 'underline',\n icon: DtIconUnderline,\n dataQA: 'dt-recipe-editor-underline-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_UNDERLINE_BUTTON_LABEL'),\n onClick: this.onUnderlineTextToggle,\n },\n {\n showBtn: this.showStrikeButton,\n buttonType: 'button',\n selector: 'strike',\n icon: DtIconStrikethrough,\n dataQA: 'dt-recipe-editor-strike-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_STRIKE_BUTTON_LABEL'),\n onClick: this.onStrikethroughTextToggle,\n },\n ].filter(button => button.showBtn);\n },\n\n alignmentButtons () {\n return [\n {\n showBtn: this.showAlignLeftButton,\n buttonType: 'button',\n selector: { textAlign: 'left' },\n icon: DtIconAlignLeft,\n dataQA: 'dt-recipe-editor-align-left-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ALIGN_LEFT_BUTTON_LABEL'),\n onClick: () => this.onTextAlign('left'),\n },\n {\n showBtn: this.showAlignCenterButton,\n buttonType: 'button',\n selector: { textAlign: 'center' },\n icon: DtIconAlignCenter,\n dataQA: 'dt-recipe-editor-align-center-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ALIGN_CENTER_BUTTON_LABEL'),\n onClick: () => this.onTextAlign('center'),\n },\n {\n showBtn: this.showAlignRightButton,\n buttonType: 'button',\n selector: { textAlign: 'right' },\n icon: DtIconAlignRight,\n dataQA: 'dt-recipe-editor-align-right-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ALIGN_RIGHT_BUTTON_LABEL'),\n onClick: () => this.onTextAlign('right'),\n },\n {\n showBtn: this.showAlignJustifyButton,\n buttonType: 'button',\n selector: { textAlign: 'justify' },\n icon: DtIconAlignJustify,\n dataQA: 'dt-recipe-editor-align-justify-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ALIGN_JUSTIFY_BUTTON_LABEL'),\n onClick: () => this.onTextAlign('justify'),\n },\n ].filter(button => button.showBtn);\n },\n\n listButtons () {\n return [\n {\n showBtn: this.showListItemsButton,\n buttonType: 'button',\n selector: 'bulletList',\n icon: DtIconListBullet,\n dataQA: 'dt-recipe-editor-list-items-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_BULLET_LIST_BUTTON_LABEL'),\n onClick: this.onBulletListToggle,\n },\n {\n showBtn: this.showOrderedListButton,\n buttonType: 'button',\n selector: 'orderedList',\n icon: DtIconListOrdered,\n dataQA: 'dt-recipe-editor-ordered-list-items-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ORDERED_LIST_BUTTON_LABEL'),\n onClick: this.onOrderedListToggle,\n },\n ].filter(button => button.showBtn);\n },\n\n individualButtons () {\n return [\n {\n showBtn: this.showQuoteButton,\n buttonType: 'button',\n selector: 'blockquote',\n icon: DtIconQuote,\n dataQA: 'dt-recipe-editor-blockquote-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_QUOTE_BUTTON_LABEL'),\n onClick: this.onBlockquoteToggle,\n },\n {\n showBtn: this.showCodeBlockButton,\n buttonType: 'button',\n selector: 'codeBlock',\n icon: DtIconCodeBlock,\n dataQA: 'dt-recipe-editor-code-block-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_CODE_BUTTON_LABEL'),\n onClick: this.onCodeBlockToggle,\n },\n {\n showBtn: this.showInlineImageButton,\n buttonType: 'button',\n selector: 'image',\n icon: DtIconImage,\n dataQA: 'dt-recipe-editor-inline-image-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_IMAGE_BUTTON_LABEL'),\n // Handle getting image\n onClick: this.onInsertInlineImageClick,\n },\n {\n showBtn: this.showVariableButton,\n buttonType: 'popover',\n selector: 'variable',\n icon: DtIconBraces,\n dataQA: 'dt-recipe-editor-variable-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_VARIABLE_BUTTON_LABEL'),\n },\n ].filter(button => button.showBtn);\n },\n\n linkButton () {\n return {\n showBtn: this.showAddLink.showAddLinkButton,\n buttonType: 'custom',\n selector: 'link',\n icon: DtIconLink2,\n dataQA: 'dt-recipe-editor-add-link-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_LINK_BUTTON_LABEL'),\n onClick: this.openLinkInput,\n };\n },\n\n confirmSetLinkButtonLabels () {\n return this.i18n.$ta('DIALTONE_EDITOR_CONFIRM_SET_LINK_BUTTON');\n },\n\n cancelSetLinkButtonLabels () {\n return this.i18n.$ta('DIALTONE_EDITOR_CANCEL_SET_LINK_BUTTON');\n },\n\n removeLinkButtonLabels () {\n return this.i18n.$ta('DIALTONE_EDITOR_REMOVE_LINK_BUTTON');\n },\n\n showAddLinkButtonLabels () {\n return this.i18n.$ta('DIALTONE_EDITOR_ADD_LINK_BUTTON');\n },\n\n filteredFontStyles () {\n const searchValue = this.fontStyleSearch.toLowerCase();\n return this.fontStyles.filter((item) =>\n item.name.toLowerCase().includes(searchValue),\n );\n },\n\n filteredCategories() {\n return this.variableCategories.filter(\n (category) => this.getFilteredItemsForCategory(category).length,\n );\n },\n\n colorPickerInput() {\n return this.$refs.editorRoot?.querySelector('.colorPickerInput');\n },\n\n isDefaultFontColor() {\n return this.currentFontColor === EDITOR_DEFAULT_FONT_COLOR;\n },\n\n actionBarBtn () {\n const ref = this.$refs[this.orderedRefs[this.currentButtonRefIndex]][0]?.$refs?.buttonRef // get nested ref\n || this.$refs[this.orderedRefs[this.currentButtonRefIndex]];\n return Array.isArray(ref) ? ref[0] : ref;\n },\n\n },\n\n watch: {\n modelValue (newValue) {\n this.internalInputValue = newValue;\n },\n },\n\n methods: {\n removeClassStyleAttrs,\n addClassStyleAttrs,\n\n onInputFocus (event) {\n event?.stopPropagation();\n },\n\n removeLink () {\n this.$refs.richTextEditor?.editor?.chain()?.focus()?.unsetLink()?.run();\n this.closeLinkInput();\n },\n\n setLink (event) {\n const editor = this.$refs.richTextEditor?.editor;\n event?.preventDefault();\n event?.stopPropagation();\n\n if (!this.linkInput) {\n // If link text is set to empty string,\n // remove any existing links.\n this.removeLink();\n return;\n }\n\n // Check if input matches any of the supported link formats\n const prefix = EDITOR_SUPPORTED_LINK_PROTOCOLS.find(prefixRegex => prefixRegex.test(this.linkInput));\n\n if (!prefix) {\n // If no matching pattern is found, prepend default prefix\n this.linkInput = `${EDITOR_DEFAULT_LINK_PREFIX}${this.linkInput}`;\n }\n\n const selection = editor?.view?.state?.selection;\n\n if (selection.anchor === selection.head) {\n // If no text has been selected, manually insert the link text.\n // Do not rely on link options set through DtRichTextEditor\n // component, because they clash with these and cause issues.\n editor\n .chain()\n .focus()\n .insertContentAt(\n selection.anchor,\n `<a class=\"${this.linkOptions.class}\" href=${this.linkInput}>${this.linkInput}</a>`,\n )\n .run();\n } else {\n // Set or edit the link\n editor\n .chain()\n .focus()\n .extendMarkRange('link')\n .setLink({ href: this.linkInput, class: this.linkOptions.class })\n .run();\n }\n\n this.closeLinkInput();\n },\n\n openLinkInput () {\n this.showLinkInput = true;\n },\n\n updateInput (openedInput) {\n if (!openedInput) {\n return this.closeLinkInput();\n }\n this.linkInput = this.$refs.richTextEditor?.editor?.getAttributes('link')?.href;\n },\n\n closeLinkInput () {\n this.showLinkInput = false;\n this.linkInput = '';\n this.$refs.richTextEditor.editor?.chain().focus();\n },\n\n onBoldTextToggle () {\n this.$refs.richTextEditor?.editor?.chain().focus().toggleBold().run();\n },\n\n onItalicTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleItalic().run();\n },\n\n onUnderlineTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleUnderline().run();\n },\n\n onStrikethroughTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleStrike().run();\n },\n\n onTextAlign (alignment) {\n if (this.$refs.richTextEditor?.editor?.isActive({ textAlign: alignment })) {\n // If this alignment type is already set here, unset it\n return this.$refs.richTextEditor?.editor.chain().focus().unsetTextAlign().run();\n }\n this.$refs.richTextEditor?.editor.chain().focus().setTextAlign(alignment).run();\n },\n\n onBulletListToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleBulletList().run();\n },\n\n onOrderedListToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleOrderedList().run();\n },\n\n onCodeBlockToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleCodeBlock().run();\n },\n\n onQuickRepliesClick () {\n this.$emit('quick-replies-click');\n },\n\n onInsertInlineImageClick () {\n this.$emit('inline-image-click');\n },\n\n insertVariable (categoryName, variableData) {\n // Insert a variable using the custom command from the Variable extension\n this.$refs.richTextEditor?.editor.chain().focus().insertVariable({\n id: variableData.id,\n placeholder: variableData.placeholder || '',\n altText: '',\n enableAltText: variableData.enableAltText,\n }).run();\n },\n\n insertInlineImage (imageUrl) {\n this.$refs.richTextEditor?.editor.chain().focus().setImage({ src: imageUrl }).run();\n },\n\n insertInMessageBody (messageContent) {\n this.$refs.richTextEditor?.editor.chain().focus().insertContent(messageContent).run();\n },\n\n setCursorPosition (position = null) {\n this.$refs.richTextEditor?.editor.chain().focus(position).run();\n },\n\n onBlockquoteToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleBlockquote().run();\n },\n\n onTextInput (input) {\n this.$emit('text-input', input);\n },\n\n onFocus (event) {\n this.hasFocus = true;\n this.$emit('focus', event);\n },\n\n onBlur (event) {\n this.hasFocus = false;\n this.$emit('blur', event);\n },\n\n onInput (event) {\n this.$emit('input', event);\n this.$emit('update:modelValue', event);\n },\n\n onSelected() {\n this.updateFontColorInput();\n },\n\n getButtonKey (key, selector) {\n return `${key}-${JSON.stringify(selector)}`;\n },\n\n // Unique Button Ref Key to identify ref\n getButtonRef (key, selector) {\n return `${this.getButtonKey(key, selector)}-ref`;\n },\n\n /**\n * Determines if an element in the action bar button list is focusable with tab key\n * @param {string} refKey - unique identifier for the ref element in DOM\n */\n canFocus (refKey) {\n return refKey === this.orderedRefs[this.currentButtonRefIndex];\n },\n\n shiftActionBarFocusRight () {\n this.shiftButtonRefIndex(1);\n },\n\n shiftActionBarFocusLeft () {\n this.shiftButtonRefIndex(-1);\n },\n\n shiftButtonRefIndex (shiftAmount) {\n const previousActionBarBtn = this.actionBarBtn;\n const index = (this.currentButtonRefIndex + shiftAmount) % this.orderedRefs.length;\n this.currentButtonRefIndex = index >= 0 ? index : this.orderedRefs.length + index;\n const currentActionBarBtn = this.actionBarBtn;\n\n previousActionBarBtn.$el.blur();\n currentActionBarBtn.$el.focus();\n },\n\n onFontStyleSelect (fontFamily) {\n if (fontFamily) {\n this.$refs.richTextEditor?.editor?.chain().focus().setFontFamily(fontFamily).run();\n } else {\n this.$refs.richTextEditor?.editor?.chain().focus().unsetFontFamily().run();\n }\n this.$refs.richTextEditor?.editor?.commands.focus();\n },\n\n isCurrentFontFamily (fontFamily) {\n if (!fontFamily) {\n return !this.$refs.richTextEditor?.editor?.getAttributes('textStyle')?.fontFamily;\n }\n return this.$refs.richTextEditor?.editor?.isActive('textStyle', { fontFamily });\n },\n\n onFontSizeSelect (fontSize) {\n this.$refs.richTextEditor?.editor?.chain().focus().setFontSize(fontSize).run();\n this.$refs.richTextEditor?.editor?.commands.focus();\n },\n\n isCurrentFontSize (fontSize) {\n if (!fontSize) {\n return !this.$refs.richTextEditor?.editor?.getAttributes('textStyle')?.fontSize;\n }\n return this.$refs.richTextEditor?.editor?.isActive('textStyle', { fontSize });\n },\n\n getFilteredItemsForCategory(category) {\n const searchValue = this.variableSearchValue.toLowerCase();\n if (category.name.toLowerCase().includes(searchValue)) {\n return category.items;\n }\n return category.items.filter((item) =>\n item.name.toLowerCase().includes(searchValue),\n );\n },\n\n updateFontColorInput() {\n this.currentFontColor = this.$refs.richTextEditor?.editor?.getAttributes('textStyle')?.color || EDITOR_DEFAULT_FONT_COLOR;\n },\n\n onColorPickerButtonClick () {\n this.colorPickerInput?.click();\n },\n\n onColorPickerInput (fontColor) {\n this.$refs.richTextEditor?.editor?.chain().focus().setColor(fontColor).run();\n this.$refs.richTextEditor?.editor?.commands.focus();\n this.updateFontColorInput();\n },\n },\n};\n</script>\n\n<style>\n/* Image resizing classes - only active when allowImageResize is true */\n\n/* Image border */\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-wrapper] {\n outline: 1px solid var(--dt-color-chart-info-selected);\n line-height: 0 !important;\n}\n\n/* Corner handles */\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle] {\n position: absolute;\n background: var(--dt-color-chart-info-selected);\n z-index: 10;\n}\n\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='top-left'],\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='top-right'],\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='bottom-left'],\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='bottom-right'] {\n width: 8px;\n height: 8px;\n}\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='top-left'] {\n cursor: nwse-resize;\n transform: translate(-50%, -50%);\n}\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='top-right'] {\n cursor: nesw-resize;\n transform: translate(50%, -50%);\n}\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='bottom-left'] {\n cursor: nesw-resize;\n transform: translate(-50%, 50%);\n}\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='bottom-right'] {\n cursor: nwse-resize;\n transform: translate(50%, 50%);\n}\n</style>\n"],"names":["_sfc_main","DtListItemGroup","DtDropdownSeparator","DtListItem","DtRichTextEditor","DtButton","DtPopover","DtStack","DtInput","DtTooltip","DtCombobox","EditorToolbarButton","EditorToolbarDropdownButton","EditorToolbarPopoverButton","DtIconQuickReply","DtIconBold","DtIconItalic","DtIconUnderline","DtIconStrikethrough","DtIconListBullet","DtIconListOrdered","DtIconAlignLeft","DtIconAlignCenter","DtIconAlignRight","DtIconAlignJustify","DtIconQuote","DtIconCodeBlock","DtIconLink2","DtIconImage","DtIconSearch","DtIconType","DtIconBraces","DtIconChevronDown","DtIconFontSize","DtIconStopFilled","autoFocus","RICH_TEXT_EDITOR_AUTOFOCUS_TYPES","DialtoneLocalization","RICH_TEXT_EDITOR_OUTPUT_FORMATS","acc","category","refs","buttonData","button","individualButtonStacks","buttonGroupData","searchValue","item","_a","EDITOR_DEFAULT_FONT_COLOR","ref","_b","newValue","removeClassStyleAttrs","addClassStyleAttrs","event","_e","_d","_c","editor","EDITOR_SUPPORTED_LINK_PROTOCOLS","prefixRegex","EDITOR_DEFAULT_LINK_PREFIX","selection","openedInput","alignment","categoryName","variableData","imageUrl","messageContent","position","input","key","selector","refKey","shiftAmount","previousActionBarBtn","index","currentActionBarBtn","fontFamily","_f","fontSize","fontColor","_hoisted_1","_openBlock","_createElementBlock","_mergeProps","$options","_ctx","_cache","$event","_createVNode","_component_dt_stack","_Fragment","_renderList","buttonGroup","_createBlock","_component_editor_toolbar_popover_button","_withCtx","close","_component_dt_combobox","inputProps","_component_dt_input","$data","iconSize","_component_dt_icon_search","listProps","_createElementVNode","fontStyle","_component_dt_list_item","_normalizeStyle","_createTextVNode","_toDisplayString","_component_editor_toolbar_dropdown_button","$props","_component_dt_button","_resolveDynamicComponent","_g","_component_dt_list_item_group","_component_dt_dropdown_separator","_component_editor_toolbar_button","_i","_h","_component_dt_popover","_component_dt_tooltip","_component_dt_rich_text_editor"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { addClassStyleAttrs as Lt, removeClassStyleAttrs as At } from "../../com
3
3
  import yt from "./EditorToolbarButton.js";
4
4
  import Et from "./EditorToolbarDropdownButton.js";
5
5
  import wt from "./EditorToolbarPopoverButton.js";
6
- import { DtIconStopFilled as J, DtIconFontSize as Y, DtIconChevronDown as bt, DtIconBraces as j, DtIconType as G, DtIconSearch as Ct, DtIconImage as X, DtIconLink2 as Z, DtIconCodeBlock as W, DtIconQuote as $, DtIconAlignJustify as tt, DtIconAlignRight as et, DtIconAlignCenter as ot, DtIconAlignLeft as it, DtIconListOrdered as nt, DtIconListBullet as rt, DtIconStrikethrough as lt, DtIconUnderline as st, DtIconItalic as at, DtIconBold as ut, DtIconQuickReply as ct } from "@dialpad/dialtone-icons/vue3";
6
+ import { DtIconStopFilled as J, DtIconFontSize as Y, DtIconChevronDown as bt, DtIconBraces as j, DtIconType as G, DtIconSearch as Ct, DtIconImage as X, DtIconLink2 as W, DtIconCodeBlock as Z, DtIconQuote as $, DtIconAlignJustify as tt, DtIconAlignRight as et, DtIconAlignCenter as ot, DtIconAlignLeft as it, DtIconListOrdered as nt, DtIconListBullet as rt, DtIconStrikethrough as lt, DtIconUnderline as st, DtIconItalic as at, DtIconBold as ut, DtIconQuickReply as ct } from "@dialpad/dialtone-icons/vue3";
7
7
  import { DialtoneLocalization as Ot } from "../../localization/index.js";
8
8
  import { resolveComponent as p, resolveDirective as Rt, openBlock as u, createElementBlock as T, mergeProps as B, createVNode as d, withCtx as a, Fragment as k, renderList as y, createBlock as f, createElementVNode as _, normalizeStyle as O, createTextVNode as w, toDisplayString as I, withDirectives as xt, withKeys as b, withModifiers as L, resolveDynamicComponent as dt, createCommentVNode as D, normalizeClass as Ft } from "vue";
9
9
  import { _ as Dt } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
@@ -47,8 +47,8 @@ const Jt = {
47
47
  DtIconAlignRight: et,
48
48
  DtIconAlignJustify: tt,
49
49
  DtIconQuote: $,
50
- DtIconCodeBlock: W,
51
- DtIconLink2: Z,
50
+ DtIconCodeBlock: Z,
51
+ DtIconLink2: W,
52
52
  DtIconImage: X,
53
53
  DtIconSearch: Ct,
54
54
  DtIconType: G,
@@ -311,6 +311,17 @@ const Jt = {
311
311
  type: Boolean,
312
312
  default: !1
313
313
  },
314
+ /**
315
+ * Controls how whitespace is handled when parsing HTML content.
316
+ * - 'full': All whitespace is preserved
317
+ * - true: Whitespace in inline content is preserved, whitespace-only nodes between blocks are removed
318
+ * - false: Standard HTML whitespace collapsing
319
+ * @values full, true, false
320
+ */
321
+ preserveWhitespace: {
322
+ type: [Boolean, String],
323
+ default: "full"
324
+ },
314
325
  /**
315
326
  * Use div tags instead of paragraph tags to show text
316
327
  */
@@ -589,7 +600,7 @@ const Jt = {
589
600
  showBtn: this.showCodeBlockButton,
590
601
  buttonType: "button",
591
602
  selector: "codeBlock",
592
- icon: W,
603
+ icon: Z,
593
604
  dataQA: "dt-recipe-editor-code-block-btn",
594
605
  tooltipMessage: this.i18n.$t("DIALTONE_EDITOR_CODE_BUTTON_LABEL"),
595
606
  onClick: this.onCodeBlockToggle
@@ -619,7 +630,7 @@ const Jt = {
619
630
  showBtn: this.showAddLink.showAddLinkButton,
620
631
  buttonType: "custom",
621
632
  selector: "link",
622
- icon: Z,
633
+ icon: W,
623
634
  dataQA: "dt-recipe-editor-add-link-btn",
624
635
  tooltipMessage: this.i18n.$t("DIALTONE_EDITOR_LINK_BUTTON_LABEL"),
625
636
  onClick: this.openLinkInput
@@ -1237,6 +1248,7 @@ function jt(t, o, i, l, r, e) {
1237
1248
  link: !0,
1238
1249
  "output-format": e.htmlOutputFormat,
1239
1250
  placeholder: i.placeholder,
1251
+ "preserve-whitespace": i.preserveWhitespace,
1240
1252
  "use-div-tags": i.useDivTags,
1241
1253
  "allow-tables": i.allowTables,
1242
1254
  "allow-image-resize": i.allowImageResize,
@@ -1247,7 +1259,7 @@ function jt(t, o, i, l, r, e) {
1247
1259
  onFocus: e.onFocus,
1248
1260
  onInput: o[6] || (o[6] = (s) => e.onInput(s)),
1249
1261
  onSelected: e.onSelected
1250
- }), null, 16, ["modelValue", "allow-font-size", "allow-background-color", "allow-line-height", "variable-items", "auto-focus", "editable", "input-aria-label", "input-class", "output-format", "placeholder", "use-div-tags", "allow-tables", "allow-image-resize", "onTextInput", "onBlur", "onFocus", "onSelected"])
1262
+ }), null, 16, ["modelValue", "allow-font-size", "allow-background-color", "allow-line-height", "variable-items", "auto-focus", "editable", "input-aria-label", "input-class", "output-format", "placeholder", "preserve-whitespace", "use-div-tags", "allow-tables", "allow-image-resize", "onTextInput", "onBlur", "onFocus", "onSelected"])
1251
1263
  ], 6)
1252
1264
  ], 16);
1253
1265
  }