Redactor.add("block","accordion-item",{mixins:["block"],props:{type:"accordion-item",editable:!0,focusable:!0,control:{parent:{title:"## accordion.select-accordion ##",icon:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7 6H16C16.5523 6 17 6.44772 17 7C17 7.55228 16.5523 8 16 8H9.41421L17.7071 16.2929C18.0976 16.6834 18.0976 17.3166 17.7071 17.7071C17.3166 18.0976 16.6834 18.0976 16.2929 17.7071L8 9.41421V16C8 16.5523 7.55228 17 7 17C6.44772 17 6 16.5523 6 16V7C6 6.44772 6.44772 6 7 6Z"/></svg>',command:"accordion.setParent",position:"first"},"add-item":{title:"## accordion.add-item ##",icon:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 4C12.5523 4 13 4.44772 13 5V11H19C19.5523 11 20 11.4477 20 12C20 12.5523 19.5523 13 19 13H13V19C13 19.5523 12.5523 20 12 20C11.4477 20 11 19.5523 11 19V13H5C4.44772 13 4 12.5523 4 12C4 11.4477 4.44772 11 5 11H11V5C11 4.44772 11.4477 4 12 4Z"/></svg>',command:"accordion.addItem",position:{after:"parent"}},"toggle-visibility":{title:"## accordion.toggle-visibility ##",icon:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M6 5C5.73478 5 5.48043 5.10536 5.29289 5.29289C5.10536 5.48043 5 5.73478 5 6V11H19V6C19 5.73478 18.8946 5.48043 18.7071 5.29289C18.5196 5.10536 18.2652 5 18 5H6ZM21 11V6C21 5.20435 20.6839 4.44129 20.1213 3.87868C19.5587 3.31607 18.7957 3 18 3H6C5.20435 3 4.44129 3.31607 3.87868 3.87868C3.31607 4.44129 3 5.20435 3 6V11H2C1.44772 11 1 11.4477 1 12C1 12.5523 1.44772 13 2 13H3V14C3 14.5523 3.44772 15 4 15C4.55228 15 5 14.5523 5 14V13H19V14C19 14.5523 19.4477 15 20 15C20.5523 15 21 14.5523 21 14V13H22C22.5523 13 23 12.5523 23 12C23 11.4477 22.5523 11 22 11H21ZM4 17C4.55228 17 5 17.4477 5 18C5 18.2652 5.10536 18.5196 5.29289 18.7071C5.48043 18.8946 5.73478 19 6 19C6.55228 19 7 19.4477 7 20C7 20.5523 6.55228 21 6 21C5.20435 21 4.44129 20.6839 3.87868 20.1213C3.31607 19.5587 3 18.7956 3 18C3 17.4477 3.44772 17 4 17ZM20 17C20.5523 17 21 17.4477 21 18C21 18.7957 20.6839 19.5587 20.1213 20.1213C19.5587 20.6839 18.7957 21 18 21C17.4477 21 17 20.5523 17 20C17 19.4477 17.4477 19 18 19C18.2652 19 18.5196 18.8946 18.7071 18.7071C18.8946 18.5196 19 18.2652 19 18C19 17.4477 19.4477 17 20 17ZM9 20C9 19.4477 9.44772 19 10 19H14C14.5523 19 15 19.4477 15 20C15 20.5523 14.5523 21 14 21H10C9.44772 21 9 20.5523 9 20Z"/></svg>',command:"accordion.toggleVisibility",position:{after:"add-item"}}}},defaults:{content:{getter:"getContent",setter:"setContent"}},create(){const e=this.dom('<div data-accordion-item="true">').data("title",this.lang.parse("## accordion.item ##")),t=this.dom('<h2 data-accordion-trigger="true">Section</h2>'),o=this.dom('<div data-accordion-content="true"><p>Content for section.</p></div>');return e.append(t),e.append(o),e},parse(){this.$block.data("title",this.lang.parse("## accordion.item ##"))},handleDelete(e,t,o){const n=this.app.create("selection"),a=this.app.create("caret"),i=n.getElement(),d=this.dom(i).closest("[data-accordion-content]");o.is("backspace")&&d.length>0&&a.is(d,"start")&&(e.preventDefault(),!0)},handleEnter(e){return this._handleEnter(e)},handleShiftEnter(e){return this._handleEnter(e)},_handleEnter(e){const t=this.app.create("selection"),o=this.dom(t.getElement());if(o.closest("[data-accordion-trigger]").length>0)return e.preventDefault(),!0}}),Redactor.add("block","accordion",{mixins:["block"],props:{type:"accordion",editable:!1,focusable:!0,control:{"add-item":{title:"## accordion.add-item ##",icon:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 4C12.5523 4 13 4.44772 13 5V11H19C19.5523 11 20 11.4477 20 12C20 12.5523 19.5523 13 19 13H13V19C13 19.5523 12.5523 20 12 20C11.4477 20 11 19.5523 11 19V13H5C4.44772 13 4 12.5523 4 12C4 11.4477 4.44772 11 5 11H11V5C11 4.44772 11.4477 4 12 4Z"/></svg>',command:"accordion.addItem",position:"first"}}},defaults:{content:{getter:"getContent",setter:"setContent"}},create(){const e=this.app.create("block.accordion-item"),t=this.dom('<div data-block="accordion">');return t.append(e.getBlock()),t},build(){this.initialize()},parse(){this.initialize()},initialize(){this.$block.find("[data-accordion-item]").each(e=>{e.hasClass("open")&&e.find("[data-accordion-content]").css({display:""}),this.app.create("block.accordion-item",e)})}}),Redactor.add("plugin","accordion",{translations:{en:{accordion:{accordion:"Accordion"}},fr:{accordion:{accordion:"Accordéon"}},es:{accordion:{accordion:"Acordeón"}},it:{accordion:{accordion:"Fisarmonica"}},pt:{accordion:{accordion:"Acordeão"}}},subscribe:{"dropdown.open":function(e){const t=this.app.dropdown.getName(),o=this.app.block.get();if(o&&o.isType("accordion-item")&&"control"===t){const e=this.app.dropdown.getElement();e.find('[data-name="add"]').hide()}},"context.open":function(e){const t=this.app.block.get();if(t&&t.isType("accordion-item")){["format"].forEach(e=>{this.app.context.getButton(e)?.getElement().hide()})}},"editor.before.paste":function(e){const t=this.app.block.get();let o=e.get("html");if(t&&t.isType("accordion-item")){e.stop();const n=this.app.create("utils"),a=this.app.create("insertion");o=n.getTextFromHtml(o),a.insertText(o)}e.set("html",o)},"editor.before.unparse":function(e){const t=this.app.create("utils");let o=e.get("html");o=t.wrap(o,function(e){e.find('[data-block="accordion"] [data-accordion-item]').removeAttr("data-title")}),e.set("html",o)}},defaults:{icon:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M6 5C5.73478 5 5.48043 5.10536 5.29289 5.29289C5.10536 5.48043 5 5.73478 5 6V14H19V6C19 5.73478 18.8946 5.48043 18.7071 5.29289C18.5196 5.10536 18.2652 5 18 5H6ZM21 6C21 5.20435 20.6839 4.44129 20.1213 3.87868C19.5587 3.31607 18.7956 3 18 3H6C5.20435 3 4.44129 3.31607 3.87868 3.87868C3.31607 4.44129 3 5.20435 3 6V18C3 18.7956 3.31607 19.5587 3.87868 20.1213C4.44129 20.6839 5.20435 21 6 21H18C18.7957 21 19.5587 20.6839 20.1213 20.1213C20.6839 19.5587 21 18.7957 21 18V6ZM19 16H5V18C5 18.2652 5.10536 18.5196 5.29289 18.7071C5.48043 18.8946 5.73478 19 6 19H18C18.2652 19 18.5196 18.8946 18.7071 18.7071C18.8946 18.5196 19 18.2652 19 18V16ZM9.29289 7.29289C9.68342 6.90237 10.3166 6.90237 10.7071 7.29289L12 8.58579L13.2929 7.29289C13.6834 6.90237 14.3166 6.90237 14.7071 7.29289C15.0976 7.68342 15.0976 8.31658 14.7071 8.70711L12.7071 10.7071C12.3166 11.0976 11.6834 11.0976 11.2929 10.7071L9.29289 8.70711C8.90237 8.31658 8.90237 7.68342 9.29289 7.29289Z"/></svg>'},start(){const e={title:"## accordion.accordion ##",icon:this.opts.get("accordion.icon"),command:"accordion.insert"};this.app.toolbar.add("mybutton",e),this.app.addbar.add("mybutton",e)},insert(e,t){this.app.dropdown.close();const o=this.app.create("block.accordion"),n=this.app.block.get();if(!n){const e=this.app.create("insertion");return e.insert({instance:o})}if(n.isType(["accordion","accordion-item"]))return this.addItem();n.insert({instance:o,position:!1,caret:"start"})},setParent(){const e=this.app.block.get();this.app.block.set(e.getParent())},addItem(){this.app.dropdown.close();const e=this.app.block.get(),t=this.app.create("block.accordion-item");let o;if(e.isType("accordion"))o="append";else{if(!e.isType("accordion-item"))return;o="after"}e.insert({position:o,instance:t,caret:"start"}),e.isType("accordion-item")&&setTimeout(()=>{e.getClosest("accordion").initialize()},3)},toggleVisibility(){this.app.dropdown.close();const e=this.app.block.get().getBlock(),t=e.find("[data-accordion-content]");"none"===t.css("display")?(e.addClass("open"),t.css({display:""})):(e.removeClass("open"),t.css({display:"none"}))}});