/** * @copyright (C) 2019 Open Source Matters, Inc. * @license GNU General Public License version 2 or later; see LICENSE.txt */if(!Joomla)throw new Error("Joomla API is not properly initialised");const tinymce={langCode:"en",langStrings:{},icons:{"accessibility-check":'',accordion:'',"align-center":'',"align-justify":'',"align-left":'',"align-none":'',"align-right":'',"arrow-left":'',"arrow-right":'',backcolor:'',bold:'',bookmark:'',"border-width":'',brightness:'',browse:'',cancel:'',"change-case":'',"character-count":'',checklist:'',checkmark:'',"chevron-down":'',"chevron-left":'',"chevron-right":'',"chevron-up":'',close:'',"code-sample":'',"color-levels":'',"color-picker":'',"color-swatch-remove-color":'',"color-swatch":'',comment:'',contrast:'',copy:'',crop:'',cut:'',"document-properties":'',drag:'',duplicate:'',"edit-image":'',"embed-page":'',embed:'',emoji:'',fill:'',"flip-horizontally":'',"flip-vertically":'',forecolor:'',"format-painter":'',fullscreen:'',gamma:'',help:'',home:'',"horizontal-rule":'',"image-options":'',image:'',indent:'',indeterminate:'',info:'',"insert-character":'',"insert-time":'',invert:'',italic:'',language:'',line:'',lineheight:'',link:'',"list-bull-circle":'',"list-bull-default":'',"list-bull-square":'',"list-num-default":'',"list-num-lower-alpha":'',"list-num-lower-greek":'',"list-num-lower-roman":'',"list-num-upper-alpha":'',"list-num-upper-roman":'',lock:'',ltr:'',"more-drawer":'',"new-document":'',"new-tab":'',"non-breaking":'',notice:'',"ordered-list":'',orientation:'',outdent:'',"page-break":'',paragraph:'',"paste-text":'',paste:'',"permanent-pen":'',plus:'',preferences:'',preview:'',print:'',quote:'',redo:'',reload:'',"remove-formatting":'',remove:'',"resize-handle":'',resize:'',"restore-draft":'',"rotate-left":'',"rotate-right":'',rtl:'',save:'',search:'',"select-all":'',selected:'',settings:'',sharpen:'',sourcecode:'',"spell-check":'',"strike-through":'',subscript:'',superscript:'',"table-cell-properties":'',"table-cell-select-all":'',"table-cell-select-inner":'',"table-delete-column":'',"table-delete-row":'',"table-delete-table":'',"table-insert-column-after":'',"table-insert-column-before":'',"table-insert-row-above":'',"table-insert-row-after":'',"table-left-header":'',"table-merge-cells":'',"table-row-properties":'',"table-split-cells":'',"table-top-header":'',table:'',jtemplate:'',"temporary-placeholder":'',toc:'',translate:'',underline:'',undo:'',unlink:'',unlock:'',"unordered-list":'',unselected:'',upload:'',user:'',visualblocks:'',visualchars:'',warning:'',"zoom-in":'',"zoom-out":''},iconsmap:{aligncenter:"align-center",alignjustify:"align-justify",alignleft:"align-left",alignright:"align-right",anchor:"bookmark",blockquote:"quote",bullist:"unordered-list",charmap:"insert-character",code:"sourcecode",codesample:"code-sample",emoticons:"emoji",hr:"horizontal-rule",insertdatetime:"insert-time",media:"embed",nonbreaking:"non-breaking",numlist:"ordered-list",pagebreak:"page-break",pastetext:"paste-text",removeformat:"remove-formatting",searchreplace:"search",strikethrough:"strike-through"},addI18n:(e,i)=>{tinymce.langCode=e,tinymce.langStrings=i||{}},translate:e=>tinymce.langStrings[e]||e,showIcon:e=>{const i=tinymce.iconsmap[e]||e;return tinymce.icons[i]||tinymce.icons[e]||e}};window.tinymce=tinymce;const TinyMCEBuilder=(e,i)=>{const z=e.querySelector(".tinymce-builder-menu.source"),d=e.querySelector(".tinymce-builder-toolbar.source"),g=e.querySelectorAll(".tinymce-builder-menu.target"),o=e.querySelectorAll(".tinymce-builder-toolbar.target"),H=(h,l,v)=>{const a=`${i.formControl}[${v}][${l}][]`,t=h.getAttribute("data-name");h.innerHTML+=Joomla.sanitizeHtml(``)},f=(h,l,v)=>{const a=tinymce.translate(l.label);let t="",c="tox-mbtn";if(v==="menu")t=a;else if(l.text){const r=tinymce.translate(l.text);c+=" tox-tbtn--bespoke";const n=tinymce.showIcon("chevron-down");t=l.text!=="|"?`${r}
${n}
`:r}else t=tinymce.showIcon(h);return``},s=(h,l,v,a)=>{const t=h.getAttribute("data-group"),c=h.getAttribute("data-set"),r=l==="menu"?i.menus:i.buttons,n=v||JSON.parse(h.getAttribute("data-value"))||[];let M,u;for(let p=0,A=n.length;p{const{set:l}=h;g.forEach(v=>{v.getAttribute("data-set")===l&&(v.innerHTML="")}),o.forEach(v=>{v.getAttribute("data-set")===l&&(v.innerHTML="")})},w=h=>{const{set:l}=h,v=i.toolbarPreset[h.preset]||null;if(!v)throw new Error(`Unknown Preset "${h.preset}"`);V(h),Object.keys(v).forEach(a=>{const t=a==="menu"?"menu":"toolbar";a==="menu"?g.forEach(c=>{c.getAttribute("data-group")===a&&c.getAttribute("data-set")===l&&s(c,t,v[a],!0)}):o.forEach(c=>{c.getAttribute("data-group")===a&&c.getAttribute("data-set")===l&&s(c,t,v[a],!0)})})};s(z,"menu"),s(d,"toolbar");const L=dragula([z],{copy:(h,l)=>l===z,accepts:(h,l)=>l!==z,removeOnSpill:!0}).on("drag",()=>{g.forEach(h=>{h.classList.add("drop-area-highlight")})}).on("dragend",()=>{g.forEach(h=>{h.classList.remove("drop-area-highlight")})}).on("drop",(h,l)=>{l!==z&&H(h,l.getAttribute("data-group"),l.getAttribute("data-set"))});g.forEach(h=>{s(h,"menu",null,!0),L.containers.push(h)});const b=dragula([d],{copy:(h,l)=>l===d,accepts:(h,l)=>l!==d,removeOnSpill:!0}).on("drag",()=>{o.forEach(h=>{h.classList.add("drop-area-highlight")})}).on("dragend",()=>{o.forEach(h=>{h.classList.remove("drop-area-highlight")})}).on("drop",(h,l)=>{l!==d&&H(h,l.getAttribute("data-group"),l.getAttribute("data-set"))});o.forEach(h=>{s(h,"toolbar",null,!0),b.containers.push(h)}),e.querySelectorAll(".button-action").forEach(h=>{h.addEventListener("click",({target:l})=>{const v=l.getAttribute("data-action"),a={};switch([].forEach.call(l.attributes,t=>{if(/^data-/.test(t.name)){const c=t.name.substring(5);a[c]=t.value}}),v){case"clearPane":V(a);break;case"setPreset":w(a);break;default:throw new Error(`Unsupported action: ${v}`)}})})},options=Joomla.getOptions?Joomla.getOptions("plg_editors_tinymce_builder",{}):Joomla.optionsStorage.plg_editors_tinymce_builder||{},builder=document.getElementById("joomla-tinymce-builder");document.addEventListener("DOMContentLoaded",()=>TinyMCEBuilder(builder,options));const selects=builder.querySelectorAll(".access-select"),toggleAvailableOption=()=>{selects.forEach(e=>{e.enableAllOptions()}),selects.forEach(e=>{const i=e.value;selects.forEach(z=>{e!==z&&i.forEach(d=>{z.disableByValue(d)})})})};window.addEventListener("load",()=>toggleAvailableOption()),selects.forEach(e=>e.addEventListener("change",()=>toggleAvailableOption()));