@qarakash/blockwriteai 1.0.9 → 1.0.10

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.
@@ -0,0 +1 @@
1
+ !function(e){"use strict";var r=e.BlockWriteAI;if(r&&!r.__advancedBlocksInstalled){r.__advancedBlocksInstalled=!0;var t=r.helpers||{},a=t.el,i=t.escapeHTML||function(e){return String(null==e?"":e).replace(/[&<>"]/g,function(e){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"}[e]})},o=t.sanitizeHTML||function(e){return String(e||"")},n=t.renderOutputInline||o,d=t.faIcon||function(e,r){return'<i class="fa-solid fa-'+i(e)+'" aria-hidden="true"></i><span class="rbe-sr-only">'+i(r||e)+"</span>"},l=["#2563eb","#16a34a","#f59e0b","#dc2626","#7c3aed","#0891b2","#db2777","#65a30d"];r.registerTool("chart",{label:"Chart",hint:"Bar, line, or pie chart",icon:"chart-column",defaultData:{type:"bar",title:"Chart",caption:"",labels:"Q1,Q2,Q3,Q4",values:"12,19,7,14",color:"#2563eb",colors:"#2563eb,#16a34a,#f59e0b,#dc2626"},render:function(e,r){c();var t=this,n=a("div","rbe-plugin-card rbe-chart-block");function l(){var e,r,t,a,o,d=n.querySelector(".rbe-chart-type").value||"bar";Array.prototype.slice.call(n.querySelectorAll(".rbe-chart-type-btn")).forEach(function(e){e.classList.toggle("is-active",e.dataset.chartType===d)}),n.querySelector(".rbe-chart-series-color").hidden="pie"===d,n.querySelector(".rbe-chart-slice-colors").hidden="pie"!==d,"pie"===d&&(e=b(n.querySelector(".rbe-chart-labels").value),r=s(n.querySelector(".rbe-chart-values").value),t=Math.max(1,e.length,r.length),a=n.querySelector(".rbe-chart-colors"),o=h(a.value,t),n.querySelector(".rbe-chart-slice-list").innerHTML=o.map(function(r,t){return'<label class="rbe-chart-slice-chip"><span>'+i(e[t]||"Q"+(t+1))+'</span><input type="color" value="'+i(r)+'" data-slice-index="'+t+'"></label>'}).join(""),a.value=o.join(","))}n.innerHTML='<input class="rbe-chart-type" type="hidden"><div class="rbe-plugin-toolbar"><input class="rbe-chart-title" placeholder="Chart title"><label class="rbe-chart-series-color">Color <input class="rbe-chart-color" type="color"></label><div class="rbe-chart-slice-colors" hidden><span class="rbe-chart-slice-label">Slice colors</span><div class="rbe-chart-slice-list"></div><input class="rbe-chart-colors" type="hidden"></div></div><div class="rbe-plugin-toolbar"><input class="rbe-chart-labels" placeholder="Labels: Q1,Q2,Q3"><input class="rbe-chart-values" placeholder="Values: 10,20,30"></div><div class="rbe-chart-preview-wrap"><div class="rbe-chart-type-bar" role="toolbar" aria-label="Chart type"><button type="button" class="rbe-chart-type-btn" data-chart-type="bar" title="Bar chart">'+d("chart-column","Bar chart")+'</button><button type="button" class="rbe-chart-type-btn" data-chart-type="line" title="Line chart">'+d("chart-line","Line chart")+'</button><button type="button" class="rbe-chart-type-btn" data-chart-type="pie" title="Pie chart">'+d("chart-pie","Pie chart")+'</button></div><div class="rbe-plugin-preview rbe-chart-preview"></div></div><div class="rbe-chart-caption rbe-editable" contenteditable="'+!t.readOnly+'" data-placeholder="Chart caption"></div>',e.appendChild(n),n.querySelector(".rbe-chart-type").value="line"===r.type||"pie"===r.type?r.type:"bar",n.querySelector(".rbe-chart-title").value=r.title||"",n.querySelector(".rbe-chart-caption").innerHTML=o(r.caption||""),n.querySelector(".rbe-chart-caption").style.textAlign=S(r.captionAlignment||"center"),n.querySelector(".rbe-chart-color").value=r.color||"#2563eb",n.querySelector(".rbe-chart-colors").value=r.colors||"#2563eb,#16a34a,#f59e0b,#dc2626",n.querySelector(".rbe-chart-labels").value=r.labels||"",n.querySelector(".rbe-chart-values").value=r.values||"";var m=function(){l(),n.querySelector(".rbe-chart-preview").innerHTML=f({type:n.querySelector(".rbe-chart-type").value,title:n.querySelector(".rbe-chart-title").value,color:n.querySelector(".rbe-chart-color").value,colors:n.querySelector(".rbe-chart-colors").value,labels:n.querySelector(".rbe-chart-labels").value,values:n.querySelector(".rbe-chart-values").value})};n.addEventListener("click",function(e){var r=e.target.closest(".rbe-chart-type-btn");r&&(e.preventDefault(),n.querySelector(".rbe-chart-type").value=r.dataset.chartType||"bar",m(),t.changed(!0))}),n.addEventListener("input",function(e){if(e.target.closest(".rbe-chart-slice-chip input")){var r=Array.prototype.slice.call(n.querySelectorAll(".rbe-chart-slice-chip input"));n.querySelector(".rbe-chart-colors").value=r.map(function(e){return e.value}).join(",")}}),k(t,n,m),m()},serialize:function(e){var r=e.querySelector(".rbe-chart-caption");return{type:(e.querySelector(".rbe-chart-type")||{}).value||"bar",title:(e.querySelector(".rbe-chart-title")||{}).value||"",caption:r?o(r.innerHTML||""):"",captionAlignment:S(r&&r.style?r.style.textAlign:"center"),color:(e.querySelector(".rbe-chart-color")||{}).value||"#2563eb",colors:(e.querySelector(".rbe-chart-colors")||{}).value||"",labels:(e.querySelector(".rbe-chart-labels")||{}).value||"",values:(e.querySelector(".rbe-chart-values")||{}).value||""}},toHTML:function(e){var r=S(e.captionAlignment||"center");return'<figure class="rbe-output-chart">'+(e.title?'<figcaption class="rbe-output-chart-title">'+i(e.title)+"</figcaption>":"")+f(e)+(e.caption?'<figcaption class="rbe-output-chart-caption" style="text-align:'+r+'">'+n(e.caption)+"</figcaption>":"")+"</figure>"},toMarkdown:function(e){return"Chart: "+(e.title||"")+(e.caption?"\n"+(r=e.caption,(t=document.createElement("template")).innerHTML=o(r||""),t.content.textContent||""):"")+"\nLabels: "+(e.labels||"")+"\nValues: "+(e.values||"");var r,t}}),r.registerTool("latex",{label:"LaTeX",hint:"Math formula block",icon:"square-root-variable",defaultData:{code:"\\\\int_a^b f(x) \\, dx",display:!0},render:function(e,r){c();var t=a("div","rbe-plugin-card rbe-latex-block");t.innerHTML='<textarea class="rbe-latex-code" spellcheck="false"></textarea><div class="rbe-plugin-preview rbe-latex-preview"></div>',e.appendChild(t),t.querySelector(".rbe-latex-code").value=r.code||"";var i=function(){y(t.querySelector(".rbe-latex-preview"),t.querySelector(".rbe-latex-code").value,!0)};k(this,t,i),i()},serialize:function(e){return{code:(e.querySelector(".rbe-latex-code")||{}).value||"",display:!0}},toHTML:function(e){var r=e.code||"";return'<div class="rbe-output-latex" data-display="true" data-latex="'+i(r)+'">'+v(r)+"</div>"},toMarkdown:function(e){return"$$"+(e.code||"")+"$$"}}),r.registerTool("audio",{label:"Audio",hint:"Upload or link audio",icon:"volume-high",defaultData:{url:"",title:""},render:function(e,r){c();var t=this,o=a("div","rbe-plugin-card rbe-audio-block");o.innerHTML='<input class="rbe-audio-title" type="hidden"><input class="rbe-audio-url" type="hidden"><label class="rbe-upload-dropzone rbe-audio-dropzone"><input class="rbe-audio-file rbe-upload-input" type="file" accept="audio/*" '+(t.readOnly?"disabled":"")+'><span class="rbe-upload-icon">'+d("cloud-arrow-up","Upload audio")+'</span><strong>Drag and drop or click here</strong><span class="rbe-upload-main">to upload audio</span><small>MP3, WAV, OGG, M4A, AAC, and audio files only</small></label><div class="rbe-audio-preview"></div>',e.appendChild(o),o.querySelector(".rbe-audio-title").value=r.title||"",o.querySelector(".rbe-audio-url").value=r.url||"";var n=function(){var e=o.querySelector(".rbe-audio-url").value,r=o.querySelector(".rbe-audio-title").value||"Audio";o.querySelector(".rbe-audio-preview").innerHTML=e?'<div class="rbe-audio-card"><strong>'+i(r)+'</strong><audio controls src="'+i(e)+'"></audio><small>Drop or click above to replace audio</small></div>':""};function l(e){!e||!/^audio\//.test(e.type||"")&&!/\.(mp3|wav|ogg|m4a|aac|flac|webm)$/i.test(e.name||"")?o.querySelector(".rbe-audio-preview").innerHTML='<div class="rbe-audio-error">Please upload an audio file.</div>':t.uploadFile(e,"file").then(function(r){o.querySelector(".rbe-audio-url").value=r.url||"",o.querySelector(".rbe-audio-title").value=r.name||e.name||"Audio",n(),t.changed(!0)}).catch(function(e){o.querySelector(".rbe-audio-preview").innerHTML='<div class="rbe-audio-error">'+i(e&&e.message?e.message:"Audio upload failed")+"</div>"})}o.querySelector(".rbe-audio-file").addEventListener("change",function(e){l(e.target.files&&e.target.files[0])}),o.querySelector(".rbe-audio-dropzone").addEventListener("dragover",function(e){e.preventDefault()}),o.querySelector(".rbe-audio-dropzone").addEventListener("drop",function(e){e.preventDefault(),l(e.dataTransfer&&e.dataTransfer.files&&e.dataTransfer.files[0])}),k(t,o,n),n()},serialize:function(e){return{title:(e.querySelector(".rbe-audio-title")||{}).value||"",url:(e.querySelector(".rbe-audio-url")||{}).value||""}},toHTML:function(e){return'<figure class="rbe-output-audio">'+(e.url?'<audio controls src="'+i(e.url)+'"></audio>':"")+"</figure>"},toMarkdown:function(e){return"["+(e.title||"Audio")+"]("+(e.url||"#")+")"}}),r.registerTool("columns",{label:"Columns",hint:"Multi-column layout",icon:"table-columns",defaultData:{count:2,headers:["Column 1","Column 2"],columns:["",""]},render:function(e,r){c();var t=this,i=Math.min(8,Math.max(2,Number(r.count||2))),n=Array.isArray(r.headers)?r.headers:[],d=Array.isArray(r.columns)?r.columns:[],l=Array.isArray(r.headerAlignments)?r.headerAlignments:[],m=Array.isArray(r.columnAlignments)?r.columnAlignments:[],p=a("div","rbe-plugin-card rbe-columns-block");p.innerHTML='<div class="rbe-plugin-toolbar"><label>Columns <select class="rbe-columns-count"></select></label></div><div class="rbe-columns-grid"></div>',e.appendChild(p);for(var s=p.querySelector(".rbe-columns-count"),b=p.querySelector(".rbe-columns-grid"),u=2;u<=8;u+=1)s.appendChild(a("option","",{value:String(u),text:String(u)}));function h(e){return"center"===(e=String(e||"").toLowerCase())||"right"===e?e:"left"}function g(){var e=Number(s.value||2),r=Array.prototype.slice.call(b.querySelectorAll(".rbe-column-header")).map(function(e){return e.innerHTML}),i=Array.prototype.slice.call(b.querySelectorAll(".rbe-column-editor")).map(function(e){return e.innerHTML}),p=Array.prototype.slice.call(b.querySelectorAll(".rbe-column-header")).map(function(e){return h(e.style.textAlign)}),c=Array.prototype.slice.call(b.querySelectorAll(".rbe-column-editor")).map(function(e){return h(e.style.textAlign)});b.innerHTML="",b.style.gridTemplateColumns="repeat("+e+", minmax(220px, 1fr))";for(var u=0;u<e;u+=1){var g=a("div","rbe-column-field"),f=a("div","rbe-column-header rbe-editable",{contentEditable:!t.readOnly,html:o(r[u]||n[u]||"Column "+(u+1)),dataset:{placeholder:"Column "+(u+1)+" header"}});f.style.textAlign=h(p[u]||l[u]),g.appendChild(f);var x=a("div","rbe-column-editor rbe-editable",{contentEditable:!t.readOnly,html:o(i[u]||d[u]||""),dataset:{placeholder:"Column "+(u+1)}});x.style.textAlign=h(c[u]||m[u]),g.appendChild(x),b.appendChild(g)}}s.value=String(i),s.addEventListener("change",function(){g(),t.changed(!0)}),b.addEventListener("input",function(){t.changed()}),g()},serialize:function(e){function r(e){return"center"===(e=String(e||"").toLowerCase())||"right"===e?e:"left"}return{count:Number((e.querySelector(".rbe-columns-count")||{}).value||2),headers:Array.prototype.slice.call(e.querySelectorAll(".rbe-column-header")).map(function(e){return o(e.innerHTML||"")}),columns:Array.prototype.slice.call(e.querySelectorAll(".rbe-column-editor")).map(function(e){return o(e.innerHTML||"")}),headerAlignments:Array.prototype.slice.call(e.querySelectorAll(".rbe-column-header")).map(function(e){return r(e.style.textAlign)}),columnAlignments:Array.prototype.slice.call(e.querySelectorAll(".rbe-column-editor")).map(function(e){return r(e.style.textAlign)})}},toHTML:function(e){function r(e){return"center"===(e=String(e||"").toLowerCase())||"right"===e?e:"left"}for(var t=Math.min(8,Math.max(2,Number(e.count||2))),a=Array.isArray(e.headers)?e.headers:[],i=Array.isArray(e.columns)?e.columns.slice(0,t):[],o=Array.isArray(e.headerAlignments)?e.headerAlignments:[],d=Array.isArray(e.columnAlignments)?e.columnAlignments:[];i.length<t;)i.push("");return'<div class="rbe-output-columns" style="--rbe-columns:'+t+'">'+i.map(function(e,t){var i=a[t]||"Column "+(t+1),l=r(o[t]),m=r(d[t]);return'<div class="rbe-output-column"><div class="rbe-output-column-header" style="text-align:'+l+'">'+n(i)+'</div><div class="rbe-output-column-body" style="text-align:'+m+'">'+n(e||"")+"</div></div>"}).join("")+"</div>"},toMarkdown:function(e,r){return(e.columns||[]).map(function(t,a){return((Array.isArray(e.headers)?e.headers:[])[a]||"Column "+(a+1))+"\n"+(r.text?r.text(t):t)}).join("\n\n")}});var m=r.prototype.renderImage;r.prototype.renderImage=function(e,r){m.call(this,e,r||{}),function(e,r,t){var a=Array.isArray(t&&t.items)?t.items:t&&t.url?[t]:[];Array.prototype.slice.call(r.querySelectorAll(".rbe-image-stage")).forEach(function(r,t){var i=a[t]||{};if(r.dataset.rotation=i.rotation||r.dataset.rotation||"0",r.dataset.crop="custom"===i.crop?"custom":r.dataset.crop||"free",A(r,e),r.querySelector(".rbe-media-gear-menu")&&!r.querySelector(":scope > .rbe-image-transform-panel")){var o=document.createElement("div");o.className="rbe-image-transform-panel",o.innerHTML='<button type="button" class="rbe-media-action rbe-image-transform" data-transform="rotate-left" title="Rotate left">'+d("rotate-left","Rotate left")+'</button><button type="button" class="rbe-media-action rbe-image-transform" data-transform="rotate-right" title="Rotate right">'+d("rotate-right","Rotate right")+"</button>",r.appendChild(o)}})}(this,e,r||{})};var p=r.prototype.serializeBlock;r.prototype.serializeBlock=function(e){var r=p.call(this,e);if(r&&"image"===r.type){var t=Array.prototype.slice.call(e.querySelectorAll(".rbe-image-stage"));r.data.items=(r.data.items||[]).map(function(e,r){var a=t[r];return a?(e.rotation=Number(a.dataset.rotation||0),e.crop="custom"===a.dataset.crop?"custom":"free",e):e})}return r},document.addEventListener("click",function(e){var r=e.target.closest(".rbe-image-transform");if(r){var t=r.closest(".rbe-image-stage"),a=r.closest(".rbe-block");if(t&&a){e.preventDefault();var i=r.dataset.transform||"";"rotate-left"===i&&(t.dataset.rotation=String((Number(t.dataset.rotation||0)-90)%360)),"rotate-right"===i&&(t.dataset.rotation=String((Number(t.dataset.rotation||0)+90)%360));var o=a.closest(".rbe");o&&o.__blockwriteaiInstance?(A(t,o.__blockwriteaiInstance),o.__blockwriteaiInstance.updateMediaActionAvailability(t.closest(".rbe-image-gallery")||a),o.__blockwriteaiInstance.changed(!0)):A(t)}}}),c(),function(){var e=function(){w(document)};if("loading"===document.readyState?document.addEventListener("DOMContentLoaded",e,{once:!0}):setTimeout(e,0),document.body){var r=0;new MutationObserver(function(){clearTimeout(r),r=setTimeout(e,60)}).observe(document.body,{childList:!0,subtree:!0})}}()}function c(){if(!document.querySelector("style[data-blockwriteai-advanced-blocks]")){var e=document.createElement("style");e.dataset.blockwriteaiAdvancedBlocks="true",e.textContent=".rbe-plugin-card{border:1px solid var(--rbe-border,#d7dee8);border-radius:8px;background:#fff;padding:12px;display:grid;gap:12px;}.rbe-plugin-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}.rbe-plugin-toolbar label{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:750;color:#667085;}.rbe-plugin-toolbar input,.rbe-plugin-toolbar select,.rbe-plugin-card textarea{border:1px solid var(--rbe-border,#d7dee8);border-radius:7px;background:#fff;color:#172033;font:14px/1.4 Arial,sans-serif;padding:8px 9px;}.rbe-plugin-toolbar input[type='color']{width:40px;min-width:40px;height:34px;padding:3px;}.rbe-plugin-card textarea{width:100%;min-height:150px;resize:vertical;font-family:Consolas,'Liberation Mono',monospace;}.rbe-plugin-preview{border:1px dashed #cbd5e1;border-radius:8px;background:#f8fbff;min-height:120px;padding:12px;overflow:auto;}.rbe-chart-block{position:relative;}.rbe-chart-preview-wrap{position:relative;}.rbe-chart-type-bar{position:absolute;left:50%;top:50%;z-index:4;display:flex;gap:6px;align-items:center;border:1px solid #cbd5e1;border-radius:999px;background:rgba(255,255,255,.96);padding:7px;box-shadow:0 16px 40px rgba(15,23,42,.16);opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.96);transition:opacity .16s ease,transform .16s ease;}.rbe-chart-preview-wrap:hover .rbe-chart-type-bar,.rbe-chart-type-bar:focus-within{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1);}.rbe-chart-type-btn{width:34px;height:34px;border:1px solid #d7dee8;border-radius:999px;background:#fff;color:#344054;display:inline-grid;place-items:center;cursor:pointer;}.rbe-chart-type-btn:hover,.rbe-chart-type-btn.is-active{border-color:#2563eb;background:#eaf1ff;color:#1d4ed8;}.rbe-chart-slice-colors{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}.rbe-chart-slice-colors[hidden],.rbe-chart-series-color[hidden]{display:none!important;}.rbe-chart-slice-label{font-size:12px;font-weight:800;color:#667085;}.rbe-chart-slice-list{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}.rbe-chart-slice-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid #d7dee8;border-radius:999px;background:#fff;padding:3px 6px;font-size:11px;font-weight:750;color:#475467;}.rbe-chart-slice-chip input{width:28px!important;min-width:28px!important;height:24px!important;padding:2px!important;border-radius:999px;}.rbe-chart-preview svg,.rbe-output-chart svg{width:100%;height:auto;max-height:300px;}.rbe-output-chart,.rbe-output-mermaid,.rbe-output-latex,.rbe-output-audio,.rbe-output-drawing,.rbe-output-columns{margin:0 0 15px;}.rbe-output-chart{border:1px solid #d7dee8;border-radius:8px;padding:12px;background:#fff;}.rbe-output-chart-title{display:block;margin-bottom:8px;font-weight:760;}.rbe-chart-caption{width:min(560px,100%);min-height:42px;margin:0 auto;border:1px solid var(--rbe-border,#d7dee8);border-radius:8px;background:#fff;padding:10px 12px;text-align:center;outline:none;}.rbe-chart-caption:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12);}.rbe-chart-caption:empty:before{content:attr(data-placeholder);color:#98a2b3;}.rbe-output-chart-caption{display:block;margin:10px auto 0;color:#475467;font-size:13px;font-weight:650;}.rbe-latex-preview,.rbe-output-latex{font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:1.6;text-align:center;font-style:italic;}.rbe-output-latex{display:block;width:100%;}.rbe-latex-frac{display:inline-grid;grid-template-rows:auto auto;vertical-align:middle;text-align:center;line-height:1.1;}.rbe-latex-frac span:first-child{border-bottom:1px solid currentColor;padding:0 2px;}.rbe-output-align-left{text-align:left;}.rbe-output-align-center{text-align:center;}.rbe-output-align-right{text-align:right;}.rbe-output-align-center>.rbe-output-mermaid-diagram,.rbe-output-align-center>.rbe-output-mermaid,.rbe-output-align-center>svg{margin-left:auto;margin-right:auto;}.rbe-output-align-right>.rbe-output-mermaid-diagram,.rbe-output-align-right>.rbe-output-mermaid,.rbe-output-align-right>svg{margin-left:auto;margin-right:0;}.rbe-mermaid-block{gap:10px;}.rbe-mermaid-card{position:relative;min-height:220px;display:grid;gap:10px;align-items:stretch;border:1px solid #d7dee8;border-radius:10px;background:#fbfdff;padding:14px;}.rbe-mermaid-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}.rbe-mermaid-card-title{font-weight:820;color:#172033;font-size:14px;}.rbe-mermaid-card-preview{min-height:160px;display:grid;place-items:center;border:1px dashed #cbd5e1;border-radius:9px;background:#fff;padding:12px;overflow:auto;}.rbe-mermaid-card-preview .rbe-output-mermaid-diagram{max-width:100%;width:100%;}.rbe-mermaid-card-empty{color:#667085;font-weight:750;font-size:13px;}.rbe-mermaid-edit-btn{position:absolute;right:12px;top:12px;width:34px;height:34px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#172033;display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 28px rgba(15,23,42,.12);}.rbe-mermaid-edit-btn:hover,.rbe-mermaid-edit-btn:focus-visible{border-color:#2563eb;color:#1d4ed8;background:#eaf1ff;}.rbe-mermaid-modal-open{overflow:hidden!important;}.rbe-mermaid-modal{position:fixed;inset:0;z-index:10000;background:rgba(15,23,42,.46);display:grid;place-items:stretch;padding:22px;}.rbe-mermaid-dialog{display:grid;grid-template-rows:auto 1fr auto;min-height:0;border-radius:14px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.32);overflow:hidden;}.rbe-mermaid-modal-head,.rbe-mermaid-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #e2e8f0;}.rbe-mermaid-modal-foot{border-top:1px solid #e2e8f0;border-bottom:0;justify-content:flex-end;}.rbe-mermaid-modal-title{margin:0;font-size:17px;font-weight:820;color:#172033;}.rbe-mermaid-close{width:34px;height:34px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;display:grid;place-items:center;cursor:pointer;}.rbe-mermaid-modal-save,.rbe-mermaid-modal-cancel{border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#172033;font-weight:800;padding:9px 14px;cursor:pointer;}.rbe-mermaid-modal-save{border-color:#2563eb;background:#2563eb;color:#fff;}.rbe-mermaid-modal-body{min-height:0;overflow:hidden;padding:0;background:#f8fafc;}.rbe-mermaid-modal .rbe-mermaid-block{height:100%;border:0;border-radius:0;background:transparent;padding:0;display:grid;grid-template-rows:auto 1fr;gap:0;}.rbe-mermaid-toolbar{display:flex;flex-wrap:wrap;gap:7px;align-items:center;padding:8px;border:1px solid #d7dee8;border-radius:12px;background:#eef4fb;}.rbe-mermaid-modal .rbe-mermaid-toolbar{position:relative;z-index:5;border-width:0 0 1px;border-radius:0;background:#edf2f8;padding:9px 14px;}.rbe-mermaid-tool,.rbe-mermaid-icon-btn{width:34px;height:34px;border:1px solid transparent;border-radius:8px;background:transparent;color:#344054;display:inline-grid;place-items:center;cursor:pointer;}.rbe-mermaid-icon-btn{border-color:#d7dee8;background:#fff;}.rbe-mermaid-tool:hover,.rbe-mermaid-tool.is-active,.rbe-mermaid-icon-btn:hover,.rbe-mermaid-icon-btn.is-active{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8;}.rbe-mermaid-tool:disabled,.rbe-mermaid-icon-btn:disabled{opacity:.45;cursor:not-allowed;}.rbe-mermaid-menu{position:relative;}.rbe-mermaid-menu-btn{width:34px;height:34px;border:1px solid transparent;border-radius:8px;background:transparent;color:#344054;display:inline-grid;place-items:center;cursor:pointer;}.rbe-mermaid-menu-btn:hover,.rbe-mermaid-menu:focus-within>.rbe-mermaid-menu-btn{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8;}.rbe-mermaid-popover{position:absolute;left:0;top:calc(100% + 6px);z-index:12;display:none;min-width:166px;border:1px solid #d7dee8;border-radius:8px;background:#fff;box-shadow:0 16px 34px rgba(15,23,42,.18);padding:6px;}.rbe-mermaid-menu:focus-within>.rbe-mermaid-popover,.rbe-mermaid-menu:hover>.rbe-mermaid-popover{display:block;}.rbe-mermaid-menu-row{position:relative;display:flex;align-items:center;gap:10px;min-height:34px;padding:7px 8px;border-radius:6px;font-size:14px;color:#344054;white-space:nowrap;}.rbe-mermaid-menu-row:hover{background:#eef2f7;}.rbe-mermaid-menu-row:after{content:'›';margin-left:auto;color:#667085;}.rbe-mermaid-submenu{position:absolute;left:100%;top:-7px;display:none;min-width:270px;border:1px solid #d7dee8;border-radius:8px;background:#fff;box-shadow:0 16px 34px rgba(15,23,42,.18);padding:8px;}.rbe-mermaid-menu-row:hover>.rbe-mermaid-submenu{display:block;}.rbe-mermaid-popover:not(:has(.rbe-mermaid-menu-row:hover)) .rbe-mermaid-menu-row:first-child>.rbe-mermaid-submenu{display:block;}.rbe-mermaid-menu-row-icon{width:18px;display:inline-grid;place-items:center;color:#344054;}.rbe-mermaid-choice-grid{display:grid;grid-template-columns:repeat(10,22px);gap:7px;align-items:center;}.rbe-mermaid-choice-grid:has(+ .rbe-mermaid-choice-grid){border-bottom:1px solid #e5e7eb;padding-bottom:8px;margin-bottom:8px;}.rbe-mermaid-choice{width:22px;height:22px;border:0;background:transparent;color:#111827;display:grid;place-items:center;cursor:pointer;font:18px/1 Arial,sans-serif;border-radius:4px;}.rbe-mermaid-choice:hover,.rbe-mermaid-choice.is-active{background:#dbeafe;color:#1d4ed8;}.rbe-mermaid-line-menu .rbe-mermaid-popover{min-width:210px;}.rbe-mermaid-line-menu .rbe-mermaid-menu-row:after{content:'';}.rbe-mermaid-line-choice{width:100%;border:0;border-radius:6px;background:transparent;color:#344054;display:flex;align-items:center;gap:10px;padding:8px;text-align:left;cursor:pointer;font:14px/1.2 Arial,sans-serif;}.rbe-mermaid-line-choice:hover{background:#eef2f7;color:#1d4ed8;}.rbe-mermaid-menu-select,.rbe-mermaid-action-select,.rbe-mermaid-stylebar select,.rbe-mermaid-workspace input{border:1px solid #d7dee8;border-radius:8px;background:#fff;color:#172033;font:13px/1.2 Arial,sans-serif;padding:7px 9px;max-width:156px;}.rbe-mermaid-workspace input{width:72px;}.rbe-mermaid-stylebar,.rbe-mermaid-workspace{display:flex;flex-wrap:wrap;gap:7px;align-items:center;border:1px solid #d7dee8;border-radius:10px;background:#fbfdff;padding:6px;}.rbe-mermaid-stylebar[hidden]{display:none!important;}.rbe-mermaid-stylebar label,.rbe-mermaid-workspace label{display:inline-flex;gap:6px;align-items:center;font-size:12px;font-weight:800;color:#667085;}.rbe-mermaid-stylebar label{height:32px;border:1px solid #d7dee8;border-radius:8px;background:#fff;padding:3px 6px;color:#344054;}.rbe-mermaid-stylebar label:hover{border-color:#93c5fd;background:#eef6ff;color:#1d4ed8;}.rbe-mermaid-stylebar .rbe-mermaid-icon-control,.rbe-mermaid-stylebar .rbe-mermaid-style-btn{position:relative;width:34px;height:32px;box-sizing:border-box;border:1px solid transparent;border-radius:8px;background:#fff;color:#344054;display:inline-grid;place-items:center;padding:0;cursor:pointer;}.rbe-mermaid-stylebar .rbe-mermaid-icon-control:hover,.rbe-mermaid-stylebar .rbe-mermaid-style-btn:hover,.rbe-mermaid-stylebar .rbe-mermaid-style-btn.is-active{border-color:#93c5fd;background:#dbeafe;color:#1d4ed8;}.rbe-mermaid-stylebar .rbe-mermaid-icon-control input,.rbe-mermaid-stylebar .rbe-mermaid-icon-control select{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer;}.rbe-mermaid-control-swatch{position:absolute;left:7px;right:7px;bottom:3px;height:3px;border-radius:999px;background:#2563eb;pointer-events:none;}.rbe-mermaid-fill-swatch{background:var(--rbe-mermaid-fill,#eef5ff);}.rbe-mermaid-stroke-swatch{background:var(--rbe-mermaid-stroke,#111827);}.rbe-mermaid-text-swatch{background:var(--rbe-mermaid-text,#172033);}.rbe-mermaid-highlight-swatch{background:var(--rbe-mermaid-highlight,transparent);}.rbe-mermaid-stylebar.is-line-selection .rbe-mermaid-fill-control,.rbe-mermaid-stylebar.is-line-selection .rbe-mermaid-text-control{display:none;}.rbe-mermaid-stylebar:not(.is-text-capable) .rbe-mermaid-text-control{display:none;}.rbe-mermaid-stylebar .rbe-mermaid-hidden-control{display:none!important;}.rbe-mermaid-hint{font-size:12px;font-weight:700;color:#667085;}.rbe-mermaid-stylebar input[type='color']{width:28px;height:24px;padding:1px;border:1px solid #d7dee8;border-radius:6px;background:#fff;}.rbe-mermaid-stylebar input[type='range']{width:90px;}.rbe-mermaid-stylebar select{height:24px;max-width:86px;padding:2px 5px;font-size:12px;}.rbe-mermaid-stylebar .rbe-mermaid-icon-control.is-active{border-color:#93c5fd;background:#dbeafe;color:#1d4ed8;}.rbe-mermaid-toolbar-sep{width:1px;height:24px;background:#cbd5e1;margin:0 2px;}.rbe-mermaid-stage-shell{display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:26px minmax(0,1fr);min-height:0;height:100%;background:#fff;}.rbe-mermaid-ruler-corner{grid-column:1;grid-row:1;border-right:1px solid #cbd5e1;border-bottom:1px solid #cbd5e1;background:#f8fafc;}.rbe-mermaid-top-ruler{grid-column:2;grid-row:1;position:relative;border-bottom:1px solid #cbd5e1;background:#f8fafc;background-image:repeating-linear-gradient(90deg,#cbd5e1 0,#cbd5e1 1px,transparent 1px,transparent 10px),repeating-linear-gradient(90deg,#94a3b8 0,#94a3b8 1px,transparent 1px,transparent 100px);}.rbe-mermaid-side-ruler{grid-column:1;grid-row:2;position:relative;border-right:1px solid #cbd5e1;background:#f8fafc;background-image:repeating-linear-gradient(0deg,#cbd5e1 0,#cbd5e1 1px,transparent 1px,transparent 10px),repeating-linear-gradient(0deg,#94a3b8 0,#94a3b8 1px,transparent 1px,transparent 100px);}.rbe-mermaid-top-ruler span,.rbe-mermaid-side-ruler span{position:absolute;color:#475467;font:11px/1 Arial,sans-serif;user-select:none;}.rbe-mermaid-top-ruler span{top:5px;transform:translateX(-50%);}.rbe-mermaid-side-ruler span{left:8px;transform:translateY(-50%) rotate(-90deg);transform-origin:center;}.rbe-mermaid-stage{position:relative;border:1px solid #d7dee8;border-radius:8px;background-color:#fff;background-image:linear-gradient(45deg,#f8fafc 25%,transparent 25%),linear-gradient(-45deg,#f8fafc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f8fafc 75%),linear-gradient(-45deg,transparent 75%,#f8fafc 75%);background-position:0 0,0 12px,12px -12px,-12px 0;background-size:24px 24px;overflow:auto;resize:vertical;min-height:320px;max-height:560px;}.rbe-mermaid-modal .rbe-mermaid-stage{grid-column:2;grid-row:2;height:100%;min-height:0;max-height:none;border:0;border-radius:0;resize:none;}.rbe-mermaid-canvas{display:block;width:auto;height:auto;min-width:100%;touch-action:none;cursor:crosshair;background:rgba(255,255,255,.72);}.rbe-mermaid-canvas [data-el-id]{cursor:move;}.rbe-mermaid-canvas .is-selected{outline:none;filter:drop-shadow(0 0 0 #2563eb);}.rbe-mermaid-selected-stroke{stroke:#2563eb!important;stroke-width:2!important;fill:none!important;pointer-events:none;}.rbe-mermaid-handle{fill:#fff;stroke:#2563eb;stroke-width:2;cursor:nwse-resize;transition:fill .12s ease;}.rbe-mermaid-handle:hover{fill:var(--rbe-handle-color,#2563eb);}.rbe-mermaid-handle[data-handle='ne'],.rbe-mermaid-handle[data-handle='sw']{cursor:nesw-resize;}.rbe-mermaid-handle[data-handle='n'],.rbe-mermaid-handle[data-handle='s']{cursor:ns-resize;}.rbe-mermaid-handle[data-handle='e'],.rbe-mermaid-handle[data-handle='w']{cursor:ew-resize;}.rbe-mermaid-rotate{cursor:grab;}.rbe-mermaid-rotate circle{fill:#2563eb;stroke:#fff;stroke-width:2;}.rbe-mermaid-rotate text{fill:#fff;stroke:none;font:800 12px/1 Arial,sans-serif;pointer-events:none;}.rbe-mermaid-rotate-icon{pointer-events:none;}.rbe-mermaid-marquee{fill:rgba(37,99,235,.09);stroke:#2563eb;stroke-width:1.5;stroke-dasharray:6 4;pointer-events:none;}.rbe-mermaid-arrow-origin{fill:#fff;stroke:#2563eb;stroke-width:2;pointer-events:none;}.rbe-mermaid-hidden-text{visibility:hidden!important;}.rbe-mermaid-text-editor{position:absolute;z-index:20;box-sizing:border-box;border:0;border-radius:0;background:transparent;outline:none;overflow:hidden;resize:none;color:#172033;box-shadow:none;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;caret-color:#0f172a;font-weight:400;}.rbe-mermaid-text-editor::placeholder{color:#667085;opacity:.62;}.rbe-mermaid-options{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border:1px solid #d7dee8;border-radius:8px;background:#fff;padding:8px;}.rbe-mermaid-options[hidden]{display:none;}.rbe-mermaid-options input,.rbe-mermaid-options select{border:1px solid #d7dee8;border-radius:7px;padding:7px 8px;}.rbe-mermaid-source{margin-top:0;}.rbe-mermaid-source summary{cursor:pointer;font-weight:750;color:#475467;}.rbe-output-mermaid-diagram{display:block;max-width:100%;max-height:560px;overflow:auto;border:1px solid #d7dee8;border-radius:8px;background:#fff;}.rbe-output-mermaid-diagram svg{display:block;width:auto;max-width:none;height:auto;min-width:100%;border:0;border-radius:0;background:#fff;}.rbe-output-mermaid-error{display:inline-block;border:1px solid #fecaca;border-radius:8px;background:#fff1f2;color:#991b1b;padding:10px 12px;font:13px/1.45 Consolas,'Liberation Mono',monospace;white-space:pre-wrap;}.rbe-audio-dropzone{min-height:170px;}.rbe-audio-error{border:1px solid #fecaca;border-radius:8px;background:#fff1f2;color:#991b1b;padding:8px 10px;font-size:13px;font-weight:700;}.rbe-audio-card{display:grid;gap:10px;justify-items:center;text-align:center;}.rbe-audio-card audio,.rbe-output-audio audio{width:min(560px,100%);}.rbe-output-audio{display:grid;justify-items:center;text-align:center;}.rbe-output-audio figcaption{font-weight:760;margin-bottom:8px;}.rbe-drawing-text-input{min-width:220px;flex:1 1 260px;}.rbe-drawing-text-apply{min-width:38px;}.rbe-drawing-shell{display:grid;gap:10px;}.rbe-drawing-canvas{width:100%;height:260px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;touch-action:none;}.rbe-output-drawing img{max-width:100%;border:1px solid #d7dee8;border-radius:8px;background:#fff;}.rbe-columns-block{overflow-x:auto;}.rbe-columns-grid,.rbe-output-columns{display:grid;gap:12px;}.rbe-column-field{display:grid;gap:8px;}.rbe-column-header{min-height:38px;border:1px solid #d7dee8;border-radius:8px;padding:9px 10px;font-weight:760;background:#eef5ff!important;outline:none;}.rbe-column-header:focus,.rbe-column-editor:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12);}.rbe-column-header:empty:before{content:attr(data-placeholder);color:#98a2b3;font-weight:650;}.rbe-column-editor{min-height:120px;border:1px solid #d7dee8;border-radius:8px;padding:10px;background:#fbfdff;outline:none;}.rbe-column-editor:empty:before{content:attr(data-placeholder);color:#98a2b3;}.rbe-output-columns{grid-template-columns:repeat(var(--rbe-columns,2),minmax(180px,1fr));overflow-x:auto;}.rbe-output-column{border:1px solid #e2e8f0;border-radius:8px;padding:12px;background:#fff;}.rbe-output-column-header{margin:-12px -12px 10px;padding:10px 12px;border-bottom:1px solid #e2e8f0;border-radius:8px 8px 0 0;background:#eef5ff;font-weight:760;text-align:left;}.rbe-output-column-body{min-width:0;}.rbe-image-stage.is-media-menu-open{min-width:176px;}.rbe-image-transform-panel{position:absolute;left:50%;top:10px;z-index:4;transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,30px);gap:5px;align-items:center;justify-content:center;max-width:calc(100% - 16px);opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;}.rbe-image-stage.is-media-menu-open>.rbe-image-transform-panel{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}.rbe-image-transform-panel .rbe-media-action{position:static;left:auto;top:auto;width:30px;height:30px;opacity:1;pointer-events:auto;transform:none;box-shadow:0 8px 18px rgba(15,23,42,.14);}.rbe-image-transform.is-active{background:#2563eb;color:#fff;}@media (max-width:900px){.rbe-plugin-toolbar input,.rbe-plugin-toolbar select,.rbe-plugin-card textarea{min-width:0;max-width:100%;}.rbe-chart-preview svg,.rbe-output-chart svg{max-height:260px;}.rbe-mermaid-modal{padding:10px;}.rbe-mermaid-dialog{border-radius:10px;}.rbe-mermaid-modal .rbe-mermaid-toolbar{overflow-x:auto;align-content:flex-start;}.rbe-mermaid-popover{max-width:calc(100vw - 28px);max-height:62dvh;overflow:auto;}.rbe-mermaid-submenu{max-width:calc(100vw - 44px);max-height:58dvh;overflow:auto;}.rbe-output-mermaid-diagram{max-height:60dvh;}.rbe-columns-grid{grid-template-columns:1fr!important;}.rbe-output-columns{grid-template-columns:1fr!important;}}@media (max-width:640px){.rbe-plugin-card{padding:10px;gap:10px;}.rbe-plugin-toolbar{display:grid;grid-template-columns:1fr;align-items:stretch;}.rbe-plugin-toolbar label{width:100%;justify-content:space-between;}.rbe-plugin-toolbar input,.rbe-plugin-toolbar select{width:100%;}.rbe-chart-type-bar{top:auto;bottom:10px;transform:translate(-50%,0) scale(.96);}.rbe-chart-preview-wrap:hover .rbe-chart-type-bar,.rbe-chart-type-bar:focus-within{transform:translate(-50%,0) scale(1);}.rbe-chart-slice-chip{width:100%;justify-content:space-between;}.rbe-latex-preview,.rbe-output-latex{font-size:18px;}.rbe-mermaid-modal{padding:0;}.rbe-mermaid-dialog{border-radius:0;}.rbe-mermaid-modal-head,.rbe-mermaid-modal-foot{padding:10px 12px;}.rbe-mermaid-modal-foot{flex-wrap:wrap;}.rbe-mermaid-modal-save,.rbe-mermaid-modal-cancel{flex:1 1 140px;}.rbe-mermaid-modal .rbe-mermaid-toolbar{gap:5px;padding:7px 8px;}.rbe-mermaid-tool,.rbe-mermaid-icon-btn,.rbe-mermaid-menu-btn{width:32px;height:32px;}.rbe-mermaid-stage-shell{grid-template-columns:22px minmax(0,1fr);grid-template-rows:22px minmax(0,1fr);}.rbe-mermaid-choice-grid{grid-template-columns:repeat(6,22px);}.rbe-mermaid-submenu{left:0;top:calc(100% + 6px);}.rbe-mermaid-stage{min-height:280px;}.rbe-mermaid-card-preview{min-height:140px;padding:8px;}.rbe-audio-card audio,.rbe-output-audio audio{width:100%;}.rbe-drawing-canvas{height:220px;}.rbe-image-transform-panel{grid-template-columns:repeat(3,28px);gap:4px;}.rbe-image-transform-panel .rbe-media-action{width:28px;height:28px;}.rbe-image-stage.is-media-menu-open{min-width:min(176px,100%);}}@media (max-width:900px){.rbe-mermaid-card,.rbe-mermaid-card-preview{min-width:0;max-width:100%;}.rbe-mermaid-card-preview .rbe-output-mermaid-diagram{width:100%;max-width:100%;}.rbe-mermaid-modal{overflow:hidden;}.rbe-mermaid-dialog{width:100%;max-width:100%;height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);}.rbe-mermaid-stage-shell{width:100%;min-width:0;overflow:hidden;}.rbe-mermaid-modal .rbe-mermaid-stage{width:100%;min-width:0;overflow:auto;}.rbe-mermaid-modal .rbe-mermaid-block{min-width:0;}.rbe-mermaid-card-preview .rbe-output-mermaid-diagram svg{max-width:100%;}}@media (max-width:640px){.rbe-mermaid-card{padding:10px;min-height:180px;}.rbe-mermaid-card-preview{width:100%;max-width:100%;overflow:auto;}.rbe-mermaid-card-preview .rbe-output-mermaid-diagram{max-height:340px;overflow:hidden;}.rbe-mermaid-card-preview .rbe-output-mermaid-diagram svg{width:100%!important;min-width:0!important;max-width:100%;height:auto!important;}.rbe-mermaid-dialog{height:100dvh;max-height:100dvh;}.rbe-mermaid-modal-body{min-height:0;overflow:hidden;}.rbe-mermaid-modal .rbe-mermaid-toolbar{max-width:100%;overflow-x:auto;overflow-y:hidden;white-space:nowrap;}.rbe-mermaid-stage-shell{width:100%;min-width:0;overflow:hidden;}.rbe-mermaid-modal .rbe-mermaid-stage{width:100%;min-width:0;overflow:auto;}.rbe-mermaid-top-ruler{min-width:0;}.rbe-mermaid-canvas{min-width:100%;}.rbe-mermaid-toolbar-sep{display:none;}}.rbe-mermaid-modal .rbe-mermaid-dialog{min-width:0;}.rbe-mermaid-modal .rbe-mermaid-modal-body{display:grid;min-height:0;}.rbe-mermaid-modal .rbe-mermaid-block{min-width:0;min-height:0;overflow:hidden;}.rbe-mermaid-modal .rbe-mermaid-stage-shell{min-width:0;min-height:0;}.rbe-mermaid-modal .rbe-mermaid-stage{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}@media (max-width:900px){.rbe-mermaid-modal{height:100dvh;max-height:100dvh;padding:8px;overflow:hidden;}.rbe-mermaid-dialog{width:100%;height:100%;max-height:100%;}.rbe-mermaid-modal-body{overflow:hidden;}.rbe-mermaid-modal .rbe-mermaid-block{grid-template-rows:auto minmax(0,1fr);}.rbe-mermaid-modal .rbe-mermaid-toolbar{flex-wrap:nowrap;align-items:center;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;}.rbe-mermaid-modal .rbe-mermaid-toolbar::-webkit-scrollbar{height:6px;}.rbe-mermaid-modal .rbe-mermaid-toolbar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px;}.rbe-mermaid-modal .rbe-mermaid-stylebar{flex:0 0 auto;flex-wrap:nowrap;min-width:max-content;}.rbe-mermaid-modal .rbe-mermaid-popover{position:fixed;left:12px!important;right:12px;top:98px;width:auto;min-width:0;max-width:none;max-height:calc(100dvh - 180px);overflow:auto;}.rbe-mermaid-modal .rbe-mermaid-stage-shell{height:100%;}.rbe-mermaid-modal .rbe-mermaid-stage{height:100%;min-height:0;max-height:none;}.rbe-mermaid-modal .rbe-mermaid-canvas{max-width:none;max-height:none;}}@media (max-width:640px){.rbe-mermaid-modal{padding:0;}.rbe-mermaid-dialog{width:100vw;height:100dvh;max-height:100dvh;border-radius:0;}.rbe-mermaid-modal-head{min-height:46px;padding:7px 10px;}.rbe-mermaid-modal-foot{display:flex;justify-content:center;align-items:center;width:100%;max-width:100%;min-height:56px;padding:8px 10px;background:#fff;overflow:hidden;}.rbe-mermaid-modal-save,.rbe-mermaid-modal-cancel{flex:0 0 auto;width:auto;min-width:112px;min-height:40px;white-space:nowrap;font-size:13px;}.rbe-mermaid-modal .rbe-mermaid-toolbar{gap:5px;padding:7px 8px;}.rbe-mermaid-modal .rbe-mermaid-stage-shell{grid-template-columns:20px minmax(0,1fr);grid-template-rows:22px minmax(0,1fr);}.rbe-mermaid-modal .rbe-mermaid-top-ruler span,.rbe-mermaid-modal .rbe-mermaid-side-ruler span{font-size:10px;}.rbe-mermaid-modal .rbe-mermaid-side-ruler span{left:5px;}.rbe-mermaid-modal .rbe-mermaid-popover{left:8px!important;right:8px;top:86px;max-height:calc(100dvh - 154px);}.rbe-mermaid-modal .rbe-mermaid-submenu{max-width:calc(100vw - 28px);}}@media (max-width:520px){.rbe-mermaid-modal .rbe-mermaid-popover{padding:6px;}.rbe-mermaid-modal .rbe-mermaid-menu-row{position:static;flex-wrap:wrap;white-space:normal;}.rbe-mermaid-modal .rbe-mermaid-menu-row:after{content:'';}.rbe-mermaid-modal .rbe-mermaid-menu-row>.rbe-mermaid-submenu{position:static;flex:1 1 100%;min-width:0;max-width:100%;margin-top:6px;border-radius:7px;box-shadow:none;}.rbe-mermaid-modal .rbe-mermaid-choice-grid{grid-template-columns:repeat(auto-fill,minmax(22px,1fr));}.rbe-mermaid-modal .rbe-mermaid-line-choice{font-size:13px;padding:7px;}}@media (max-width:420px){.rbe-mermaid-modal-title{font-size:15px;}.rbe-mermaid-modal-head{padding:7px 9px;}.rbe-mermaid-choice-grid{grid-template-columns:repeat(auto-fill,minmax(22px,1fr));}.rbe-mermaid-popover{max-width:calc(100vw - 16px);}.rbe-mermaid-submenu{max-width:calc(100vw - 24px);}.rbe-mermaid-modal .rbe-mermaid-tool,.rbe-mermaid-modal .rbe-mermaid-icon-btn,.rbe-mermaid-modal .rbe-mermaid-menu-btn{width:31px;height:31px;}.rbe-mermaid-modal .rbe-mermaid-stage-shell{grid-template-columns:18px minmax(0,1fr);grid-template-rows:20px minmax(0,1fr);}.rbe-mermaid-modal-foot{gap:8px;}.rbe-mermaid-modal-save,.rbe-mermaid-modal-cancel{min-width:104px;padding:8px 10px;}.rbe-mermaid-modal-save{font-size:0;}.rbe-mermaid-modal-save:after{content:'Save';font-size:13px;}}",document.head.appendChild(e)}}function s(e){return String(e||"").split(/[\s,]+/).map(function(e){return Number(e)}).filter(function(e){return Number.isFinite(e)})}function b(e){return String(e||"").split(",").map(function(e){return e.trim()}).filter(Boolean)}function u(e,r){return e=String(e||"").trim(),/^#[0-9a-f]{3}([0-9a-f]{3})?$/i.test(e)?e:r}function h(e,r){for(var t=String(e||"").split(",").map(function(e,r){return u(e,l[r%l.length])}).filter(Boolean);t.length<r;)t.push(l[t.length%l.length]);return t.slice(0,r)}function g(e){return Number.isFinite(e)?String(Math.round(100*e)/100):"0"}function f(e){var r="line"===e.type||"pie"===e.type?e.type:"bar",t=b(e.labels||"Q1,Q2,Q3,Q4"),a=s(e.values||"12,19,7,14");a.length||(a=[12,19,7,14]);for(var o=Math.max(t.length,a.length),n=0;n<o;n+=1)t[n]||(t[n]="Item "+(n+1)),Number.isFinite(a[n])||(a[n]=0);var d=e.color||"#2563eb",l=Math.max.apply(null,a.map(function(e){return Math.max(0,e)}).concat([1]));if("pie"===r){var m=a.reduce(function(e,r){return e+Math.max(0,r)},0)||1,p=-Math.PI/2,c=h(e.colors,a.length),f=a.map(function(e,r){var a=Math.max(0,e)/m*Math.PI*2,o=p+a,n=p+a/2,d=320+105*Math.cos(p),l=145+105*Math.sin(p),s=320+105*Math.cos(o),b=145+105*Math.sin(o),u=320+64*Math.cos(n),h=145+64*Math.sin(n),f=a>Math.PI?1:0;return p=o,'<g><path d="'+("M320 145 L"+d+" "+l+" A105 105 0 "+f+" 1 "+s+" "+b+" Z")+'" fill="'+i(c[r%c.length])+'"><title>'+i((t[r]||"")+": "+e)+"</title></path>"+(e>0?'<text x="'+u+'" y="'+h+'" text-anchor="middle" dominant-baseline="central" fill="#fff" stroke="#0f172a" stroke-opacity=".35" stroke-width="3" paint-order="stroke fill" font-size="15" font-weight="800">'+i(g(e))+"</text>":"")+"</g>"}).join("");return'<svg viewBox="0 0 640 300" role="img" aria-label="'+i(e.title||"Pie chart")+'">'+f+"</svg>"}var x=58,v=252,y=554/a.length,w=function(e){return v-Math.max(0,e)/l*222},k=a.map(function(e,r){return[x+y*r+y/2,w(e)]}),S='<path d="M58 252H612M58 30V252" stroke="#cbd5e1" fill="none"/>'+function(e){for(var r=[],t=0;t<=4;t+=1)r.push(e/4*t);return r}(l).map(function(e){var r=w(e);return'<g><path d="M58 '+r+'H612" stroke="#e8eef6" fill="none"/><text x="48" y="'+(r+4)+'" text-anchor="end" font-size="12" fill="#64748b">'+i(g(e))+"</text></g>"}).join("")+t.map(function(e,r){return'<text x="'+(x+y*r+y/2)+'" y="282" text-anchor="middle" font-size="12" fill="#64748b">'+i(e)+"</text>"}).join("");return"line"===r?'<svg viewBox="0 0 640 300" role="img" aria-label="'+i(e.title||"Line chart")+'">'+S+'<polyline points="'+k.map(function(e){return e.join(",")}).join(" ")+'" fill="none" stroke="'+i(u(d,"#2563eb"))+'" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>'+k.map(function(e,r){return'<g><circle cx="'+e[0]+'" cy="'+e[1]+'" r="5" fill="'+i(u(d,"#2563eb"))+'"><title>'+i((t[r]||"")+": "+a[r])+'</title></circle><text x="'+e[0]+'" y="'+(e[1]-10)+'" text-anchor="middle" font-size="12" fill="#344054" font-weight="700">'+i(g(a[r]))+"</text></g>"}).join("")+"</svg>":'<svg viewBox="0 0 640 300" role="img" aria-label="'+i(e.title||"Bar chart")+'">'+S+a.map(function(e,r){var a=Math.max(0,e)/l*222,o=x+y*r+.18*y,n=v-a,m=.64*y,p=n+a/2+5;return'<g><rect x="'+o+'" y="'+n+'" width="'+m+'" height="'+a+'" rx="5" fill="'+i(u(d,"#2563eb"))+'"><title>'+i((t[r]||"")+": "+e)+'</title></rect><text x="'+(o+m/2)+'" y="'+p+'" text-anchor="middle" font-size="13" fill="#fff" stroke="#0f172a" stroke-opacity=".25" stroke-width="2" paint-order="stroke fill" font-weight="800">'+i(g(e))+"</text></g>"}).join("")+"</svg>"}function x(e,r,t){var a=document.querySelector("script[data-blockwriteai-lib='"+r+"']");if(a)"true"===a.dataset.loaded?t():a.addEventListener("load",t,{once:!0});else{var i=document.createElement("script");i.src=e,i.dataset.blockwriteaiLib=r,i.onload=function(){i.dataset.loaded="true",t()},i.onerror=t,document.head.appendChild(i)}}function v(e){var r=i(e||"");return r=r.replace(/\\int/g,"&int;").replace(/\\sum/g,"&sum;").replace(/\\sqrt\{([^}]*)\}/g,'&radic;<span style="text-decoration:overline">$1</span>').replace(/\\frac\{([^}]*)\}\{([^}]*)\}/g,'<span class="rbe-latex-frac"><span>$1</span><span>$2</span></span>').replace(/\^\{([^}]*)\}/g,"<sup>$1</sup>").replace(/\^([A-Za-z0-9+\-=]+)/g,"<sup>$1</sup>").replace(/_\{([^}]*)\}/g,"<sub>$1</sub>").replace(/_([A-Za-z0-9+\-=]+)/g,"<sub>$1</sub>").replace(/\\,/g," ").replace(/\\ /g," ")}function y(r,t,a){r.innerHTML=v(t||""),t&&t.trim()&&(!function(e,r){if(!document.querySelector("link[data-blockwriteai-lib='"+r+"']")){var t=document.createElement("link");t.rel="stylesheet",t.href=e,t.dataset.blockwriteaiLib=r,document.head.appendChild(t)}}("https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css","katex-css"),x("https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js","katex",function(){if(e.katex)try{e.katex.render(t,r,{throwOnError:!1,displayMode:!!a})}catch(e){}}))}function w(r){r=r||document,Array.prototype.slice.call(r.querySelectorAll(".rbe-output-latex")).forEach(function(e){var r=e.dataset.latex||e.textContent||"",t="false"!==e.dataset.display;"true"===e.dataset.renderedLatex&&e.dataset.lastLatex===r&&e.dataset.lastDisplay===String(t)||(e.dataset.renderedLatex="true",e.dataset.lastLatex=r,e.dataset.lastDisplay=String(t),y(e,r,t))}),Array.prototype.slice.call(r.querySelectorAll(".rbe-output-mermaid")).forEach(function(r){var t=r.dataset.mermaid||r.textContent||"";"true"===r.dataset.renderedMermaid&&r.dataset.lastMermaid===t||(r.dataset.renderedMermaid="true",r.dataset.lastMermaid=t,function(r,t){r.innerHTML="<pre>"+i(t||"")+"</pre>",t&&t.trim()&&x("https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js","mermaid",function(){if(e.mermaid)try{e.mermaid.initialize({startOnLoad:!1,securityLevel:"strict"});var a=function(){e.mermaid.render("rbe-mermaid-"+Math.random().toString(36).slice(2),t).then(function(e){r.innerHTML=e.svg}).catch(function(){r.innerHTML='<pre class="rbe-output-mermaid-error">'+i(t||"")+"</pre>"})};e.mermaid.parse?Promise.resolve(e.mermaid.parse(t)).then(a).catch(function(){r.innerHTML='<pre class="rbe-output-mermaid-error">'+i(t||"")+"</pre>"}):a()}catch(e){}})}(r,t))})}function k(e,r,t){r.addEventListener("input",function(){t(),e.changed()}),r.addEventListener("change",function(){t(),e.changed()})}function S(e){return"left"===(e=String(e||"").toLowerCase())||"right"===e?e:"center"}function A(e,r){if(e){var t=e.querySelector(".rbe-image-preview"),a=Number(e.dataset.rotation||0);e.dataset.rotation=String(a),r&&"function"==typeof r.applyImageStageState?r.applyImageStageState(e):t&&(t.style.transform="rotate("+a+"deg)")}}}("undefined"!=typeof window?window:this);
@@ -0,0 +1 @@
1
+ !function(e,t){"object"==typeof module&&module.exports?module.exports=t(require("../blockwriteai")):t(e.BlockWriteAI)}("undefined"!=typeof window?window:this,function(e){"use strict";if(!e||e.__aiPluginInstalled)return e||null;e.__aiPluginInstalled=!0;var t=e.helpers||{},r=t.el||function(e,t,r){var o=document.createElement(e);return t&&(o.className=t),Object.keys(r||{}).forEach(function(e){"html"===e?o.innerHTML=r[e]:"text"===e?o.textContent=r[e]:"dataset"===e?Object.keys(r[e]||{}).forEach(function(t){o.dataset[t]=r[e][t]}):!1!==r[e]&&null!=r[e]&&o.setAttribute(e,!0===r[e]?"":r[e])}),o},o=t.escapeHTML||function(e){return String(null==e?"":e).replace(/[&<>"]/g,function(e){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"}[e]})},i=t.faIcon||function(e,t){return'<i class="fa-solid fa-'+o(e)+'" aria-hidden="true"></i><span class="rbe-sr-only">'+o(t||e)+"</span>"},a=[["improve","wand-magic-sparkles","Improve writing","Make selected writing clearer and smoother."],["grammar","spell-check","Fix grammar","Correct grammar, spelling, and punctuation."],["summarize","compress","Summarize","Create a shorter version of the selected text."],["expand","up-right-and-down-left-from-center","Expand","Add helpful detail while keeping the meaning."],["professional","briefcase","Make professional","Rewrite in a polished business tone."]];function n(){if(!document.querySelector("style[data-blockwriteai-ai]")){var e=document.createElement("style");e.dataset.blockwriteaiAi="true",e.textContent=".rbe-ai-inline-btn{width:34px;height:34px;border:1px solid #cbd5e1;border-radius:8px;background:#eef6ff;color:#155eef;display:inline-grid;place-items:center;cursor:pointer;font-weight:800;}.rbe-ai-inline-btn:hover,.rbe-ai-inline-btn:focus-visible{border-color:#2563eb;background:#dbeafe;color:#1d4ed8;}.rbe-ai-inline-btn.is-open{border-color:#16a34a;background:#eafaf1;color:#087443;}.rbe-ai-toolbar-btn{position:absolute;left:50%;top:0;transform:translateX(-50%);width:38px;min-width:38px;padding-left:0;padding-right:0;justify-content:center;border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8;box-shadow:0 8px 24px rgba(37,99,235,.14);}.rbe-ai-toolbar-btn:hover:not(:disabled),.rbe-ai-toolbar-btn:focus-visible{border-color:#2563eb;background:#dbeafe;color:#1d4ed8;}.rbe-ai-toolbar-btn.is-open{border-color:#16a34a;background:#eafaf1;color:#087443;}.rbe-ai-drawer{position:fixed;right:18px;top:18px;z-index:11000;width:390px;max-width:calc(100vw - 24px);height:calc(100vh - 36px);display:grid;grid-template-rows:auto 1fr auto;border:1px solid #cbd5e1;border-radius:14px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.25);overflow:hidden;opacity:0;pointer-events:none;transform:translateX(calc(100% + 34px));transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .2s ease;will-change:transform,opacity;}.rbe-ai-drawer.is-open{opacity:1;pointer-events:auto;transform:translateX(0);}.rbe-ai-drawer[hidden]{display:none!important;}.rbe-ai-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#f8fbff,#eef6ff);}.rbe-ai-title{display:flex;align-items:center;gap:10px;font-weight:850;color:#0f172a;}.rbe-ai-title-icon{width:34px;height:34px;border-radius:10px;background:#eafaf2;color:#12a865;display:grid;place-items:center;}.rbe-ai-close{width:32px;height:32px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#172033;display:grid;place-items:center;cursor:pointer;}.rbe-ai-body{padding:14px 16px;overflow:auto;display:grid;gap:14px;align-content:start;}.rbe-ai-section{display:grid;gap:8px;}.rbe-ai-label{font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.03em;color:#667085;}.rbe-ai-selection,.rbe-ai-result{border:1px solid #d7dee8;border-radius:10px;background:#f8fafc;color:#172033;padding:10px 12px;min-height:54px;max-height:132px;overflow:auto;font:13px/1.45 Arial,sans-serif;white-space:pre-wrap;}.rbe-ai-selection.is-empty{color:#98a2b3;}.rbe-ai-mode{display:flex;align-items:flex-start;gap:10px;border:1px solid #d7dee8;border-radius:10px;background:#fff;padding:10px 12px;cursor:pointer;}.rbe-ai-mode:hover{border-color:#93c5fd;background:#eff6ff;}.rbe-ai-mode input{width:18px;height:18px;margin:1px 0 0;accent-color:#16a34a;flex:0 0 auto;}.rbe-ai-mode strong{display:block;font-size:13px;line-height:1.2;color:#172033;}.rbe-ai-mode small{display:block;margin-top:3px;color:#667085;font-size:11px;line-height:1.3;}.rbe-ai-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}.rbe-ai-action{border:1px solid #d7dee8;border-radius:10px;background:#fff;color:#172033;padding:10px;display:flex;gap:9px;align-items:flex-start;text-align:left;cursor:pointer;}.rbe-ai-action:hover,.rbe-ai-action:focus-visible{border-color:#2563eb;background:#eff6ff;}.rbe-ai-action i{margin-top:2px;color:#1d4ed8;}.rbe-ai-action strong{display:block;font-size:13px;line-height:1.2;}.rbe-ai-action small{display:block;margin-top:3px;color:#667085;font-size:11px;line-height:1.25;}.rbe-ai-prompt{width:100%;min-height:110px;resize:vertical;border:1px solid #d7dee8;border-radius:10px;padding:10px 12px;color:#172033;font:14px/1.45 Arial,sans-serif;}.rbe-ai-prompt:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12);}.rbe-ai-primary,.rbe-ai-secondary{border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#172033;font-weight:850;padding:9px 12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;}.rbe-ai-primary{border-color:#2563eb;background:#2563eb;color:#fff;}.rbe-ai-primary:hover{background:#1d4ed8;}.rbe-ai-secondary:hover{border-color:#2563eb;color:#1d4ed8;background:#eff6ff;}.rbe-ai-primary[disabled],.rbe-ai-secondary[disabled],.rbe-ai-action[disabled]{opacity:.55;cursor:not-allowed;}.rbe-ai-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 16px;border-top:1px solid #e2e8f0;background:#f8fafc;}.rbe-ai-foot-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;min-width:0;width:100%;}.rbe-ai-apply{flex:0 1 112px;min-width:96px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.rbe-toast-stack{position:fixed;right:18px;bottom:18px;z-index:12000;display:grid;gap:10px;width:min(360px,calc(100vw - 24px));pointer-events:none;}.rbe-toast{display:flex;align-items:flex-start;gap:10px;border:1px solid #d7dee8;border-radius:12px;background:#fff;color:#172033;padding:12px 14px;box-shadow:0 18px 48px rgba(15,23,42,.18);opacity:0;transform:translateY(12px) scale(.98);transition:opacity .24s ease,transform .24s ease;pointer-events:auto;}.rbe-toast.is-show{opacity:1;transform:translateY(0) scale(1);}.rbe-toast.is-hiding{opacity:0;transform:translateY(10px) scale(.98);}.rbe-toast i{margin-top:2px;}.rbe-toast strong{display:block;font-size:13px;line-height:1.25;}.rbe-toast span{display:block;margin-top:2px;font-size:12px;line-height:1.4;color:#475467;}.rbe-toast.is-error{border-color:#fecaca;background:#fff7f7;}.rbe-toast.is-error i,.rbe-toast.is-error strong{color:#b42318;}.rbe-toast.is-warning{border-color:#fedf89;background:#fffbeb;}.rbe-toast.is-warning i,.rbe-toast.is-warning strong{color:#b54708;}@media (max-width:900px){.rbe-ai-toolbar-btn{position:static;transform:none;order:-1;}}@media (max-width:700px){.rbe-ai-drawer{inset:10px;width:auto;height:auto;max-height:calc(100dvh - 20px);border-radius:12px;}.rbe-ai-action-grid{grid-template-columns:1fr;}.rbe-ai-head,.rbe-ai-body,.rbe-ai-foot{padding-left:12px;padding-right:12px;}}@media (max-width:520px){.rbe-ai-foot-actions{justify-content:stretch;width:100%;}.rbe-ai-primary,.rbe-ai-secondary{width:100%;}.rbe-ai-apply{flex:1 1 auto;min-width:0;}.rbe-ai-title{min-width:0;}.rbe-ai-title span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.rbe-toast-stack{right:10px;bottom:10px;width:calc(100vw - 20px);}}",document.head.appendChild(e)}}function s(e,t){if(!e||!e.root||!t)return!1;var r=t.commonAncestorContainer;return r&&r.nodeType!==Node.ELEMENT_NODE&&(r=r.parentElement),!(!r||!e.root.contains(r))}function l(e){var t=function(e){var t=window.getSelection();if(t&&t.rangeCount&&!t.isCollapsed){var r=t.getRangeAt(0);if(s(e,r))return e.savedRange=r.cloneRange(),e.savedRange}return e.savedRange&&s(e,e.savedRange)?e.savedRange:null}(e);return t?t.toString().trim():""}function c(e,t,r){if(!(r=r||e.__blockwriteaiAI&&e.__blockwriteaiAI.lastRange||e.savedRange)||!s(e,r))return!1;var o=window.getSelection();o.removeAllRanges(),o.addRange(r),r.deleteContents();var i=function(e){var t=document.createDocumentFragment();return String(e||"").split(/\n/).forEach(function(e,r){r&&t.appendChild(document.createElement("br")),t.appendChild(document.createTextNode(e))}),t}(t),a=i.lastChild;if(r.insertNode(i),a&&a.parentNode){var n=document.createRange();n.setStartAfter(a),n.collapse(!0),o.removeAllRanges(),o.addRange(n),e.savedRange=n.cloneRange()}return"function"==typeof e.noteHistory&&e.noteHistory("AI","Text applied"),"function"==typeof e.changed&&e.changed(!0),"function"==typeof e.updateInlineToolbarState&&e.updateInlineToolbarState(),!0}function d(e){if(!e||"function"!=typeof e.isPremiumFeatureEnabled)return!0;try{return e.isPremiumFeatureEnabled.call(e,"ai")}catch(e){return!1}}function p(e){if(e&&"function"==typeof e.premiumMessage)try{return e.premiumMessage.call(e,"ai")}catch(e){}return"AI is locked. Please add an active BlockWriteAI premium license."}function u(e){if(d(e))return!0;if(w(e,p(e),"warning"),e&&"function"==typeof e.showPremiumUpgradeModal)try{e.showPremiumUpgradeModal.call(e,"ai","locked")}catch(e){}return!1}function f(e,t){return(e=String(null==e?"":e).trim()).length>t?e.slice(0,t):e}function b(e){if(!e)return"";if("string"==typeof e.result)return e.result;if(Array.isArray(e.blocks))return"Generated "+e.blocks.length+" block(s).";if("string"==typeof e.error)return e.error;try{return JSON.stringify(e)}catch(e){return""}}function g(e,t,r,o){var i=function(e,t){return t&&t.usage_event_id?t.usage_event_id:t&&t.usage_result&&t.usage_result.event_id?t.usage_result.event_id:e&&e.lastPremiumUsageResult&&e.lastPremiumUsageResult.event_id?e.lastPremiumUsageResult.event_id:null}(e,t),a=e&&e.premiumOptions?e.premiumOptions:{},n=function(e){var t=e&&e.premiumOptions?e.premiumOptions:{};return t.usageDetailEndpoint?t.usageDetailEndpoint:t.usageEndpoint?t.usageEndpoint.replace(/ai_usage\.php(?:\?.*)?$/i,"ai_usage_detail.php"):""}(e);if(!i||!n||!a.licenseKey||"function"!=typeof fetch)return Promise.resolve();var s=Object.assign({action:"update",license_key:a.licenseKey,event_id:i,route:f(r&&r.route,80),prompt:f(r&&r.prompt,4e3),selected_text:f(r&&r.text,3e3)},o||{});return a.sessionToken&&(s.session_token=a.sessionToken),fetch(n,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(s)}).catch(function(){})}function m(e){if(e&&e.root){var t=!d(e);Array.prototype.slice.call(e.root.querySelectorAll(".rbe-ai-inline-btn,.rbe-ai-toolbar-btn")).forEach(function(r){r.classList.toggle("is-premium-locked",t),r.setAttribute("aria-disabled",t?"true":"false"),r.title=t?p(e):"BlockWriteAI"}),t&&T(e)&&S(e)}}function h(t,r){var o=function(t){var r=t&&t.options?t.options.ai:null;return r&&"string"==typeof r.endpoint&&r.endpoint?r.endpoint:e.ai&&"string"==typeof e.ai.endpoint&&e.ai.endpoint?e.ai.endpoint:"api/ai.php"}(t),i=Date.now();r=Object.assign({},r||{});var a=null;return function(e,t){if(e&&"function"==typeof e.consumePremiumUsage)try{return Promise.resolve(e.consumePremiumUsage.call(e,"ai",{action:t&&t.action?t.action:"generate",source:"ai_plugin",prompt:t&&t.prompt?t.prompt:"",selected_text:t&&t.text?t.text:""}))}catch(e){return Promise.reject(e)}return Promise.resolve()}(t,r).then(function(e){a=e;var n=e&&(e.usage_result||e.lastPremiumUsageResult);return n&&(n.model&&(r.model=n.model),n.route&&(r.route=n.route),void 0!==n.credits_required&&(r.credits_required=n.credits_required)),fetch(o,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(r)}).then(function(e){return e.json().catch(function(){return{}}).then(function(o){if(!e.ok||!1===o.ok){var n=new Error(o.error||"AI request failed");throw n.httpStatus=e.status,n}return g(t,a,r,{status:"completed",duration_ms:Date.now()-i,model:o.model||"",model_used:o.model_used||o.model||"",input_tokens:o.input_tokens||0,output_tokens:o.output_tokens||0,total_tokens:o.total_tokens||0,estimated_cost:o.estimated_cost||0,response_source:o.response_source||"",response_type:o.type||(Array.isArray(o.blocks)?"blocks":"text"),response:f(b(o),6e3),response_character_count:o.response_character_count||void 0,response_token_count:o.response_token_count||void 0,blocks_generated:Array.isArray(o.blocks)?o.blocks.length:void 0}),o})})}).catch(function(e){throw g(t,a,r,{status:"failed",duration_ms:Date.now()-i,http_status:e&&e.httpStatus?e.httpStatus:0,response_type:"error",error_reason:f(e&&e.message?e.message:"AI request failed",1200)}),e})}function x(e){return e.__blockwriteaiAI||(e.__blockwriteaiAI={drawer:null,lastRange:null,lastText:"",result:"",loading:!1,closeTimer:null,progressTimer:null}),e.__blockwriteaiAI}function y(e,t,r){e&&e.root&&"function"==typeof CustomEvent&&e.root.dispatchEvent(new CustomEvent("rbe:ai-progress",{bubbles:!0,detail:{active:!!t,message:r||""}}))}function v(e,t,r,o){var i=x(e);i.progressTimer&&(clearTimeout(i.progressTimer),i.progressTimer=null),t?y(e,!0,r||"Working with BlockWriteAI..."):i.progressTimer=setTimeout(function(){y(e,!1,""),i.progressTimer=null},"number"==typeof o?o:0)}function w(e,t,a){if(t&&"undefined"!=typeof document){n();var s=document.querySelector(".rbe-toast-stack");s||(s=r("div","rbe-toast-stack",{role:"status","aria-live":"polite"}),document.body.appendChild(s));var l="error"===a?"error":"warning",c=r("div","rbe-toast is-"+l,{});c.innerHTML=i("error"===l?"circle-exclamation":"triangle-exclamation",l)+"<div><strong>"+o("error"===l?"BlockWriteAI error":"BlockWriteAI warning")+"</strong><span>"+o(t)+"</span></div>",s.appendChild(c),requestAnimationFrame(function(){c.classList.add("is-show")}),setTimeout(function(){c.classList.remove("is-show"),c.classList.add("is-hiding"),setTimeout(function(){c.parentNode&&c.parentNode.removeChild(c),s&&!s.children.length&&s.parentNode&&s.parentNode.removeChild(s)},260)},5e3)}}function k(e,t){var r=x(e);r.loading=!!t,r.drawer&&Array.prototype.slice.call(r.drawer.querySelectorAll("button")).forEach(function(e){e.classList.contains("rbe-ai-close")||(e.disabled=!!t||e.classList.contains("rbe-ai-apply")&&!r.result)})}function _(e){var t=x(e);if(t.drawer){var r=l(e);t.lastRange=e.savedRange&&s(e,e.savedRange)?e.savedRange.cloneRange():null,t.lastText=r;var o=t.drawer.querySelector(".rbe-ai-selection");o&&(o.textContent=r||"Select text in the editor, then choose an AI action.",o.classList.toggle("is-empty",!r))}}function A(e,t){e&&e.root&&Array.prototype.slice.call(e.root.querySelectorAll(".rbe-ai-inline-btn,.rbe-ai-toolbar-btn")).forEach(function(e){e.classList.toggle("is-open",!!t)})}function T(e){var t=x(e);return!(!t.drawer||t.drawer.hidden||!t.drawer.classList.contains("is-open"))}function I(e){if(u(e)){var t,s,l=x(e),c=function(e){var t=x(e);if(t.drawer)return t.drawer;n();var s=r("aside","rbe-ai-drawer",{hidden:!0,role:"dialog","aria-label":"BlockWriteAI"});return s.innerHTML='<div class="rbe-ai-head"><div class="rbe-ai-title"><span class="rbe-ai-title-icon"><i class="fa-solid fa-wand-magic-sparkles" aria-hidden="true"></i></span><span>BlockWriteAI</span></div><button type="button" class="rbe-ai-close" title="Close AI">'+i("xmark","Close")+'</button></div><div class="rbe-ai-body"><section class="rbe-ai-section"><div class="rbe-ai-label">Selection</div><div class="rbe-ai-selection is-empty"></div></section><section class="rbe-ai-section"><div class="rbe-ai-label">Actions</div><div class="rbe-ai-action-grid">'+a.map(function(e){return'<button type="button" class="rbe-ai-action" data-ai-action="'+o(e[0])+'">'+i(e[1],e[2])+"<span><strong>"+o(e[2])+"</strong><small>"+o(e[3])+"</small></span></button>"}).join("")+'</div></section><section class="rbe-ai-section"><div class="rbe-ai-label">Generate blocks from prompt</div><textarea class="rbe-ai-prompt" placeholder="Example: Create a short project proposal with a heading, summary, checklist, and next steps."></textarea><button type="button" class="rbe-ai-primary rbe-ai-generate">'+i("sparkles","Generate")+'<span>Generate blocks</span></button></section><section class="rbe-ai-section"><div class="rbe-ai-label">Result</div><div class="rbe-ai-result"></div></section></div><div class="rbe-ai-foot"><div class="rbe-ai-foot-actions"><button type="button" class="rbe-ai-secondary rbe-ai-apply" disabled>'+i("check","Apply")+"<span>Apply</span></button></div></div>",e.root.appendChild(s),t.drawer=s,s}(e);_(e),l.closeTimer&&(clearTimeout(l.closeTimer),l.closeTimer=null),c.hidden=!1,c.getBoundingClientRect(),requestAnimationFrame(function(){c.classList.add("is-open")}),A(e,!0),(t="")&&s&&w(0,t,"error"),l.lastText||setTimeout(function(){var e=c.querySelector(".rbe-ai-prompt");e&&e.focus()},0)}}function S(e){var t=x(e);t.drawer&&(t.closeTimer&&clearTimeout(t.closeTimer),t.drawer.classList.remove("is-open"),A(e,!1),t.closeTimer=setTimeout(function(){t.drawer&&(t.drawer.hidden=!0,t.closeTimer=null)},300))}function C(e,t){var r=x(e);if(r.result=String(t||"").trim(),r.drawer){var o=r.drawer.querySelector(".rbe-ai-result"),i=r.drawer.querySelector(".rbe-ai-apply");o&&(o.textContent=r.result),i&&(i.disabled=r.loading||!r.result)}}function R(e){return e&&"object"==typeof e?{type:String(e.type||"paragraph"),data:e.data&&"object"==typeof e.data?e.data:{}}:null}function E(e,t){if(!(t=(t||[]).map(R).filter(Boolean)).length)return 0;var r="function"==typeof e.getCurrentBlock?e.getCurrentBlock():null,o=r&&"function"==typeof e.indexOfBlock?e.indexOfBlock(r)+1:e.canvas.children.length,i=e.canvas&&1===e.canvas.children.length?e.canvas.children[0]:null;i&&function(e){if(!e||!e.dataset||"paragraph"!==e.dataset.type)return!1;var t=e.querySelector(".rbe-paragraph"),r=t?t.textContent:e.textContent;return!String(r||"").trim()}(i)&&(o=0,i.remove());var a=0;return t.forEach(function(t){if(function(t){if(!e||"function"!=typeof e.getPremiumFeatureForTool||"function"!=typeof e.isPremiumFeatureEnabled)return!0;var r=e.getPremiumFeatureForTool.call(e,t);return!(r&&!e.isPremiumFeatureEnabled.call(e,r)&&("function"==typeof e.showPremiumLocked&&e.showPremiumLocked.call(e,r),1))}(t.type))try{var r=null;"function"==typeof e.insertBlock?(r=e.insertBlock.call(e,t.type,t.data,o))&&(o+=1):"function"==typeof e.createBlock&&(r=e.createBlock.call(e,t.type,t.data),e.canvas.appendChild(r)),r&&(a+=1)}catch(e){w(0,e&&e.message?e.message:"Unable to insert generated block.","error")}}),a&&"function"==typeof e.noteHistory&&e.noteHistory("AI","Generated "+a+" blocks"),a&&"function"==typeof e.changed&&e.changed(!0),a}function P(e){e&&e.root&&!e.__blockwriteaiAIRefreshBound&&(e.root.addEventListener("rbe:premium-change",m.bind(null,e)),e.__blockwriteaiAIRefreshBound=!0)}function B(e,t){return t=t||e&&e.topToolbar,e&&!1!==e.options.ai&&t?(n(),t.querySelector(".rbe-ai-toolbar-btn")||t.appendChild(r("button","rbe-history-btn rbe-ai-toolbar-btn",{type:"button",title:"BlockWriteAI",html:i("wand-magic-sparkles","BlockWriteAI"),dataset:{aiToolbar:"true",premiumFeature:"ai",unlockedTitle:"BlockWriteAI"}})),P(e),m(e),t):t}function q(e,t){return t=t||e&&e.inlineToolbar,e&&!1!==e.options.ai&&t?(n(),t.querySelector(".rbe-ai-inline-btn")||t.appendChild(r("button","rbe-ai-inline-btn",{type:"button",title:"BlockWriteAI",html:i("wand-magic-sparkles","AI"),dataset:{aiInline:"true",premiumFeature:"ai",unlockedTitle:"BlockWriteAI"}})),P(e),m(e),t):t}var j=e.prototype.createTopToolbar;e.prototype.createTopToolbar=function(){return B(this,j.call(this))};var D=e.prototype.createInlineToolbar;e.prototype.createInlineToolbar=function(){return q(this,D.call(this))},e.prototype.openAI=function(){return!1===this.options.ai?null:u(this)?(I(this),this):null};var L=e.prototype.handleRootClick;e.prototype.handleRootClick=function(e){var t,r=e.target;if(r.closest&&r.closest(".rbe-ai-inline-btn,.rbe-ai-toolbar-btn"))return e.preventDefault(),e.stopPropagation(),void(u(t=this)&&(T(t)?S(t):I(t)));if(r.closest&&r.closest(".rbe-ai-close"))return e.preventDefault(),e.stopPropagation(),void S(this);var o=r.closest&&r.closest(".rbe-ai-action");if(o)return e.preventDefault(),e.stopPropagation(),void function(e,t){if(u(e)){var r=x(e);_(e),r.lastText?(k(e,!0),C(e,""),v(e,!0,"Improving selected text with BlockWriteAI..."),h(e,{action:t,text:r.lastText,document:"function"==typeof e.getData?e.getData():null}).then(function(t){C(e,t.result||"")}).catch(function(e){w(0,e.message||"AI request failed","error")}).finally(function(){k(e,!1),v(e,!1,"",250)})):w(0,"Select text first, then run an AI action.","warning")}}(this,o.dataset.aiAction);if(r.closest&&r.closest(".rbe-ai-generate"))return e.preventDefault(),e.stopPropagation(),void function(e){if(u(e)){var t=x(e),r=t.drawer&&t.drawer.querySelector(".rbe-ai-prompt"),o=r?r.value.trim():"";o?(k(e,!0),C(e,""),v(e,!0,"Generating BlockWriteAI blocks..."),h(e,{action:"generate_blocks",prompt:o,document:"function"==typeof e.getData?e.getData():null}).then(function(t){E(e,t.blocks||[])||w(0,"AI returned no blocks.","warning")}).catch(function(e){w(0,e.message||"AI generation failed","error")}).finally(function(){k(e,!1),v(e,!1,"",250)})):w(0,"Write a prompt before generating blocks.","warning")}}(this);if(!r.closest||!r.closest(".rbe-ai-apply"))return L.call(this,e);e.preventDefault(),e.stopPropagation();var i=x(this);i.result&&c(this,i.result,i.lastRange)?(v(this,!0,"Applying BlockWriteAI result..."),C(this,""),_(this),v(this,!1,"",600)):w(0,"There is no AI result ready to apply.","warning")};var O=e.prototype.handleDocumentMouseDown;return e.prototype.handleDocumentMouseDown=function(e){if(!e.target.closest||!e.target.closest(".rbe-ai-drawer, .rbe-ai-inline-btn, .rbe-ai-toolbar-btn"))return T(this)&&S(this),O.call(this,e)},e.ai=e.ai||{},e.enableAI=function(t){return e.ai=Object.assign(e.ai||{},t||{}),e.configure({ai:Object.assign({},e.ai)}),e},"undefined"!=typeof document&&Array.prototype.slice.call(document.querySelectorAll(".rbe")).forEach(function(e){var t=e.__blockwriteaiInstance;t&&(B(t),q(t))}),e});
@@ -0,0 +1 @@
1
+ !function(e){"use strict";var t=e.BlockWriteAI;if(t&&!t.__codeAssistPluginInstalled){t.__codeAssistPluginInstalled=!0;var n={prettier:!0,suggestions:!0,prettierVersion:"3.8.1",tabWidth:2,cdnBase:"https://unpkg.com/prettier@{version}/",extraSuggestions:{}},a=null,i=t.prototype.renderCode,r=t.prototype.formatCodeBlock,s={javascript:"babel",typescript:"typescript",json:"json",html:"html",css:"css",markdown:"markdown"},l=["plaintext","javascript","typescript","html","css","json","php","python","java","csharp","cpp","sql","bash","markdown"],o={javascript:[{label:"function",detail:"Function declaration",insert:"function name() {\n $0\n}"},{label:"const",detail:"Constant",insert:"const name = $0;"},{label:"let",detail:"Variable",insert:"let name = $0;"},{label:"if",detail:"If statement",insert:"if ($0) {\n \n}"},{label:"for",detail:"For loop",insert:"for (let i = 0; i < length; i += 1) {\n $0\n}"},{label:"map",detail:"Array map",insert:"array.map(function (item) {\n return $0;\n});"},{label:"async",detail:"Async function",insert:"async function name() {\n $0\n}"},{label:"try",detail:"Try catch",insert:"try {\n $0\n} catch (error) {\n console.error(error);\n}"},{label:"console",detail:"Console log",insert:"console.log($0);"}],typescript:[{label:"interface",detail:"Interface",insert:"interface Name {\n $0\n}"},{label:"type",detail:"Type alias",insert:"type Name = $0;"},{label:"const",detail:"Constant",insert:"const name: Type = $0;"},{label:"function",detail:"Typed function",insert:"function name(): void {\n $0\n}"},{label:"async",detail:"Async function",insert:"async function name(): Promise<void> {\n $0\n}"}],html:[{label:"!DOCTYPE",detail:"HTML document type",insert:"<!DOCTYPE html>"},{label:"html",detail:"HTML page",insert:'<!DOCTYPE html>\n<html lang="en">\n<head>\n <meta charset="UTF-8">\n <meta name="viewport" content="width=device-width, initial-scale=1.0">\n <title>$0</title>\n</head>\n<body>\n \n</body>\n</html>'},{label:"div",detail:"Division",insert:"<div>\n $0\n</div>"},{label:"section",detail:"Section",insert:"<section>\n $0\n</section>"},{label:"article",detail:"Article",insert:"<article>\n $0\n</article>"},{label:"button",detail:"Button",insert:'<button type="button">$0</button>'},{label:"a",detail:"Link",insert:'<a href="#">$0</a>'},{label:"img",detail:"Image",insert:'<img src="$0" alt="">'},{label:"ul",detail:"List",insert:"<ul>\n <li>$0</li>\n</ul>"},{label:"table",detail:"Table",insert:"<table>\n <tr>\n <td>$0</td>\n </tr>\n</table>"}],css:[{label:"display",detail:"Display",insert:"display: $0;"},{label:"grid",detail:"Grid layout",insert:"display: grid;\ngap: $0;"},{label:"flex",detail:"Flex layout",insert:"display: flex;\nalign-items: center;\ngap: $0;"},{label:"color",detail:"Text color",insert:"color: $0;"},{label:"background",detail:"Background",insert:"background: $0;"},{label:"border",detail:"Border",insert:"border: 1px solid $0;"},{label:"radius",detail:"Border radius",insert:"border-radius: $0;"},{label:"media",detail:"Media query",insert:"@media (max-width: 768px) {\n $0\n}"}],php:[{label:"function",detail:"Function",insert:"function name() {\n $0\n}"},{label:"if",detail:"If statement",insert:"if ($0) {\n \n}"},{label:"foreach",detail:"Foreach loop",insert:"foreach ($items as $item) {\n $0\n}"},{label:"echo",detail:"Echo",insert:"echo $0;"}],python:[{label:"def",detail:"Function",insert:"def name():\n $0"},{label:"class",detail:"Class",insert:"class Name:\n def __init__(self):\n $0"},{label:"if",detail:"If statement",insert:"if $0:\n "},{label:"for",detail:"For loop",insert:"for item in items:\n $0"},{label:"try",detail:"Try except",insert:"try:\n $0\nexcept Exception as error:\n print(error)"}],sql:[{label:"select",detail:"Select query",insert:"SELECT $0\nFROM table_name;"},{label:"insert",detail:"Insert query",insert:"INSERT INTO table_name (column)\nVALUES ($0);"},{label:"update",detail:"Update query",insert:"UPDATE table_name\nSET column = $0\nWHERE condition;"},{label:"join",detail:"Join",insert:"JOIN table_name ON $0"}],bash:[{label:"if",detail:"If statement",insert:"if [ $0 ]; then\n \nfi"},{label:"for",detail:"For loop",insert:'for item in "$@"; do\n $0\ndone'},{label:"echo",detail:"Echo",insert:'echo "$0"'}],java:[{label:"class",detail:"Class",insert:"public class Name {\n public static void main(String[] args) {\n $0\n }\n}"},{label:"main",detail:"Main method",insert:"public static void main(String[] args) {\n $0\n}"},{label:"sout",detail:"Print line",insert:"System.out.println($0);"},{label:"if",detail:"If statement",insert:"if ($0) {\n \n}"},{label:"for",detail:"For loop",insert:"for (int i = 0; i < count; i++) {\n $0\n}"}],csharp:[{label:"class",detail:"Class",insert:"public class Name\n{\n $0\n}"},{label:"main",detail:"Main method",insert:"public static void Main(string[] args)\n{\n $0\n}"},{label:"cw",detail:"Console write line",insert:"Console.WriteLine($0);"},{label:"if",detail:"If statement",insert:"if ($0)\n{\n \n}"},{label:"foreach",detail:"Foreach loop",insert:"foreach (var item in items)\n{\n $0\n}"}],cpp:[{label:"include",detail:"Include header",insert:"#include <$0>"},{label:"main",detail:"Main function",insert:"int main() {\n $0\n return 0;\n}"},{label:"cout",detail:"Output stream",insert:"std::cout << $0 << std::endl;"},{label:"if",detail:"If statement",insert:"if ($0) {\n \n}"},{label:"for",detail:"For loop",insert:"for (int i = 0; i < count; i++) {\n $0\n}"}],json:[{label:"object",detail:"JSON object",insert:'{\n "$0": ""\n}'},{label:"array",detail:"JSON array",insert:"[\n $0\n]"},{label:"string",detail:"String property",insert:'"name": "$0"'},{label:"number",detail:"Number property",insert:'"count": $0'},{label:"boolean",detail:"Boolean property",insert:'"enabled": true'}],markdown:[{label:"heading",detail:"Heading",insert:"## $0"},{label:"link",detail:"Link",insert:"[$0](https://example.com)"},{label:"image",detail:"Image",insert:"![$0](image-url)"},{label:"code",detail:"Code fence",insert:"```language\n$0\n```"},{label:"table",detail:"Table",insert:"| Header | Header |\n| --- | --- |\n| $0 | |"}],plaintext:[{label:"note",detail:"Simple note",insert:"Note: $0"},{label:"todo",detail:"Task line",insert:"TODO: $0"},{label:"summary",detail:"Summary heading",insert:"Summary\n$0"}]},c={javascript:"await break case catch class const continue default delete do else export extends finally for function if import in instanceof let new return static switch this throw try typeof var void while yield true false null undefined console document window",typescript:"abstract any as async await boolean class const constructor declare enum export extends false from function implements import interface keyof let namespace never null number private protected public readonly return static string super true type undefined unknown void",html:"a abbr address article aside audio b base blockquote body br button canvas caption cite code col colgroup data datalist dd del details div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 head header hr html iframe img input label legend li link main meta nav ol option p picture pre progress script section select small source span strong style summary table tbody td template textarea tfoot th thead time title tr ul video",css:"align-items background background-color border border-radius box-shadow color display flex flex-direction font-size font-weight gap grid grid-template-columns height justify-content line-height margin max-width min-height object-fit opacity overflow padding position text-align transform transition width z-index",json:"true false null",php:"array as class echo else elseif extends false foreach function if implements interface namespace new null private protected public return static switch true try use var while",python:"and as assert async await break class continue def del elif else except false finally for from global if import in is lambda none nonlocal not or pass raise return true try while with yield print self",java:"abstract boolean break byte case catch char class const continue default double else enum extends false final finally float for if implements import int interface long new null package private protected public return static string super switch this throw throws true try void while",csharp:"abstract as async await bool break case catch class const continue decimal default delegate do double else enum event false finally float for foreach if in int interface internal is lock namespace new null object override private protected public readonly return sealed static string switch this throw true try using var virtual void while",cpp:"auto bool break case catch char class const continue default delete do double else enum false float for if include int long namespace new nullptr private protected public return sizeof static std string struct switch template this throw true try typename using void while",sql:"SELECT FROM WHERE JOIN LEFT RIGHT INNER OUTER INSERT INTO VALUES UPDATE SET DELETE CREATE TABLE ALTER DROP GROUP BY ORDER HAVING LIMIT OFFSET DISTINCT COUNT SUM AVG MIN MAX",bash:"case cd chmod cp do done echo elif else esac export fi for function grep if in mkdir mv read rm sed then while",markdown:"heading link image code table quote list todo bold italic"};t.prototype.renderCode=function(e,t){i.call(this,e,t),u();var n=e.querySelector(".rbe-code-wrap");n&&x(this,n)},t.prototype.formatCodeBlock=function(e){if(e&&"code"===e.dataset.type){var t=e.querySelector(".rbe-code-wrap"),n=e.querySelector(".rbe-code-input"),a=p(e);if(n)if(m(a)){var i=this,s=e.querySelector(".rbe-code-format");s&&(s.disabled=!0),f(t,"Formatting..."),g(n.value,a).then(function(a){i.recordHistory(!1),n.value=String(a||"").replace(/\n+$/g,""),i.refreshCodeBlock(e),i.noteHistory("Code","Prettier formatted"),i.changed(!0),f(t,"Formatted")}).catch(function(){r.call(i,e),f(t,"Prettier unavailable, fallback used",!0)}).finally(function(){s&&(s.disabled=!1)})}else r.call(this,e)}},e.BlockWriteAICodeAssist={configure:function(e){(n=Object.assign({},n,e||{})).extraSuggestions=Object.assign({},n.extraSuggestions||{}),a=null},formatWithPrettier:g,enhanceAll:function(t){u(),Array.prototype.slice.call((t||document).querySelectorAll(".rbe-code-wrap")).forEach(function(t){x(e.editor||null||{formatCodeBlock:function(){}},t)})}}}function d(e){return String(null==e?"":e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function u(){if(!document.querySelector("style[data-blockwriteai-code-assist]")){var e=document.createElement("style");e.dataset.blockwriteaiCodeAssist="true",e.textContent='.rbe-code-wrap{position:relative;}.rbe-code-assist-status{margin-left:auto;font-size:12px;font-weight:740;color:inherit;opacity:.8;}.rbe-code-assist-status.is-error{color:#b91c1c;}.rbe-code-assist-panel{position:absolute;z-index:12;width:min(280px,calc(100% - 24px));max-height:210px;overflow:auto;border:1px solid var(--rbe-border,#d7dee8);border-radius:8px;background:#fff;box-shadow:0 16px 40px rgba(15,23,42,.16);padding:4px;}.rbe-code-assist-panel[hidden]{display:none;}.rbe-code-assist-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;width:100%;border:0;border-radius:6px;background:transparent;color:#172033;padding:7px 8px;text-align:left;font:13px/1.3 Arial,sans-serif;cursor:pointer;}.rbe-code-assist-item strong{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:13px;}.rbe-code-assist-item small{color:#667085;}.rbe-code-assist-item.is-active,.rbe-code-assist-item:hover{background:#e7efff;color:#143f91;}.rbe-code-assist-hint{grid-column:1/-1;color:#667085;font-size:11px;padding:3px 8px 5px;}',document.head.appendChild(e)}}function p(e){var t=e&&e.querySelector(".rbe-code-language");return t&&t.value||"plaintext"}function b(e){return n.cdnBase.replace("{version}",n.prettierVersion)+e}function f(e,t,n){var a=e&&e.querySelector(".rbe-code-assist-status");a&&(a.textContent=t||"",a.classList.toggle("is-error",!!n),t&&(clearTimeout(a._rbeTimer),a._rbeTimer=setTimeout(function(){a.textContent="",a.classList.remove("is-error")},n?3600:1800)))}function m(e){return s[e]||""}function h(e){return String(c[e]||"").split(/\s+/).filter(Boolean).map(function(e){return{label:e,detail:"Keyword",insert:e}})}function g(e,t){var i=m(t);return i?(n.prettier?a||(a=Promise.all([import(b("standalone.mjs")),import(b("plugins/babel.mjs")),import(b("plugins/estree.mjs")),import(b("plugins/typescript.mjs")),import(b("plugins/html.mjs")),import(b("plugins/postcss.mjs")),import(b("plugins/markdown.mjs"))]).then(function(e){return{prettier:e[0],plugins:e.slice(1).map(function(e){return e.default||e})}})):Promise.reject(new Error("Prettier is disabled"))).then(function(a){return a.prettier.format(e,{parser:i,plugins:a.plugins,tabWidth:n.tabWidth,printWidth:100,semi:!0,singleQuote:"javascript"===t||"typescript"===t,bracketSameLine:!1})}):Promise.reject(new Error("Prettier parser is not available for "+t))}function y(e,t){var n=e.selectionStart||0,a=e.value.slice(0,n);if("html"===t){var i=a.match(/<!([\w-]*)$/i);if(i)return{text:"!"+(i[1]||""),start:n-i[0].length,end:n,trigger:"html-declaration",force:!0};var r=a.match(/<\/?([\w:-]*)$/);if(r)return{text:r[1]||"",start:n-r[0].length,end:n,trigger:"html-tag",force:!0}}if("css"===t){var s=a.match(/(?:^|[;{]\s*)([a-z-]*)$/i);if(s)return{text:s[1]||"",start:n-(s[1]||"").length,end:n,trigger:"css-property",force:!s[1]}}if("json"===t){var l=a.match(/(?:^|[{,]\s*)"?([\w-]*)$/);if(l)return{text:l[1]||"",start:n-(l[1]||"").length,end:n,trigger:"json-key",force:!l[1]}}var o=a.match(/[A-Za-z_$][\w$-]*$/);return o?{text:o[0],start:n-o[0].length,end:n}:{text:"",start:n,end:n}}function v(e,t,a){t="string"==typeof t?{text:t}:t||{text:""};var i=[];"plaintext"===e?(Object.keys(o).forEach(function(e){"plaintext"!==e&&(i=i.concat(o[e]||[],h(e)))}),i=i.concat(o.plaintext||[],h("plaintext"))):i=(o[e]||[]).concat(h(e),n.extraSuggestions[e]||[]),"html-declaration"===t.trigger&&(i=[{label:"!DOCTYPE",detail:"HTML document type",insert:"<!DOCTYPE html>"},{label:"!--",detail:"HTML comment",insert:"\x3c!-- $0 --\x3e"}].concat(i)),i.length||(i=o.plaintext.concat(h("plaintext"))),i=function(e){var t=Object.create(null);return e.filter(function(e){var n=(e.label||"")+"\0"+(e.insert||e.label||"");return!(!e.label||t[n]||(t[n]=!0,0))})}(i);var r=(t.text||"").toLowerCase();return i.filter(function(e){return a||!r||0===e.label.toLowerCase().indexOf(r)}).slice(0,9)}function w(e,t,n){var a=n.insert||n.label,i=a.indexOf("$0"),r=a.replace("$0",""),s=e.value;e.value=s.slice(0,t.start)+r+s.slice(t.end);var l=t.start+(i>=0?i:r.length);e.focus(),e.setSelectionRange(l,l),e.dispatchEvent(new Event("input",{bubbles:!0}))}function x(t,a){if(n.suggestions&&a&&"true"!==a.dataset.codeAssistEnhanced){a.dataset.codeAssistEnhanced="true";var i=a.querySelector(".rbe-code-input"),r=a.querySelector(".rbe-code-editor"),s=a.querySelector(".rbe-code-header"),o=a.querySelector(".rbe-code-language");if(i&&r&&s){s.querySelector(".rbe-code-assist-status")||(s.appendChild(document.createElement("span")).className="rbe-code-assist-status");var c=document.createElement("div");c.className="rbe-code-assist-panel",c.hidden=!0,r.appendChild(c);var u=0,b=null,m=[],h=!1;o&&o.addEventListener("change",function(){h||(o.dataset.codeAssistUserLanguage="true",o.dataset.codeAssistAutoLanguage="")}),i.addEventListener("keydown",function(e){return(e.ctrlKey||e.metaKey)&&"Space"===e.code?(e.preventDefault(),void E(!0)):e.altKey&&e.shiftKey&&"f"===e.key.toLowerCase()?(e.preventDefault(),void t.formatCodeBlock(a.closest(".rbe-block"))):void(c.hidden||("ArrowDown"===e.key?(e.preventDefault(),u=(u+1)%m.length,$(m)):"ArrowUp"===e.key?(e.preventDefault(),u=(u-1+m.length)%m.length,$(m)):"Enter"===e.key||"Tab"===e.key?(e.preventDefault(),w(i,b,m[u]),g()):"Escape"===e.key&&(e.preventDefault(),g())))}),i.addEventListener("input",function(){u=0,setTimeout(function(){E(!1)},0)}),i.addEventListener("scroll",g),i.addEventListener("blur",function(){setTimeout(g,180)}),c.addEventListener("mousedown",function(e){var t=e.target.closest(".rbe-code-assist-item");if(t){e.preventDefault();var n=m[Number(t.dataset.index||0)];n&&w(i,b||y(i,p(a.closest(".rbe-block"))),n),g()}})}}function g(){c.hidden=!0,m=[]}function x(){if(!o)return p(a.closest(".rbe-block"));var t,n,r,s,c,d=(t=i.value,n=String(t||""),(r=n.trim())?(r.toLowerCase(),/^<\?php\b/i.test(r)||/\$\w+\s*=/.test(r)||/\b(echo|namespace|use)\s+[\w\\]+;/.test(r)?"php":/^(<!|<\/?html\b|<\/?head\b|<\/?body\b|<\/?(div|section|article|span|button|table|form|input|script|style|img|a)\b)/i.test(r)||/<\/[a-z][\w:-]*>\s*$/i.test(r)?"html":/^\s*[{[]/.test(n)&&(/"[^"]+"\s*:/.test(n)||/^[\s{\["\]},:0-9.truefalsnul-]+$/i.test(n))?"json":/^#{1,6}\s/.test(r)||/^```/.test(r)||/^\s*[-*]\s+\[[ x]\]/i.test(r)||/\[[^\]]+\]\([^)]+\)/.test(r)?"markdown":/^#include\b/.test(r)||/\bstd::\w+/.test(r)||/\bcout\s*<</.test(r)||/\bint\s+main\s*\(/.test(r)?"cpp":/\busing\s+System\s*;/.test(r)||/\bConsole\.Write(Line)?\s*\(/.test(r)||/\bnamespace\s+\w+/.test(r)?"csharp":/\bpublic\s+(class|static)\b/.test(r)||/\bSystem\.out\.println\s*\(/.test(r)||/\bpackage\s+[\w.]+;/.test(r)?"java":/\binterface\s+\w+/.test(r)||/\btype\s+\w+\s*=/.test(r)||/:\s*(string|number|boolean|unknown|any)\b/.test(r)?"typescript":/\b(const|let|var)\s+\w+\s*=/.test(r)||/\bfunction\s+\w*\s*\(/.test(r)||/=>/.test(r)||/\b(console|document|window)\./.test(r)||/\b(import|export)\s+/.test(r)?"javascript":/^\s*(def|class)\s+\w+/.test(r)||/\bprint\s*\(/.test(r)||/\bfrom\s+\w+\s+import\b/.test(r)||/\bimport\s+\w+/.test(r)||/:\s*(#.*)?$/.test(r)?"python":/\b(SELECT|INSERT\s+INTO|UPDATE|DELETE\s+FROM|CREATE\s+TABLE|ALTER\s+TABLE|DROP\s+TABLE)\b/i.test(r)?"sql":/^#!/.test(r)||/\b(echo|chmod|sudo|grep|sed)\b/.test(r)||/^\s*(if|for|while)\s+.*;\s*do\b/.test(r)?"bash":/@media\b/.test(r)||/[#.][\w-]+\s*\{/.test(r)||/\b[a-z-]+\s*:\s*[^;{}]+;/.test(r)?"css":""):""),u=o.value||"plaintext";if(!d&&"true"===o.dataset.codeAssistAutoLanguage&&"plaintext"!==u){h=!0,o.value="plaintext";try{e.jQuery&&e.jQuery.fn&&e.jQuery.fn.select2&&e.jQuery(o).val("plaintext").trigger("change.select2")}catch(e){}return o.dispatchEvent(new Event("change",{bubbles:!0})),h=!1,o.dataset.codeAssistAutoLanguage="","plaintext"}if(!d||(c=o,!(s=d)||!(c?Array.prototype.some.call(c.options||[],function(e){return e.value===s}):-1!==l.indexOf(s))))return u;if("true"===o.dataset.codeAssistUserLanguage&&"plaintext"!==u)return u;if("plaintext"!==u&&"true"!==o.dataset.codeAssistAutoLanguage&&u!==d)return u;if(u===d)return o.dataset.codeAssistAutoLanguage="true",u;h=!0,o.value=d,o.dataset.codeAssistAutoLanguage="true";try{e.jQuery&&e.jQuery.fn&&e.jQuery.fn.select2&&e.jQuery(o).val(d).trigger("change.select2")}catch(e){}return o.dispatchEvent(new Event("change",{bubbles:!0})),h=!1,f(a,"Detected "+function(e,t){if(t){var n=Array.prototype.find.call(t.options||[],function(t){return t.value===e});if(n)return n.textContent||e}return String(e||"Plain text").replace(/^\w/,function(e){return e.toUpperCase()})}(d,o)),d}function $(e){c.innerHTML=e.map(function(e,t){return'<button type="button" class="rbe-code-assist-item'+(t===u?" is-active":"")+'" data-index="'+t+'"><strong>'+d(e.label)+"</strong><small>"+d(e.detail||"")+"</small></button>"}).join("")+'<div class="rbe-code-assist-hint">Tab/Enter to insert, Ctrl+Space for all suggestions</div>'}function E(e){var t=x();if(b=y(i,t),!(m=v(t,b,e)).length||!e&&b.text.length<1&&!b.force)g();else{u=Math.min(u,m.length-1),$(m);var n=function(e,t){var n=getComputedStyle(e),a=parseFloat(n.lineHeight)||19,i=parseFloat(n.paddingLeft)||12,r=parseFloat(n.paddingTop)||12,s=document.createElement("span");s.style.cssText="position:absolute;visibility:hidden;font:"+n.font+";white-space:pre;",s.textContent="mmmmmmmmmm",document.body.appendChild(s);var l=s.getBoundingClientRect().width/10||8;s.remove();var o=e.value.slice(0,e.selectionStart||0).split("\n"),c=o.length-1,d=o[o.length-1].length;return{left:Math.max(8,Math.min(t.clientWidth-288,i+d*l-e.scrollLeft)),top:Math.max(8,Math.min(t.clientHeight-220,r+(c+1)*a-e.scrollTop))}}(i,r);c.style.left=n.left+"px",c.style.top=n.top+"px",c.hidden=!1}}}}("undefined"!=typeof window?window:this);
@@ -0,0 +1 @@
1
+ !function(e){"use strict";var t=e.BlockWriteAI;if(t&&!t.__drawingPluginInstalled){t.__drawingPluginInstalled=!0;var r=t.helpers||{},i=r.el,a=r.escapeHTML||function(e){return String(null==e?"":e).replace(/[&<>"]/g,function(e){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"}[e]})},n=r.faIcon||function(e,t){return'<i class="fa-solid fa-'+a(e)+'" aria-hidden="true"></i><span class="rbe-sr-only">'+a(t||e)+"</span>"};t.registerTool("drawing",{label:"Drawing",hint:"Freehand sketch canvas",icon:"pen-nib",premiumFeature:"drawing",defaultData:{image:"",color:"#172033",size:4,text:""},render:function(e,t){l();var r=this;t=t||{};var a=i("div","rbe-drawing-block");a.dataset.initialImage=t.image||t.url||t.src||"",!a.dataset.initialImage&&t.text&&(a.dataset.initialImage=d(t.text,t.color||"#2f1830")),a.dataset.drawingDirty="false",a.innerHTML='<div class="rbe-plugin-toolbar"><label>Pen <input class="rbe-drawing-color" type="color"></label><label>Size <input class="rbe-drawing-size" type="range" min="1" max="24"></label><input class="rbe-drawing-text-input" type="text" placeholder="Type name or text"><button type="button" class="rbe-small-btn rbe-drawing-text-apply" title="Convert text to Mabriella style" aria-label="Convert text to Mabriella style">'+n("wand-magic-sparkles","Convert text")+'</button><button type="button" class="rbe-small-btn rbe-drawing-clear">'+n("eraser","Clear drawing")+'</button></div><div class="rbe-drawing-shell"><canvas class="rbe-drawing-canvas" width="900" height="320"></canvas></div>',e.appendChild(a);var o=a.querySelector("canvas"),g=o.getContext("2d");function c(e){if(g.clearRect(0,0,o.width,o.height),e){var t=new Image;t.onload=function(){g.drawImage(t,0,0,o.width,o.height)},t.src=e}}a.querySelector(".rbe-drawing-color").value=t.color||"#172033",a.querySelector(".rbe-drawing-size").value=t.size||4,a.querySelector(".rbe-drawing-text-input").value=t.text||"",a.dataset.initialImage&&c(a.dataset.initialImage);var s=!1;function u(e){var t=o.getBoundingClientRect();return{x:(e.clientX-t.left)/t.width*o.width,y:(e.clientY-t.top)/t.height*o.height}}o.addEventListener("pointerdown",function(e){s=!0,a.dataset.drawingDirty="true",o.setPointerCapture(e.pointerId);var t=u(e);g.beginPath(),g.moveTo(t.x,t.y)}),o.addEventListener("pointermove",function(e){if(s){var t=u(e);g.strokeStyle=a.querySelector(".rbe-drawing-color").value,g.lineWidth=Number(a.querySelector(".rbe-drawing-size").value||4),g.lineCap="round",g.lineJoin="round",g.lineTo(t.x,t.y),g.stroke()}}),o.addEventListener("pointerup",function(){s=!1,r.changed(!0)}),a.querySelector(".rbe-drawing-text-apply").addEventListener("click",function(){var e=a.querySelector(".rbe-drawing-text-input"),t=(e.value||"").trim();t?(a.dataset.initialImage=d(t,a.querySelector(".rbe-drawing-color").value||"#2f1830"),a.dataset.drawingDirty="false",c(a.dataset.initialImage),r.changed(!0)):e.focus()}),a.querySelector(".rbe-drawing-clear").addEventListener("click",function(){a.dataset.initialImage="",a.dataset.drawingDirty="true",a.querySelector(".rbe-drawing-text-input").value="",g.clearRect(0,0,o.width,o.height),r.changed(!0)})},serialize:function(e){var t=e.querySelector(".rbe-drawing-canvas"),r=e.querySelector(".rbe-drawing-block")||e,i=r.dataset.initialImage||"",a={image:"",color:(e.querySelector(".rbe-drawing-color")||{}).value||"#172033",size:Number((e.querySelector(".rbe-drawing-size")||{}).value||4),text:(e.querySelector(".rbe-drawing-text-input")||{}).value||""};return i&&"true"!==r.dataset.drawingDirty?(a.image=i,a):(a.image=t?t.toDataURL("image/png"):"",a)},toHTML:function(e){var t=(e=e||{}).image||e.url||e.src||e.diagram&&e.diagram.image||"";return!t&&e.text&&(t=d(e.text,e.color||"#2f1830")),t?'<figure class="rbe-output-drawing"><img src="'+a(t)+'" alt="Drawing"></figure>':""},toMarkdown:function(){return"![Drawing](drawing.png)"}}),l()}function l(){if(!document.querySelector("style[data-blockwriteai-drawing]")){var e=document.createElement("style");e.dataset.blockwriteaiDrawing="true",e.textContent=".rbe-drawing-block{border:1px solid var(--rbe-border,#d7dee8);border-radius:8px;background:#fff;padding:12px;display:grid;gap:12px;}.rbe-drawing-block .rbe-plugin-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}.rbe-drawing-block .rbe-plugin-toolbar label{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:750;color:#667085;}.rbe-drawing-block .rbe-plugin-toolbar input{border:1px solid var(--rbe-border,#d7dee8);border-radius:7px;background:#fff;color:#172033;font:14px/1.4 Arial,sans-serif;padding:8px 9px;}.rbe-drawing-block .rbe-plugin-toolbar input[type='color']{width:40px;min-width:40px;height:34px;padding:3px;}.rbe-drawing-text-input{min-width:220px;flex:1 1 260px;}.rbe-drawing-text-apply{min-width:38px;}.rbe-drawing-shell{display:grid;gap:10px;}.rbe-drawing-canvas{width:100%;height:260px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;touch-action:none;}.rbe-output-drawing{margin:0 0 15px;}.rbe-output-drawing img{max-width:100%;border:1px solid #d7dee8;border-radius:8px;background:#fff;}@media (max-width:640px){.rbe-drawing-block{padding:10px;gap:10px;}.rbe-drawing-block .rbe-plugin-toolbar{display:grid;grid-template-columns:1fr;align-items:stretch;}.rbe-drawing-block .rbe-plugin-toolbar label{width:100%;justify-content:space-between;}.rbe-drawing-block .rbe-plugin-toolbar input{width:100%;}.rbe-drawing-canvas{height:220px;}}",document.head.appendChild(e)}}function d(e,t){var r=/^#[0-9a-f]{3}([0-9a-f]{3})?$/i.test(t||"")?t:"#2f1830",i=String(e||"Signature text").trim().split(/\s+/),n=i.slice(0,Math.ceil(i.length/2)).join(" "),l=i.slice(Math.ceil(i.length/2)).join(" "),d=!!l,o=['<svg xmlns="http://www.w3.org/2000/svg" width="900" height="320" viewBox="0 0 900 320">','<rect width="900" height="320" rx="16" fill="#ffffff"/>','<text x="450" y="'+(d?"138":"176")+"\" text-anchor=\"middle\" font-family=\"Mabriella, 'Brush Script MT', 'Segoe Script', 'Lucida Handwriting', cursive\" font-size=\""+(d?"104":"118")+'" font-weight="400" fill="'+a(r)+'">'+a(n)+"</text>",d?'<text x="450" y="244" text-anchor="middle" font-family="Mabriella, \'Brush Script MT\', \'Segoe Script\', \'Lucida Handwriting\', cursive" font-size="104" font-weight="400" fill="'+a(r)+'">'+a(l)+"</text>":"","</svg>"].join("");return"data:image/svg+xml;charset=UTF-8,"+encodeURIComponent(o)}}("undefined"!=typeof window?window:this);
@@ -0,0 +1 @@
1
+ !function(e,o){"object"==typeof module&&module.exports?module.exports=o(require("../blockwriteai")):o(e.BlockWriteAI)}("undefined"!=typeof window?window:this,function(e){"use strict";return e&&"function"==typeof e.configure?(e.configure({historyPanel:!0}),e.enableHistoryPanel=function(){return e.configure({historyPanel:!0}),e},e):null});
@@ -0,0 +1 @@
1
+ !function(e){"use strict";var r=e.BlockWriteAI;if(r&&!r.__mermaidPluginInstalled){r.__mermaidPluginInstalled=!0;var t=r.helpers||{},a=t.el,i=t.escapeHTML||function(e){return String(null==e?"":e).replace(/[&<>"]/g,function(e){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"}[e]})},o=t.sanitizeHTML||function(e){return String(e||"")},n=(t.renderOutputInline,t.faIcon||function(e,r){return'<i class="fa-solid fa-'+i(e)+'" aria-hidden="true"></i><span class="rbe-sr-only">'+i(r||e)+"</span>"}),d=/^(line|arrow|leftArrow|rightArrow|upArrow|downArrow|biArrow|elbow|curved|curve|polyline|scribble)$/,l=/^(rect|roundedRect|circle|oval|triangle|diamond|pentagon|hexagon|parallelogram|trapezoid|octagon|heart|cloud|cylinder|cube|callout|roundCallout|thought|plus|minus|multiply|divide|equal|brackets|text|wordart|image)$/,m=6e3,s=240;r.registerTool("mermaid",{label:"Mermaid",hint:"Visual diagrams and flowcharts",icon:"diagram-project",premiumFeature:"mermaid",defaultData:{code:"",alignment:"center",openOnInsert:!0,diagram:{elements:[],workspace:{width:1100,height:620,zoom:1}}},render:function(e,r){p();var t=this,o=a("div","rbe-plugin-card rbe-mermaid-block rbe-mermaid-card");o.tabIndex=0;var d="left"===r.alignment||"right"===r.alignment?r.alignment:"center",l=x(r);o.innerHTML='<input type="hidden" class="rbe-mermaid-alignment" value="'+i(d)+'"><input type="hidden" class="rbe-mermaid-diagram-json"><textarea class="rbe-mermaid-code" hidden></textarea><input class="rbe-mermaid-workspace-w" type="hidden" value="'+i(l.width)+'"><input class="rbe-mermaid-workspace-h" type="hidden" value="'+i(l.height)+'"><input class="rbe-mermaid-zoom" type="hidden" value="'+i(l.zoom)+'"><div class="rbe-mermaid-card-head"><span class="rbe-mermaid-card-title">Mermaid drawing</span><button type="button" class="rbe-mermaid-edit-btn" title="Edit drawing"'+(t.readOnly?" hidden":"")+">"+n("pen-to-square","Edit drawing")+'</button></div><div class="rbe-mermaid-card-preview"></div>',e.appendChild(o),o.querySelector(".rbe-mermaid-code").value=r.code||"",o.querySelector(".rbe-mermaid-diagram-json").value=JSON.stringify(z(r)),R(o),o.addEventListener("click",function(e){e.target.closest(".rbe-mermaid-edit-btn")&&(e.preventDefault(),t.readOnly||H(t,o))}),t.readOnly||!0!==r.openOnInsert||setTimeout(function(){H(t,o)},80)},serialize:function(e){var r=[];try{r=JSON.parse((e.querySelector(".rbe-mermaid-diagram-json")||{}).value||"[]")}catch(e){}return{code:(e.querySelector(".rbe-mermaid-code")||{}).value||"",alignment:(e.querySelector(".rbe-mermaid-alignment")||{}).value||"center",openOnInsert:!1,diagram:{elements:r.map(q),workspace:I(e)}}},toHTML:function(e){var r="left"===e.alignment||"right"===e.alignment?e.alignment:"center",t=z(e);return'<figure class="rbe-output-mermaid-wrap rbe-output-align-'+i(r)+'"><div class="rbe-output-mermaid-diagram">'+E(t,"",x(e),null)+"</div></figure>"},toMarkdown:function(e){return"```mermaid\n"+(e.code||"")+"\n```"}}),p(),function(){var e=function(){W(document)};if("loading"===document.readyState?document.addEventListener("DOMContentLoaded",e,{once:!0}):setTimeout(e,0),document.body){var r=0;new MutationObserver(function(){clearTimeout(r),r=setTimeout(e,60)}).observe(document.body,{childList:!0,subtree:!0})}}()}function p(){if(!document.querySelector("style[data-blockwriteai-advanced-blocks]")){var e=document.createElement("style");e.dataset.blockwriteaiAdvancedBlocks="true",e.textContent=".rbe-plugin-card{border:1px solid var(--rbe-border,#d7dee8);border-radius:8px;background:#fff;padding:12px;display:grid;gap:12px;}.rbe-plugin-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}.rbe-plugin-toolbar label{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:750;color:#667085;}.rbe-plugin-toolbar input,.rbe-plugin-toolbar select,.rbe-plugin-card textarea{border:1px solid var(--rbe-border,#d7dee8);border-radius:7px;background:#fff;color:#172033;font:14px/1.4 Arial,sans-serif;padding:8px 9px;}.rbe-plugin-toolbar input[type='color']{width:40px;min-width:40px;height:34px;padding:3px;}.rbe-plugin-card textarea{width:100%;min-height:150px;resize:vertical;font-family:Consolas,'Liberation Mono',monospace;}.rbe-plugin-preview{border:1px dashed #cbd5e1;border-radius:8px;background:#f8fbff;min-height:120px;padding:12px;overflow:auto;}.rbe-chart-block{position:relative;}.rbe-chart-preview-wrap{position:relative;}.rbe-chart-type-bar{position:absolute;left:50%;top:50%;z-index:4;display:flex;gap:6px;align-items:center;border:1px solid #cbd5e1;border-radius:999px;background:rgba(255,255,255,.96);padding:7px;box-shadow:0 16px 40px rgba(15,23,42,.16);opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.96);transition:opacity .16s ease,transform .16s ease;}.rbe-chart-preview-wrap:hover .rbe-chart-type-bar,.rbe-chart-type-bar:focus-within{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1);}.rbe-chart-type-btn{width:34px;height:34px;border:1px solid #d7dee8;border-radius:999px;background:#fff;color:#344054;display:inline-grid;place-items:center;cursor:pointer;}.rbe-chart-type-btn:hover,.rbe-chart-type-btn.is-active{border-color:#2563eb;background:#eaf1ff;color:#1d4ed8;}.rbe-chart-slice-colors{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}.rbe-chart-slice-colors[hidden],.rbe-chart-series-color[hidden]{display:none!important;}.rbe-chart-slice-label{font-size:12px;font-weight:800;color:#667085;}.rbe-chart-slice-list{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}.rbe-chart-slice-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid #d7dee8;border-radius:999px;background:#fff;padding:3px 6px;font-size:11px;font-weight:750;color:#475467;}.rbe-chart-slice-chip input{width:28px!important;min-width:28px!important;height:24px!important;padding:2px!important;border-radius:999px;}.rbe-chart-preview svg,.rbe-output-chart svg{width:100%;height:auto;max-height:300px;}.rbe-output-chart,.rbe-output-mermaid,.rbe-output-latex,.rbe-output-audio,.rbe-output-drawing,.rbe-output-columns{margin:0 0 15px;}.rbe-output-chart{border:1px solid #d7dee8;border-radius:8px;padding:12px;background:#fff;}.rbe-output-chart-title{display:block;margin-bottom:8px;font-weight:760;}.rbe-chart-caption{width:min(560px,100%);min-height:42px;margin:0 auto;border:1px solid var(--rbe-border,#d7dee8);border-radius:8px;background:#fff;padding:10px 12px;text-align:center;outline:none;}.rbe-chart-caption:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12);}.rbe-chart-caption:empty:before{content:attr(data-placeholder);color:#98a2b3;}.rbe-output-chart-caption{display:block;margin:10px auto 0;color:#475467;font-size:13px;font-weight:650;}.rbe-latex-preview,.rbe-output-latex{font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:1.6;text-align:center;font-style:italic;}.rbe-output-latex{display:block;width:100%;}.rbe-latex-frac{display:inline-grid;grid-template-rows:auto auto;vertical-align:middle;text-align:center;line-height:1.1;}.rbe-latex-frac span:first-child{border-bottom:1px solid currentColor;padding:0 2px;}.rbe-output-align-left{text-align:left;}.rbe-output-align-center{text-align:center;}.rbe-output-align-right{text-align:right;}.rbe-output-align-center>.rbe-output-mermaid-diagram,.rbe-output-align-center>.rbe-output-mermaid,.rbe-output-align-center>svg{margin-left:auto;margin-right:auto;}.rbe-output-align-right>.rbe-output-mermaid-diagram,.rbe-output-align-right>.rbe-output-mermaid,.rbe-output-align-right>svg{margin-left:auto;margin-right:0;}.rbe-mermaid-block{gap:10px;}.rbe-mermaid-card{position:relative;min-height:220px;display:grid;gap:10px;align-items:stretch;border:1px solid #d7dee8;border-radius:10px;background:#fbfdff;padding:14px;}.rbe-mermaid-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}.rbe-mermaid-card-title{font-weight:820;color:#172033;font-size:14px;}.rbe-mermaid-card-preview{min-height:160px;display:grid;place-items:center;border:1px dashed #cbd5e1;border-radius:9px;background:#fff;padding:12px;overflow:auto;}.rbe-mermaid-card-preview .rbe-output-mermaid-diagram{max-width:100%;width:100%;}.rbe-mermaid-card-empty{color:#667085;font-weight:750;font-size:13px;}.rbe-mermaid-edit-btn{position:absolute;right:12px;top:12px;width:34px;height:34px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#172033;display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 28px rgba(15,23,42,.12);}.rbe-mermaid-edit-btn:hover,.rbe-mermaid-edit-btn:focus-visible{border-color:#2563eb;color:#1d4ed8;background:#eaf1ff;}.rbe-mermaid-modal-open{overflow:hidden!important;}.rbe-mermaid-modal{position:fixed;inset:0;z-index:10000;background:rgba(15,23,42,.46);display:grid;place-items:stretch;padding:22px;}.rbe-mermaid-dialog{display:grid;grid-template-rows:auto 1fr auto;min-height:0;border-radius:14px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.32);overflow:hidden;}.rbe-mermaid-modal-head,.rbe-mermaid-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #e2e8f0;}.rbe-mermaid-modal-foot{border-top:1px solid #e2e8f0;border-bottom:0;justify-content:flex-end;}.rbe-mermaid-modal-title{margin:0;font-size:17px;font-weight:820;color:#172033;}.rbe-mermaid-close{width:34px;height:34px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;display:grid;place-items:center;cursor:pointer;}.rbe-mermaid-modal-save,.rbe-mermaid-modal-cancel{border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#172033;font-weight:800;padding:9px 14px;cursor:pointer;}.rbe-mermaid-modal-save{border-color:#2563eb;background:#2563eb;color:#fff;}.rbe-mermaid-modal-body{min-height:0;overflow:hidden;padding:0;background:#f8fafc;}.rbe-mermaid-modal .rbe-mermaid-block{height:100%;border:0;border-radius:0;background:transparent;padding:0;display:grid;grid-template-rows:auto 1fr;gap:0;}.rbe-mermaid-toolbar{display:flex;flex-wrap:wrap;gap:7px;align-items:center;padding:8px;border:1px solid #d7dee8;border-radius:12px;background:#eef4fb;}.rbe-mermaid-modal .rbe-mermaid-toolbar{position:relative;z-index:5;border-width:0 0 1px;border-radius:0;background:#edf2f8;padding:9px 14px;}.rbe-mermaid-tool,.rbe-mermaid-icon-btn{width:34px;height:34px;border:1px solid transparent;border-radius:8px;background:transparent;color:#344054;display:inline-grid;place-items:center;cursor:pointer;}.rbe-mermaid-icon-btn{border-color:#d7dee8;background:#fff;}.rbe-mermaid-tool:hover,.rbe-mermaid-tool.is-active,.rbe-mermaid-icon-btn:hover,.rbe-mermaid-icon-btn.is-active{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8;}.rbe-mermaid-tool:disabled,.rbe-mermaid-icon-btn:disabled{opacity:.45;cursor:not-allowed;}.rbe-mermaid-menu{position:relative;}.rbe-mermaid-menu-btn{width:34px;height:34px;border:1px solid transparent;border-radius:8px;background:transparent;color:#344054;display:inline-grid;place-items:center;cursor:pointer;}.rbe-mermaid-menu-btn:hover,.rbe-mermaid-menu:focus-within>.rbe-mermaid-menu-btn{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8;}.rbe-mermaid-popover{position:absolute;left:0;top:calc(100% + 6px);z-index:12;display:none;min-width:166px;border:1px solid #d7dee8;border-radius:8px;background:#fff;box-shadow:0 16px 34px rgba(15,23,42,.18);padding:6px;}.rbe-mermaid-menu:focus-within>.rbe-mermaid-popover,.rbe-mermaid-menu:hover>.rbe-mermaid-popover{display:block;}.rbe-mermaid-menu-row{position:relative;display:flex;align-items:center;gap:10px;min-height:34px;padding:7px 8px;border-radius:6px;font-size:14px;color:#344054;white-space:nowrap;}.rbe-mermaid-menu-row:hover{background:#eef2f7;}.rbe-mermaid-menu-row:after{content:'›';margin-left:auto;color:#667085;}.rbe-mermaid-submenu{position:absolute;left:100%;top:-7px;display:none;min-width:270px;border:1px solid #d7dee8;border-radius:8px;background:#fff;box-shadow:0 16px 34px rgba(15,23,42,.18);padding:8px;}.rbe-mermaid-menu-row:hover>.rbe-mermaid-submenu{display:block;}.rbe-mermaid-popover:not(:has(.rbe-mermaid-menu-row:hover)) .rbe-mermaid-menu-row:first-child>.rbe-mermaid-submenu{display:block;}.rbe-mermaid-menu-row-icon{width:18px;display:inline-grid;place-items:center;color:#344054;}.rbe-mermaid-choice-grid{display:grid;grid-template-columns:repeat(10,22px);gap:7px;align-items:center;}.rbe-mermaid-choice-grid:has(+ .rbe-mermaid-choice-grid){border-bottom:1px solid #e5e7eb;padding-bottom:8px;margin-bottom:8px;}.rbe-mermaid-choice{width:22px;height:22px;border:0;background:transparent;color:#111827;display:grid;place-items:center;cursor:pointer;font:18px/1 Arial,sans-serif;border-radius:4px;}.rbe-mermaid-choice:hover,.rbe-mermaid-choice.is-active{background:#dbeafe;color:#1d4ed8;}.rbe-mermaid-line-menu .rbe-mermaid-popover{min-width:210px;}.rbe-mermaid-line-menu .rbe-mermaid-menu-row:after{content:'';}.rbe-mermaid-line-choice{width:100%;border:0;border-radius:6px;background:transparent;color:#344054;display:flex;align-items:center;gap:10px;padding:8px;text-align:left;cursor:pointer;font:14px/1.2 Arial,sans-serif;}.rbe-mermaid-line-choice:hover{background:#eef2f7;color:#1d4ed8;}.rbe-mermaid-menu-select,.rbe-mermaid-action-select,.rbe-mermaid-stylebar select,.rbe-mermaid-workspace input{border:1px solid #d7dee8;border-radius:8px;background:#fff;color:#172033;font:13px/1.2 Arial,sans-serif;padding:7px 9px;max-width:156px;}.rbe-mermaid-workspace input{width:72px;}.rbe-mermaid-stylebar,.rbe-mermaid-workspace{display:flex;flex-wrap:wrap;gap:7px;align-items:center;border:1px solid #d7dee8;border-radius:10px;background:#fbfdff;padding:6px;}.rbe-mermaid-stylebar[hidden]{display:none!important;}.rbe-mermaid-stylebar label,.rbe-mermaid-workspace label{display:inline-flex;gap:6px;align-items:center;font-size:12px;font-weight:800;color:#667085;}.rbe-mermaid-stylebar label{height:32px;border:1px solid #d7dee8;border-radius:8px;background:#fff;padding:3px 6px;color:#344054;}.rbe-mermaid-stylebar label:hover{border-color:#93c5fd;background:#eef6ff;color:#1d4ed8;}.rbe-mermaid-stylebar .rbe-mermaid-icon-control,.rbe-mermaid-stylebar .rbe-mermaid-style-btn{position:relative;width:34px;height:32px;box-sizing:border-box;border:1px solid transparent;border-radius:8px;background:#fff;color:#344054;display:inline-grid;place-items:center;padding:0;cursor:pointer;}.rbe-mermaid-stylebar .rbe-mermaid-icon-control:hover,.rbe-mermaid-stylebar .rbe-mermaid-style-btn:hover,.rbe-mermaid-stylebar .rbe-mermaid-style-btn.is-active{border-color:#93c5fd;background:#dbeafe;color:#1d4ed8;}.rbe-mermaid-stylebar .rbe-mermaid-icon-control input,.rbe-mermaid-stylebar .rbe-mermaid-icon-control select{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer;}.rbe-mermaid-control-swatch{position:absolute;left:7px;right:7px;bottom:3px;height:3px;border-radius:999px;background:#2563eb;pointer-events:none;}.rbe-mermaid-fill-swatch{background:var(--rbe-mermaid-fill,#eef5ff);}.rbe-mermaid-stroke-swatch{background:var(--rbe-mermaid-stroke,#111827);}.rbe-mermaid-text-swatch{background:var(--rbe-mermaid-text,#172033);}.rbe-mermaid-highlight-swatch{background:var(--rbe-mermaid-highlight,transparent);}.rbe-mermaid-stylebar.is-line-selection .rbe-mermaid-fill-control,.rbe-mermaid-stylebar.is-line-selection .rbe-mermaid-text-control{display:none;}.rbe-mermaid-stylebar:not(.is-text-capable) .rbe-mermaid-text-control{display:none;}.rbe-mermaid-stylebar .rbe-mermaid-hidden-control{display:none!important;}.rbe-mermaid-hint{font-size:12px;font-weight:700;color:#667085;}.rbe-mermaid-stylebar input[type='color']{width:28px;height:24px;padding:1px;border:1px solid #d7dee8;border-radius:6px;background:#fff;}.rbe-mermaid-stylebar input[type='range']{width:90px;}.rbe-mermaid-stylebar select{height:24px;max-width:86px;padding:2px 5px;font-size:12px;}.rbe-mermaid-stylebar .rbe-mermaid-icon-control.is-active{border-color:#93c5fd;background:#dbeafe;color:#1d4ed8;}.rbe-mermaid-toolbar-sep{width:1px;height:24px;background:#cbd5e1;margin:0 2px;}.rbe-mermaid-stage-shell{display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:26px minmax(0,1fr);min-height:0;height:100%;background:#fff;}.rbe-mermaid-ruler-corner{grid-column:1;grid-row:1;border-right:1px solid #cbd5e1;border-bottom:1px solid #cbd5e1;background:#f8fafc;}.rbe-mermaid-top-ruler{grid-column:2;grid-row:1;position:relative;border-bottom:1px solid #cbd5e1;background:#f8fafc;background-image:repeating-linear-gradient(90deg,#cbd5e1 0,#cbd5e1 1px,transparent 1px,transparent 10px),repeating-linear-gradient(90deg,#94a3b8 0,#94a3b8 1px,transparent 1px,transparent 100px);}.rbe-mermaid-side-ruler{grid-column:1;grid-row:2;position:relative;border-right:1px solid #cbd5e1;background:#f8fafc;background-image:repeating-linear-gradient(0deg,#cbd5e1 0,#cbd5e1 1px,transparent 1px,transparent 10px),repeating-linear-gradient(0deg,#94a3b8 0,#94a3b8 1px,transparent 1px,transparent 100px);}.rbe-mermaid-top-ruler span,.rbe-mermaid-side-ruler span{position:absolute;color:#475467;font:11px/1 Arial,sans-serif;user-select:none;}.rbe-mermaid-top-ruler span{top:5px;transform:translateX(-50%);}.rbe-mermaid-side-ruler span{left:8px;transform:translateY(-50%) rotate(-90deg);transform-origin:center;}.rbe-mermaid-stage{position:relative;border:1px solid #d7dee8;border-radius:8px;background-color:#fff;background-image:linear-gradient(45deg,#f8fafc 25%,transparent 25%),linear-gradient(-45deg,#f8fafc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f8fafc 75%),linear-gradient(-45deg,transparent 75%,#f8fafc 75%);background-position:0 0,0 12px,12px -12px,-12px 0;background-size:24px 24px;overflow:auto;resize:vertical;min-height:320px;max-height:560px;}.rbe-mermaid-modal .rbe-mermaid-stage{grid-column:2;grid-row:2;height:100%;min-height:0;max-height:none;border:0;border-radius:0;resize:none;}.rbe-mermaid-canvas{display:block;width:auto;height:auto;min-width:100%;touch-action:none;cursor:crosshair;background:rgba(255,255,255,.72);}.rbe-mermaid-canvas [data-el-id]{cursor:move;}.rbe-mermaid-canvas .is-selected{outline:none;filter:drop-shadow(0 0 0 #2563eb);}.rbe-mermaid-selected-stroke{stroke:#2563eb!important;stroke-width:2!important;fill:none!important;pointer-events:none;}.rbe-mermaid-handle{fill:#fff;stroke:#2563eb;stroke-width:2;cursor:nwse-resize;transition:fill .12s ease;}.rbe-mermaid-handle:hover{fill:var(--rbe-handle-color,#2563eb);}.rbe-mermaid-handle[data-handle='ne'],.rbe-mermaid-handle[data-handle='sw']{cursor:nesw-resize;}.rbe-mermaid-handle[data-handle='n'],.rbe-mermaid-handle[data-handle='s']{cursor:ns-resize;}.rbe-mermaid-handle[data-handle='e'],.rbe-mermaid-handle[data-handle='w']{cursor:ew-resize;}.rbe-mermaid-rotate{cursor:grab;}.rbe-mermaid-rotate circle{fill:#2563eb;stroke:#fff;stroke-width:2;}.rbe-mermaid-rotate text{fill:#fff;stroke:none;font:800 12px/1 Arial,sans-serif;pointer-events:none;}.rbe-mermaid-rotate-icon{pointer-events:none;}.rbe-mermaid-marquee{fill:rgba(37,99,235,.09);stroke:#2563eb;stroke-width:1.5;stroke-dasharray:6 4;pointer-events:none;}.rbe-mermaid-arrow-origin{fill:#fff;stroke:#2563eb;stroke-width:2;pointer-events:none;}.rbe-mermaid-hidden-text{visibility:hidden!important;}.rbe-mermaid-text-editor{position:absolute;z-index:20;box-sizing:border-box;border:0;border-radius:0;background:transparent;outline:none;overflow:hidden;resize:none;color:#172033;box-shadow:none;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;caret-color:#0f172a;font-weight:400;}.rbe-mermaid-text-editor::placeholder{color:#667085;opacity:.62;}.rbe-mermaid-options{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border:1px solid #d7dee8;border-radius:8px;background:#fff;padding:8px;}.rbe-mermaid-options[hidden]{display:none;}.rbe-mermaid-options input,.rbe-mermaid-options select{border:1px solid #d7dee8;border-radius:7px;padding:7px 8px;}.rbe-mermaid-source{margin-top:0;}.rbe-mermaid-source summary{cursor:pointer;font-weight:750;color:#475467;}.rbe-output-mermaid-diagram{display:block;max-width:100%;max-height:560px;overflow:auto;border:1px solid #d7dee8;border-radius:8px;background:#fff;}.rbe-output-mermaid-diagram svg{display:block;width:auto;max-width:none;height:auto;min-width:100%;border:0;border-radius:0;background:#fff;}.rbe-output-mermaid-error{display:inline-block;border:1px solid #fecaca;border-radius:8px;background:#fff1f2;color:#991b1b;padding:10px 12px;font:13px/1.45 Consolas,'Liberation Mono',monospace;white-space:pre-wrap;}.rbe-audio-dropzone{min-height:170px;}.rbe-audio-error{border:1px solid #fecaca;border-radius:8px;background:#fff1f2;color:#991b1b;padding:8px 10px;font-size:13px;font-weight:700;}.rbe-audio-card{display:grid;gap:10px;justify-items:center;text-align:center;}.rbe-audio-card audio,.rbe-output-audio audio{width:min(560px,100%);}.rbe-output-audio{display:grid;justify-items:center;text-align:center;}.rbe-output-audio figcaption{font-weight:760;margin-bottom:8px;}.rbe-drawing-text-input{min-width:220px;flex:1 1 260px;}.rbe-drawing-text-apply{min-width:38px;}.rbe-drawing-shell{display:grid;gap:10px;}.rbe-drawing-canvas{width:100%;height:260px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;touch-action:none;}.rbe-output-drawing img{max-width:100%;border:1px solid #d7dee8;border-radius:8px;background:#fff;}.rbe-columns-block{overflow-x:auto;}.rbe-columns-grid,.rbe-output-columns{display:grid;gap:12px;}.rbe-column-field{display:grid;gap:8px;}.rbe-column-header{min-height:38px;border:1px solid #d7dee8;border-radius:8px;padding:9px 10px;font-weight:760;background:#eef5ff!important;outline:none;}.rbe-column-header:focus,.rbe-column-editor:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12);}.rbe-column-header:empty:before{content:attr(data-placeholder);color:#98a2b3;font-weight:650;}.rbe-column-editor{min-height:120px;border:1px solid #d7dee8;border-radius:8px;padding:10px;background:#fbfdff;outline:none;}.rbe-column-editor:empty:before{content:attr(data-placeholder);color:#98a2b3;}.rbe-output-columns{grid-template-columns:repeat(var(--rbe-columns,2),minmax(180px,1fr));overflow-x:auto;}.rbe-output-column{border:1px solid #e2e8f0;border-radius:8px;padding:12px;background:#fff;}.rbe-output-column-header{margin:-12px -12px 10px;padding:10px 12px;border-bottom:1px solid #e2e8f0;border-radius:8px 8px 0 0;background:#eef5ff;font-weight:760;text-align:left;}.rbe-output-column-body{min-width:0;}.rbe-image-stage.is-media-menu-open{min-width:176px;}.rbe-image-transform-panel{position:absolute;left:50%;top:10px;z-index:4;transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,30px);gap:5px;align-items:center;justify-content:center;max-width:calc(100% - 16px);opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;}.rbe-image-stage.is-media-menu-open>.rbe-image-transform-panel{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}.rbe-image-transform-panel .rbe-media-action{position:static;left:auto;top:auto;width:30px;height:30px;opacity:1;pointer-events:auto;transform:none;box-shadow:0 8px 18px rgba(15,23,42,.14);}.rbe-image-transform.is-active{background:#2563eb;color:#fff;}@media (max-width:900px){.rbe-plugin-toolbar input,.rbe-plugin-toolbar select,.rbe-plugin-card textarea{min-width:0;max-width:100%;}.rbe-chart-preview svg,.rbe-output-chart svg{max-height:260px;}.rbe-mermaid-modal{padding:10px;}.rbe-mermaid-dialog{border-radius:10px;}.rbe-mermaid-modal .rbe-mermaid-toolbar{overflow-x:auto;align-content:flex-start;}.rbe-mermaid-popover{max-width:calc(100vw - 28px);max-height:62dvh;overflow:auto;}.rbe-mermaid-submenu{max-width:calc(100vw - 44px);max-height:58dvh;overflow:auto;}.rbe-output-mermaid-diagram{max-height:60dvh;}.rbe-columns-grid{grid-template-columns:1fr!important;}.rbe-output-columns{grid-template-columns:1fr!important;}}@media (max-width:640px){.rbe-plugin-card{padding:10px;gap:10px;}.rbe-plugin-toolbar{display:grid;grid-template-columns:1fr;align-items:stretch;}.rbe-plugin-toolbar label{width:100%;justify-content:space-between;}.rbe-plugin-toolbar input,.rbe-plugin-toolbar select{width:100%;}.rbe-chart-type-bar{top:auto;bottom:10px;transform:translate(-50%,0) scale(.96);}.rbe-chart-preview-wrap:hover .rbe-chart-type-bar,.rbe-chart-type-bar:focus-within{transform:translate(-50%,0) scale(1);}.rbe-chart-slice-chip{width:100%;justify-content:space-between;}.rbe-latex-preview,.rbe-output-latex{font-size:18px;}.rbe-mermaid-modal{padding:0;}.rbe-mermaid-dialog{border-radius:0;}.rbe-mermaid-modal-head,.rbe-mermaid-modal-foot{padding:10px 12px;}.rbe-mermaid-modal-foot{flex-wrap:wrap;}.rbe-mermaid-modal-save,.rbe-mermaid-modal-cancel{flex:1 1 140px;}.rbe-mermaid-modal .rbe-mermaid-toolbar{gap:5px;padding:7px 8px;}.rbe-mermaid-tool,.rbe-mermaid-icon-btn,.rbe-mermaid-menu-btn{width:32px;height:32px;}.rbe-mermaid-stage-shell{grid-template-columns:22px minmax(0,1fr);grid-template-rows:22px minmax(0,1fr);}.rbe-mermaid-choice-grid{grid-template-columns:repeat(6,22px);}.rbe-mermaid-submenu{left:0;top:calc(100% + 6px);}.rbe-mermaid-stage{min-height:280px;}.rbe-mermaid-card-preview{min-height:140px;padding:8px;}.rbe-audio-card audio,.rbe-output-audio audio{width:100%;}.rbe-drawing-canvas{height:220px;}.rbe-image-transform-panel{grid-template-columns:repeat(3,28px);gap:4px;}.rbe-image-transform-panel .rbe-media-action{width:28px;height:28px;}.rbe-image-stage.is-media-menu-open{min-width:min(176px,100%);}}@media (max-width:900px){.rbe-mermaid-card,.rbe-mermaid-card-preview{min-width:0;max-width:100%;}.rbe-mermaid-card-preview .rbe-output-mermaid-diagram{width:100%;max-width:100%;}.rbe-mermaid-modal{overflow:hidden;}.rbe-mermaid-dialog{width:100%;max-width:100%;height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);}.rbe-mermaid-stage-shell{width:100%;min-width:0;overflow:hidden;}.rbe-mermaid-modal .rbe-mermaid-stage{width:100%;min-width:0;overflow:auto;}.rbe-mermaid-modal .rbe-mermaid-block{min-width:0;}.rbe-mermaid-card-preview .rbe-output-mermaid-diagram svg{max-width:100%;}}@media (max-width:640px){.rbe-mermaid-card{padding:10px;min-height:180px;}.rbe-mermaid-card-preview{width:100%;max-width:100%;overflow:auto;}.rbe-mermaid-card-preview .rbe-output-mermaid-diagram{max-height:340px;overflow:hidden;}.rbe-mermaid-card-preview .rbe-output-mermaid-diagram svg{width:100%!important;min-width:0!important;max-width:100%;height:auto!important;}.rbe-mermaid-dialog{height:100dvh;max-height:100dvh;}.rbe-mermaid-modal-body{min-height:0;overflow:hidden;}.rbe-mermaid-modal .rbe-mermaid-toolbar{max-width:100%;overflow-x:auto;overflow-y:hidden;white-space:nowrap;}.rbe-mermaid-stage-shell{width:100%;min-width:0;overflow:hidden;}.rbe-mermaid-modal .rbe-mermaid-stage{width:100%;min-width:0;overflow:auto;}.rbe-mermaid-top-ruler{min-width:0;}.rbe-mermaid-canvas{min-width:100%;}.rbe-mermaid-toolbar-sep{display:none;}}.rbe-mermaid-modal .rbe-mermaid-dialog{min-width:0;}.rbe-mermaid-modal .rbe-mermaid-modal-body{display:grid;min-height:0;}.rbe-mermaid-modal .rbe-mermaid-block{min-width:0;min-height:0;overflow:hidden;}.rbe-mermaid-modal .rbe-mermaid-stage-shell{min-width:0;min-height:0;}.rbe-mermaid-modal .rbe-mermaid-stage{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}@media (max-width:900px){.rbe-mermaid-modal{height:100dvh;max-height:100dvh;padding:8px;overflow:hidden;}.rbe-mermaid-dialog{width:100%;height:100%;max-height:100%;}.rbe-mermaid-modal-body{overflow:hidden;}.rbe-mermaid-modal .rbe-mermaid-block{grid-template-rows:auto minmax(0,1fr);}.rbe-mermaid-modal .rbe-mermaid-toolbar{flex-wrap:nowrap;align-items:center;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;}.rbe-mermaid-modal .rbe-mermaid-toolbar::-webkit-scrollbar{height:6px;}.rbe-mermaid-modal .rbe-mermaid-toolbar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px;}.rbe-mermaid-modal .rbe-mermaid-stylebar{flex:0 0 auto;flex-wrap:nowrap;min-width:max-content;}.rbe-mermaid-modal .rbe-mermaid-popover{position:fixed;left:12px!important;right:12px;top:98px;width:auto;min-width:0;max-width:none;max-height:calc(100dvh - 180px);overflow:auto;}.rbe-mermaid-modal .rbe-mermaid-stage-shell{height:100%;}.rbe-mermaid-modal .rbe-mermaid-stage{height:100%;min-height:0;max-height:none;}.rbe-mermaid-modal .rbe-mermaid-canvas{max-width:none;max-height:none;}}@media (max-width:640px){.rbe-mermaid-modal{padding:0;}.rbe-mermaid-dialog{width:100vw;height:100dvh;max-height:100dvh;border-radius:0;}.rbe-mermaid-modal-head{min-height:46px;padding:7px 10px;}.rbe-mermaid-modal-foot{display:flex;justify-content:center;align-items:center;width:100%;max-width:100%;min-height:56px;padding:8px 10px;background:#fff;overflow:hidden;}.rbe-mermaid-modal-save,.rbe-mermaid-modal-cancel{flex:0 0 auto;width:auto;min-width:112px;min-height:40px;white-space:nowrap;font-size:13px;}.rbe-mermaid-modal .rbe-mermaid-toolbar{gap:5px;padding:7px 8px;}.rbe-mermaid-modal .rbe-mermaid-stage-shell{grid-template-columns:20px minmax(0,1fr);grid-template-rows:22px minmax(0,1fr);}.rbe-mermaid-modal .rbe-mermaid-top-ruler span,.rbe-mermaid-modal .rbe-mermaid-side-ruler span{font-size:10px;}.rbe-mermaid-modal .rbe-mermaid-side-ruler span{left:5px;}.rbe-mermaid-modal .rbe-mermaid-popover{left:8px!important;right:8px;top:86px;max-height:calc(100dvh - 154px);}.rbe-mermaid-modal .rbe-mermaid-submenu{max-width:calc(100vw - 28px);}}@media (max-width:520px){.rbe-mermaid-modal .rbe-mermaid-popover{padding:6px;}.rbe-mermaid-modal .rbe-mermaid-menu-row{position:static;flex-wrap:wrap;white-space:normal;}.rbe-mermaid-modal .rbe-mermaid-menu-row:after{content:'';}.rbe-mermaid-modal .rbe-mermaid-menu-row>.rbe-mermaid-submenu{position:static;flex:1 1 100%;min-width:0;max-width:100%;margin-top:6px;border-radius:7px;box-shadow:none;}.rbe-mermaid-modal .rbe-mermaid-choice-grid{grid-template-columns:repeat(auto-fill,minmax(22px,1fr));}.rbe-mermaid-modal .rbe-mermaid-line-choice{font-size:13px;padding:7px;}}@media (max-width:420px){.rbe-mermaid-modal-title{font-size:15px;}.rbe-mermaid-modal-head{padding:7px 9px;}.rbe-mermaid-choice-grid{grid-template-columns:repeat(auto-fill,minmax(22px,1fr));}.rbe-mermaid-popover{max-width:calc(100vw - 16px);}.rbe-mermaid-submenu{max-width:calc(100vw - 24px);}.rbe-mermaid-modal .rbe-mermaid-tool,.rbe-mermaid-modal .rbe-mermaid-icon-btn,.rbe-mermaid-modal .rbe-mermaid-menu-btn{width:31px;height:31px;}.rbe-mermaid-modal .rbe-mermaid-stage-shell{grid-template-columns:18px minmax(0,1fr);grid-template-rows:20px minmax(0,1fr);}.rbe-mermaid-modal-foot{gap:8px;}.rbe-mermaid-modal-save,.rbe-mermaid-modal-cancel{min-width:104px;padding:8px 10px;}.rbe-mermaid-modal-save{font-size:0;}.rbe-mermaid-modal-save:after{content:'Save';font-size:13px;}}",document.head.appendChild(e)}}function c(e,r){return e=String(e||"").trim(),/^#[0-9a-f]{3}([0-9a-f]{3})?$/i.test(e)?e:r}function u(e,r,t){var a=document.querySelector("script[data-blockwriteai-lib='"+r+"']");if(a)"true"===a.dataset.loaded?t():a.addEventListener("load",t,{once:!0});else{var i=document.createElement("script");i.src=e,i.dataset.blockwriteaiLib=r,i.onload=function(){i.dataset.loaded="true",t()},i.onerror=t,document.head.appendChild(i)}}function b(r,t,a){r.innerHTML=function(e){var r=i(e||"");return r.replace(/\\int/g,"&int;").replace(/\\sum/g,"&sum;").replace(/\\sqrt\{([^}]*)\}/g,'&radic;<span style="text-decoration:overline">$1</span>').replace(/\\frac\{([^}]*)\}\{([^}]*)\}/g,'<span class="rbe-latex-frac"><span>$1</span><span>$2</span></span>').replace(/\^\{([^}]*)\}/g,"<sup>$1</sup>").replace(/\^([A-Za-z0-9+\-=]+)/g,"<sup>$1</sup>").replace(/_\{([^}]*)\}/g,"<sub>$1</sub>").replace(/_([A-Za-z0-9+\-=]+)/g,"<sub>$1</sub>").replace(/\\,/g," ").replace(/\\ /g," ")}(t||""),t&&t.trim()&&(!function(e,r){if(!document.querySelector("link[data-blockwriteai-lib='"+r+"']")){var t=document.createElement("link");t.rel="stylesheet",t.href=e,t.dataset.blockwriteaiLib=r,document.head.appendChild(t)}}("https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css","katex-css"),u("https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js","katex",function(){if(e.katex)try{e.katex.render(t,r,{throwOnError:!1,displayMode:!!a})}catch(e){}}))}function h(e){return d.test(e||"")}function g(e){return"text"===e||"wordart"===e}function f(e,r,t,a){return e=Number(e),Number.isFinite(e)||(e=a),Math.min(t,Math.max(r,e))}function x(e){var r=e&&e.diagram&&e.diagram.workspace?e.diagram.workspace:e&&e.workspace?e.workspace:{};return{width:f(r.width,640,m,1100),height:f(r.height,360,m,620),zoom:f(r.zoom,.35,2.5,1)}}function y(e){return"dotted"===e||"dashed"===e||"longDash"===e||"dashDot"===e?e:"solid"}function v(e){return"dotted"===(e=y(e))?"2 8":"dashed"===e?"10 8":"longDash"===e?"18 10":"dashDot"===e?"14 7 2 7":""}function w(e){return e=Number(e),Number.isFinite(e)||(e=1.25),f(e,1,2.5,1.25)}function k(e){return"bullet"===e||"number"===e?e:"none"}function S(e,r){return"bullet"===e?"circle"===r||"square"===r||"none"===r?r:"disc":"number"===e?"lower-alpha"===r||"upper-alpha"===r||"lower-roman"===r||"upper-roman"===r||"none"===r?r:"decimal":"none"}function q(e,r){e=e||{};var t=l.test(e.type)||d.test(e.type)?e.type:"roundedRect",a=h(t),i=e.text||"";i||"wordart"!==t||(i="WordArt"),!i&&/^(plus|minus|multiply|divide|equal|brackets)$/.test(t)&&(i={plus:"+",minus:"-",multiply:"x",divide:"/",equal:"=",brackets:"[ ]"}[t]||"");var o=String(e.fill||"").trim(),n="wordart"===t?"#f59e0b":"text"===t?"transparent":"#eef5ff";return{id:e.id||"diagram-"+r+"-"+Math.random().toString(36).slice(2),type:t,x:f(e.x,-500,4e3,80),y:f(e.y,-500,4e3,80),w:f(e.w,20,2e3,g(t)?180:150),h:f(e.h,20,2e3,g(t)?70:80),x1:f(null==e.x1?e.x:e.x1,-500,4e3,80),y1:f(null==e.y1?e.y:e.y1,-500,4e3,80),x2:f(null==e.x2?Number(e.x||80)+160:e.x2,-500,4e3,240),y2:f(null==e.y2?e.y:e.y2,-500,4e3,80),text:i,fill:a||"transparent"===o?"transparent":c(o,n),stroke:c(e.stroke,a?"#475467":"#111827"),strokeWidth:f(e.strokeWidth,1,16,1),dash:y(e.dash),opacity:f(e.opacity,.1,1,1),fontFamily:e.fontFamily||"Arial",fontSize:f(e.fontSize,8,96,"wordart"===t?36:16),bold:!!e.bold||"wordart"===t,italic:!!e.italic,underline:!!e.underline,textColor:c(e.textColor,"#172033"),highlightColor:"transparent"===String(e.highlightColor||"").trim()?"transparent":c(e.highlightColor,"transparent"),textAlign:"left"===e.textAlign||"right"===e.textAlign||"justify"===e.textAlign?e.textAlign:"center",lineHeight:w(e.lineHeight),spacingBefore:f(e.spacingBefore,0,48,0),spacingAfter:f(e.spacingAfter,0,48,0),indent:f(e.indent,0,8,0),listType:k(e.listType),listStyle:S(k(e.listType),e.listStyle),rotation:f(e.rotation,-360,360,0),group:e.group||"",flipX:!!e.flipX,flipY:!!e.flipY,image:e.image||"",name:e.name||""}}function z(e){var r,t,a=e&&e.diagram&&Array.isArray(e.diagram.elements)?e.diagram.elements:Array.isArray(e&&e.diagram)?e.diagram:null;return!a&&e&&e.code&&(r=e.code,a=(t=String(r||"").match(/([A-Za-z0-9_]+)\[([^\]]+)\]\s*-+>\s*([A-Za-z0-9_]+)\[([^\]]+)\]/))?[{id:"shape-"+t[1],type:"roundedRect",x:120,y:140,w:170,h:76,text:t[2],fill:"#eef5ff",stroke:"#111827",fontSize:16,strokeWidth:1},{id:"shape-"+t[3],type:"roundedRect",x:560,y:140,w:190,h:76,text:t[4],fill:"#ecfdf3",stroke:"#111827",fontSize:16,strokeWidth:1},{id:"line-"+t[1]+"-"+t[3],type:"arrow",x1:290,y1:178,x2:560,y2:178,stroke:"#475467",strokeWidth:1}]:null),(a||[{id:"shape-start",type:"roundedRect",x:120,y:140,w:170,h:76,text:"Start",fill:"#eef5ff",stroke:"#111827",fontSize:16,strokeWidth:1},{id:"shape-blockwriteai",type:"roundedRect",x:560,y:140,w:190,h:76,text:"BlockWriteAI",fill:"#ecfdf3",stroke:"#111827",fontSize:16,strokeWidth:1},{id:"line-main",type:"arrow",x1:290,y1:178,x2:560,y2:178,stroke:"#475467",strokeWidth:1}]).map(q)}function M(e){return String(e||"").split(",").map(function(e){return e.trim()}).filter(Boolean)}function A(e,r,t,a,i,o){for(var n=[],d=0;d<i;d+=1){var l=(o||-Math.PI/2)+d/i*Math.PI*2;n.push(e+Math.cos(l)*t+","+(r+Math.sin(l)*a))}return n.join(" ")}function C(e){if(!e.text)return"";if("wordart"===e.type){var r="left"===e.textAlign?"start":"right"===e.textAlign?"end":"middle",t="left"===e.textAlign?e.x+12:"right"===e.textAlign?e.x+e.w-12:e.x+e.w/2,a=e.y+e.h/2,o=e.underline?' text-decoration="underline"':"",n=' stroke="'+i(e.stroke)+'" stroke-width="'+Math.max(1,e.strokeWidth)+'" paint-order="stroke fill"';return'<text x="'+t+'" y="'+a+'" text-anchor="'+r+'" dominant-baseline="middle" font-family="'+i(e.fontFamily)+', Arial, sans-serif" font-size="'+i(e.fontSize)+'" font-weight="'+(e.bold?"800":"400")+'" font-style="'+(e.italic?"italic":"normal")+'"'+o+n+' fill="'+i(e.textColor)+'">'+i(e.text||"")+"</text>"}var d={x:e.x,y:e.y,w:e.w,h:e.h};"callout"===e.type&&(d.h=.72*e.h),"roundCallout"===e.type&&(d.h=.7*e.h),"thought"===e.type&&(d.h=.72*e.h);var l=e.textAlign||"center",m="left"===l?"flex-start":"right"===l?"flex-end":"center",s=e.underline?"text-decoration:underline;":"",p="box-sizing:border-box;width:100%;height:100%;display:flex;align-items:center;justify-content:"+m+";overflow:hidden;padding:4px 8px 4px "+(8+10*e.indent)+"px;color:"+i(e.textColor)+";font-family:"+i(e.fontFamily)+",Arial,sans-serif;font-size:"+i(e.fontSize)+"px;font-weight:"+(e.bold?"800":"400")+";font-style:"+(e.italic?"italic":"normal")+";"+s+"text-align:"+i(l)+";line-height:"+i(e.lineHeight)+";white-space:normal;overflow-wrap:anywhere;word-break:break-word;",c="max-width:100%;";return"justify"===l&&(c+="text-align:justify;"),'<foreignObject class="rbe-mermaid-text-layer" x="'+i(d.x)+'" y="'+i(d.y)+'" width="'+i(d.w)+'" height="'+i(d.h)+'"><div xmlns="http://www.w3.org/1999/xhtml" style="'+p+'"><div style="'+c+'">'+function(e){var r=String(e.text||"").split(/\r?\n/),t=e.highlightColor&&"transparent"!==e.highlightColor?"background-color:"+i(e.highlightColor)+";":"",a=t?' style="'+t+'box-decoration-break:clone;-webkit-box-decoration-break:clone;"':"",o=r.map(function(e){return"<span"+a+">"+(e?i(e):"&nbsp;")+"</span>"}),n=i(S(e.listType,e.listStyle));return"bullet"===e.listType?'<ul style="margin:0;list-style-type:'+n+";padding-left:"+(18+18*e.indent)+'px;">'+o.map(function(e){return"<li>"+e+"</li>"}).join("")+"</ul>":"number"===e.listType?'<ol style="margin:0;list-style-type:'+n+";padding-left:"+(22+18*e.indent)+'px;">'+o.map(function(e){return"<li>"+e+"</li>"}).join("")+"</ol>":o.map(function(t,a){var o="margin:0;";return 0===a&&e.spacingBefore&&(o+="padding-top:"+i(e.spacingBefore)+"px;"),a===r.length-1&&e.spacingAfter&&(o+="padding-bottom:"+i(e.spacingAfter)+"px;"),'<div style="'+o+'">'+t+"</div>"}).join("")}(e)+"</div></div></foreignObject>"}function L(e){return h(e.type)?{x:Math.min(e.x1,e.x2),y:Math.min(e.y1,e.y2),w:Math.abs(e.x2-e.x1),h:Math.abs(e.y2-e.y1)}:{x:e.x,y:e.y,w:e.w,h:e.h}}function E(e,r,t,a){e=(e||[]).map(q),t=t||{width:1100,height:620,zoom:1};var o=M(r),n=e.map(function(e){var r=-1!==o.indexOf(e.id),t=r?function(e,r){var t=L(e),a='<rect class="rbe-mermaid-selected-stroke" x="'+t.x+'" y="'+t.y+'" width="'+t.w+'" height="'+t.h+'" rx="6"></rect>',i=' style="--rbe-handle-color:#2563eb"';if(!r||h(e.type))return r&&h(e.type)&&(a+='<circle class="rbe-mermaid-handle" data-handle="start" cx="'+e.x1+'" cy="'+e.y1+'" r="5"'+i+'></circle><circle class="rbe-mermaid-handle" data-handle="end" cx="'+e.x2+'" cy="'+e.y2+'" r="5"'+i+"></circle>"),a;[["nw",t.x,t.y],["ne",t.x+t.w,t.y],["se",t.x+t.w,t.y+t.h],["sw",t.x,t.y+t.h]].forEach(function(e){a+='<circle class="rbe-mermaid-handle" data-handle="'+e[0]+'" cx="'+e[1]+'" cy="'+e[2]+'" r="5"'+i+"></circle>"}),[["n",t.x+t.w/2,t.y,24,6],["e",t.x+t.w,t.y+t.h/2,6,24],["s",t.x+t.w/2,t.y+t.h,24,6],["w",t.x,t.y+t.h/2,6,24]].forEach(function(e){a+='<rect class="rbe-mermaid-handle" data-handle="'+e[0]+'" x="'+(e[1]-e[3]/2)+'" y="'+(e[2]-e[4]/2)+'" width="'+e[3]+'" height="'+e[4]+'" rx="3"'+i+"></rect>"});var o=t.x+t.w/2,n=t.y-28;return a+='<g class="rbe-mermaid-rotate" data-handle="rotate"><circle cx="'+o+'" cy="'+n+'" r="9"></circle><path d="M'+(o+2)+" "+(n-3)+" A4 4 0 1 0 "+(o+4)+" "+(n+2)+'" fill="none" stroke="#fff" stroke-width="1.6" stroke-linecap="round"></path><path d="M'+(o+3)+" "+(n-6)+" L"+(o+7)+" "+(n-3)+" L"+(o+3)+" "+n+' Z" fill="#fff"></path></g>'}(e,1===o.length):"",a="";if(!h(e.type)&&(e.rotation||e.flipX||e.flipY)){var n=e.x+e.w/2,d=e.y+e.h/2;a=' transform="'+(e.rotation?"rotate("+i(e.rotation)+" "+n+" "+d+") ":"")+(e.flipX||e.flipY?"translate("+n+" "+d+") scale("+(e.flipX?-1:1)+" "+(e.flipY?-1:1)+") translate("+-n+" "+-d+")":"")+'"'}if(h(e.type)){var l="leftArrow"===e.type||"biArrow"===e.type?' marker-start="url(#rbe-arrow-head-start)"':"",m=/^(arrow|rightArrow|upArrow|downArrow|biArrow|elbow|curved)$/.test(e.type)?' marker-end="url(#rbe-arrow-head)"':"",s=v(e.dash),p=r&&(l||m)?'<circle class="rbe-mermaid-arrow-origin" cx="'+i(e.x1)+'" cy="'+i(e.y1)+'" r="4"></circle>':"";return'<g data-el-id="'+i(e.id)+'">'+t+p+'<path d="'+function(e){if("elbow"===e.type)return"M"+e.x1+" "+e.y1+" L"+e.x2+" "+e.y1+" L"+e.x2+" "+e.y2;if("curved"===e.type||"curve"===e.type){var r=(e.x1+e.x2)/2;return"M"+e.x1+" "+e.y1+" C"+r+" "+e.y1+" "+r+" "+e.y2+" "+e.x2+" "+e.y2}if("polyline"===e.type)return"M"+e.x1+" "+e.y1+" L"+(e.x1+e.x2)/2+" "+(e.y1-45)+" L"+e.x2+" "+e.y2;if("scribble"===e.type){for(var t="M"+e.x1+" "+e.y1,a=1;a<=8;a+=1){var i=a/8;t+=" L"+(e.x1+(e.x2-e.x1)*i)+" "+(e.y1+(e.y2-e.y1)*i+(a%2?8:-8))}return t}return"M"+e.x1+" "+e.y1+" L"+e.x2+" "+e.y2}(e)+'" fill="none" stroke="'+i(e.stroke)+'" stroke-width="'+i(e.strokeWidth)+'" stroke-linecap="round" stroke-linejoin="round"'+(s?' stroke-dasharray="'+s+'"':"")+' opacity="'+i(e.opacity)+'"'+l+m+"></path></g>"}return'<g data-el-id="'+i(e.id)+'"'+a+">"+t+function(e){var r=e.x,t=e.y,a=e.w,o=e.h,n=r+a/2,d=t+o/2,l=i(e.fill),m=i(e.stroke),s=i(e.strokeWidth),p=v(e.dash),c=' fill="'+l+'" stroke="'+m+'" stroke-width="'+s+'"'+(p?' stroke-dasharray="'+p+'"':"")+' opacity="'+i(e.opacity)+'"';return"circle"===e.type?'<circle cx="'+n+'" cy="'+d+'" r="'+Math.min(a,o)/2+'"'+c+"></circle>":"oval"===e.type?'<ellipse cx="'+n+'" cy="'+d+'" rx="'+a/2+'" ry="'+o/2+'"'+c+"></ellipse>":"triangle"===e.type?'<polygon points="'+n+","+t+" "+(r+a)+","+(t+o)+" "+r+","+(t+o)+'"'+c+"></polygon>":"diamond"===e.type?'<polygon points="'+n+","+t+" "+(r+a)+","+d+" "+n+","+(t+o)+" "+r+","+d+'"'+c+"></polygon>":"pentagon"===e.type?'<polygon points="'+A(n,d,a/2,o/2,5)+'"'+c+"></polygon>":"hexagon"===e.type?'<polygon points="'+A(n,d,a/2,o/2,6,0)+'"'+c+"></polygon>":"octagon"===e.type?'<polygon points="'+A(n,d,a/2,o/2,8,Math.PI/8)+'"'+c+"></polygon>":"parallelogram"===e.type?'<polygon points="'+(r+.18*a)+","+t+" "+(r+a)+","+t+" "+(r+.82*a)+","+(t+o)+" "+r+","+(t+o)+'"'+c+"></polygon>":"trapezoid"===e.type?'<polygon points="'+(r+.18*a)+","+t+" "+(r+.82*a)+","+t+" "+(r+a)+","+(t+o)+" "+r+","+(t+o)+'"'+c+"></polygon>":"heart"===e.type?'<path d="M'+n+" "+(t+.86*o)+" C"+(r-.1*a)+" "+(t+.35*o)+" "+(r+.12*a)+" "+t+" "+n+" "+(t+.28*o)+" C"+(r+.88*a)+" "+t+" "+(r+1.1*a)+" "+(t+.35*o)+" "+n+" "+(t+.86*o)+' Z"'+c+"></path>":"cloud"===e.type?'<path d="M'+(r+.22*a)+" "+(t+.72*o)+" C"+(r+.02*a)+" "+(t+.68*o)+" "+(r+.04*a)+" "+(t+.37*o)+" "+(r+.28*a)+" "+(t+.4*o)+" C"+(r+.34*a)+" "+(t+.12*o)+" "+(r+.68*a)+" "+(t+.1*o)+" "+(r+.74*a)+" "+(t+.38*o)+" C"+(r+1.02*a)+" "+(t+.36*o)+" "+(r+1.02*a)+" "+(t+.72*o)+" "+(r+.78*a)+" "+(t+.72*o)+' Z"'+c+"></path>":"cylinder"===e.type?'<path d="M'+r+" "+(t+.18*o)+" C"+r+" "+t+" "+(r+a)+" "+t+" "+(r+a)+" "+(t+.18*o)+" V"+(t+.82*o)+" C"+(r+a)+" "+(t+o)+" "+r+" "+(t+o)+" "+r+" "+(t+.82*o)+' Z"'+c+'></path><ellipse cx="'+n+'" cy="'+(t+.18*o)+'" rx="'+a/2+'" ry="'+.18*o+'"'+c+"></ellipse>":"cube"===e.type?'<path d="M'+r+" "+(t+.2*o)+" L"+(r+.2*a)+" "+t+" H"+(r+a)+" V"+(t+.8*o)+" L"+(r+.8*a)+" "+(t+o)+" H"+r+' Z"'+c+'></path><path d="M'+(r+.2*a)+" "+t+" V"+(t+.8*o)+" H"+(r+a)+'" stroke="'+m+'" stroke-width="'+s+'" fill="none" opacity="'+i(e.opacity)+'"></path>':"callout"===e.type?'<polygon points="'+r+","+t+" "+(r+a)+","+t+" "+(r+a)+","+(t+.75*o)+" "+(r+.62*a)+","+(t+.75*o)+" "+(r+.5*a)+","+(t+o)+" "+(r+.38*a)+","+(t+.75*o)+" "+r+","+(t+.75*o)+'"'+c+"></polygon>":"roundCallout"===e.type?'<rect x="'+r+'" y="'+t+'" width="'+a+'" height="'+.78*o+'" rx="18"'+c+'></rect><path d="M'+(r+.44*a)+" "+(t+.78*o)+" L"+(r+.5*a)+" "+(t+o)+" L"+(r+.58*a)+" "+(t+.78*o)+' Z"'+c+"></path>":"thought"===e.type?'<ellipse cx="'+n+'" cy="'+(t+.42*o)+'" rx="'+a/2+'" ry="'+.36*o+'"'+c+'></ellipse><circle cx="'+(r+.62*a)+'" cy="'+(t+.82*o)+'" r="'+.08*Math.min(a,o)+'"'+c+'></circle><circle cx="'+(r+.72*a)+'" cy="'+(t+.96*o)+'" r="'+.05*Math.min(a,o)+'"'+c+"></circle>":"text"===e.type?'<rect x="'+r+'" y="'+t+'" width="'+a+'" height="'+o+'" rx="4"'+c+"></rect>":"wordart"===e.type?'<rect x="'+r+'" y="'+t+'" width="'+a+'" height="'+o+'" fill="transparent" stroke="transparent"></rect>':"image"===e.type?'<rect x="'+r+'" y="'+t+'" width="'+a+'" height="'+o+'" rx="8" fill="#f8fafc" stroke="#d7dee8"></rect>'+(e.image?'<image href="'+i(e.image)+'" xlink:href="'+i(e.image)+'" x="'+r+'" y="'+t+'" width="'+a+'" height="'+o+'" preserveAspectRatio="xMidYMid slice"></image>':C(e)):'<rect x="'+r+'" y="'+t+'" width="'+a+'" height="'+o+'" rx="'+("roundedRect"===e.type?14:6)+'"'+c+"></rect>"}(e)+("image"!==e.type?C(e):"")+"</g>"}).join("");return a&&(n+='<rect class="rbe-mermaid-marquee" x="'+a.x+'" y="'+a.y+'" width="'+a.w+'" height="'+a.h+'"></rect>'),'<svg class="rbe-mermaid-canvas" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+t.width*t.zoom+'" height="'+t.height*t.zoom+'" viewBox="0 0 '+t.width+" "+t.height+'" role="img" aria-label="Diagram" tabindex="0"><defs><marker id="rbe-arrow-head" markerWidth="10" markerHeight="10" refX="8" refY="3" orient="auto" markerUnits="strokeWidth"><path d="M0,0 L0,6 L9,3 z" fill="#475467"></path></marker><marker id="rbe-arrow-head-start" markerWidth="10" markerHeight="10" refX="1" refY="3" orient="auto" markerUnits="strokeWidth"><path d="M9,0 L9,6 L0,3 z" fill="#475467"></path></marker></defs>'+n+"</svg>"}function D(e){var r=e.querySelector(".rbe-mermaid-diagram-json"),t=[];try{t=JSON.parse(r.value||"[]")}catch(e){t=[{id:"shape-start",type:"roundedRect",x:120,y:140,w:170,h:76,text:"Start",fill:"#eef5ff",stroke:"#111827",fontSize:16,strokeWidth:1},{id:"shape-blockwriteai",type:"roundedRect",x:560,y:140,w:190,h:76,text:"BlockWriteAI",fill:"#ecfdf3",stroke:"#111827",fontSize:16,strokeWidth:1},{id:"line-main",type:"arrow",x1:290,y1:178,x2:560,y2:178,stroke:"#475467",strokeWidth:1}]}var a=I(e),i=null;try{i=e.dataset.marquee?JSON.parse(e.dataset.marquee):null}catch(e){}e.querySelector(".rbe-mermaid-stage").innerHTML=E(t,e.dataset.selectedIds||"",a,i)}function I(e){return{width:f((e.querySelector(".rbe-mermaid-workspace-w")||{}).value,640,m,1100),height:f((e.querySelector(".rbe-mermaid-workspace-h")||{}).value,360,m,620),zoom:f((e.querySelector(".rbe-mermaid-zoom")||{}).value,.35,2.5,1)}}function T(e,r){var t=null,a={id:"",time:0};function i(){try{return JSON.parse(r.querySelector(".rbe-mermaid-diagram-json").value||"[]")}catch(e){return[{id:"shape-start",type:"roundedRect",x:120,y:140,w:170,h:76,text:"Start",fill:"#eef5ff",stroke:"#111827",fontSize:16,strokeWidth:1},{id:"shape-blockwriteai",type:"roundedRect",x:560,y:140,w:190,h:76,text:"BlockWriteAI",fill:"#ecfdf3",stroke:"#111827",fontSize:16,strokeWidth:1},{id:"line-main",type:"arrow",x1:290,y1:178,x2:560,y2:178,stroke:"#475467",strokeWidth:1}]}}function o(e,t){var a=I(r),i={width:1100,height:620,zoom:1},o=t?t.x:0,n=t?t.y:0;(e||[]).forEach(function(e){var r=L(e);o=Math.max(o,r.x+r.w),n=Math.max(n,r.y+r.h)});var d=Math.min(m,Math.max(i.width,Math.ceil((o+260)/s)*s)),l=Math.min(m,Math.max(i.height,Math.ceil((n+260)/s)*s));d!==a.width&&(r.querySelector(".rbe-mermaid-workspace-w").value=d),l!==a.height&&(r.querySelector(".rbe-mermaid-workspace-h").value=l)}function n(e,t,a){var i=e.map(q);o(i,a||null),r.querySelector(".rbe-mermaid-diagram-json").value=JSON.stringify(i),t||(D(r),N())}function p(e){try{return JSON.parse(r.dataset[e]||"[]")}catch(e){return[]}}function u(e,t){r.dataset[e]=JSON.stringify(t.slice(-60))}function b(){return JSON.stringify({elements:i(),workspace:I(r)})}function g(e){var t=JSON.parse(e);n(t.elements||[]),t.workspace&&(r.querySelector(".rbe-mermaid-workspace-w").value=t.workspace.width||1100,r.querySelector(".rbe-mermaid-workspace-h").value=t.workspace.height||620,r.querySelector(".rbe-mermaid-zoom").value=t.workspace.zoom||1),D(r),N()}function x(){var e=p("undoStack");e.push(b()),u("undoStack",e),u("redoStack",[]),v()}function v(){var e=r.querySelector("[data-diagram-action='undo']"),t=r.querySelector("[data-diagram-action='redo']");e&&(e.disabled=!p("undoStack").length),t&&(t.disabled=!p("redoStack").length)}function k(){var r=p("undoStack");if(r.length){var t=p("redoStack");t.push(b()),g(r.pop()),u("undoStack",r),u("redoStack",t),v(),e.changed(!0)}}function z(){var r=p("redoStack");if(r.length){var t=p("undoStack");t.push(b()),g(r.pop()),u("undoStack",t),u("redoStack",r),v(),e.changed(!0)}}function A(){return M(r.dataset.selectedIds||"")}function C(e){r.dataset.selectedIds=(e||[]).filter(Boolean).join(","),D(r),N()}function T(){var e=A();return i().filter(function(r){return-1!==e.indexOf(r.id)})}function O(e,t){r.dataset.tool=e,Array.prototype.slice.call(r.querySelectorAll(".rbe-mermaid-tool[data-tool]")).forEach(function(r){r.classList.toggle("is-active",r.dataset.tool===e)}),Array.prototype.slice.call(r.querySelectorAll(".rbe-mermaid-menu-select")).forEach(function(e){e!==t&&(e.value="")})}function j(e){var t=r.querySelector(".rbe-mermaid-canvas").getBoundingClientRect(),a=I(r),i={x:(e.clientX-t.left)/t.width*a.width,y:(e.clientY-t.top)/t.height*a.height};return e.altKey?i:{x:10*Math.round(i.x/10),y:10*Math.round(i.y/10)}}function N(){var e=T(),t=r.querySelector(".rbe-mermaid-stylebar");if(t&&r.querySelector(".rbe-mermaid-option-text")&&(t.hidden=!e.length,e.length)){var a=e[0],i=e.every(function(e){return h(e.type)}),o=e.some(function(e){return!h(e.type)&&"image"!==e.type});t.classList.toggle("is-line-selection",i),t.classList.toggle("is-text-capable",o),r.querySelector(".rbe-mermaid-option-text").value=1===e.length?a.text||"":e.length+" objects selected",r.querySelector(".rbe-mermaid-option-text").disabled=1!==e.length,r.querySelector(".rbe-mermaid-option-font").value=a.fontFamily||"Arial",r.querySelector(".rbe-mermaid-option-size").value=a.fontSize||16;var n="transparent"===a.fill?"#ffffff":c(a.fill,"#eef5ff"),d=c(a.stroke,"#111827"),l=c(a.textColor,"#172033"),m="transparent"===a.highlightColor?"#fff3b0":c(a.highlightColor,"#fff3b0");r.querySelector(".rbe-mermaid-option-fill").value=n,r.querySelector(".rbe-mermaid-option-stroke").value=d,r.querySelector(".rbe-mermaid-option-text-color").value=l,r.querySelector(".rbe-mermaid-option-highlight").value=m,r.querySelector(".rbe-mermaid-option-align").value=a.textAlign||"center",r.querySelector(".rbe-mermaid-option-line-height").value=String(w(a.lineHeight)),r.querySelector(".rbe-mermaid-option-bullet").value="bullet"===a.listType?S("bullet",a.listStyle):"none",r.querySelector(".rbe-mermaid-option-number").value="number"===a.listType?S("number",a.listStyle):"none",t.style.setProperty("--rbe-mermaid-fill",n),t.style.setProperty("--rbe-mermaid-stroke",d),t.style.setProperty("--rbe-mermaid-text",l),t.style.setProperty("--rbe-mermaid-highlight","transparent"===a.highlightColor?"transparent":m),r.querySelector(".rbe-mermaid-option-weight").value=a.strokeWidth||1,r.querySelector(".rbe-mermaid-option-dash").value=y(a.dash),r.querySelector(".rbe-mermaid-option-opacity").value=a.opacity||1,Array.prototype.slice.call(r.querySelectorAll("[data-format-toggle]")).forEach(function(e){var r=e.dataset.formatToggle;e.classList.toggle("is-active",!!a[r])}),[[".rbe-mermaid-bullet-control","bullet"===a.listType],[".rbe-mermaid-number-control","number"===a.listType],[".rbe-mermaid-spacing-before",!!a.spacingBefore],[".rbe-mermaid-spacing-after",!!a.spacingAfter]].forEach(function(e){var t=r.querySelector(e[0]);t&&t.classList.toggle("is-active",!!e[1])})}}function B(r,t){var a=A();a.length&&(t||x(),n(i().map(function(e){return-1!==a.indexOf(e.id)&&r(e),e})),e.changed(!0))}function R(e){if(!e.target.closest(".rbe-mermaid-stylebar"))return!1;var t=e.target.classList.contains("rbe-mermaid-option-bullet"),a=e.target.classList.contains("rbe-mermaid-option-number");return B(function(i){if(e.target.classList.contains("rbe-mermaid-option-text")&&(i.text=e.target.value),i.fontFamily=r.querySelector(".rbe-mermaid-option-font").value||"Arial",i.fontSize=Number(r.querySelector(".rbe-mermaid-option-size").value||16),h(i.type)||(i.fill=r.querySelector(".rbe-mermaid-option-fill").value),i.stroke=r.querySelector(".rbe-mermaid-option-stroke").value,i.textColor=r.querySelector(".rbe-mermaid-option-text-color").value,i.highlightColor=e.target.classList.contains("rbe-mermaid-option-highlight")?r.querySelector(".rbe-mermaid-option-highlight").value:i.highlightColor,i.textAlign=r.querySelector(".rbe-mermaid-option-align").value||"center",i.lineHeight=w(r.querySelector(".rbe-mermaid-option-line-height").value),t){var o=r.querySelector(".rbe-mermaid-option-bullet").value||"none";i.listType="none"===o?"none":"bullet",i.listStyle="none"===o?"none":o,r.querySelector(".rbe-mermaid-option-number").value="none"}if(a){var n=r.querySelector(".rbe-mermaid-option-number").value||"none";i.listType="none"===n?"none":"number",i.listStyle="none"===n?"none":n,r.querySelector(".rbe-mermaid-option-bullet").value="none"}i.strokeWidth=Number(r.querySelector(".rbe-mermaid-option-weight").value||1),i.dash=r.querySelector(".rbe-mermaid-option-dash").value,i.opacity=Number(r.querySelector(".rbe-mermaid-option-opacity").value||1)},!0),!0}function H(e,r,t){var a=h(e),i="";return"wordart"===e?i="WordArt":/^(plus|minus|multiply|divide|equal|brackets)$/.test(e)&&(i={plus:"+",minus:"-",multiply:"x",divide:"/",equal:"=",brackets:"[ ]"}[e]||""),q({id:"diagram-"+Date.now().toString(36)+"-"+Math.random().toString(36).slice(2,6),type:e,x:r.x,y:r.y,w:"image"===e?220:"wordart"===e?240:"text"===e?190:10,h:"image"===e?150:"wordart"===e?78:"text"===e?70:10,x1:r.x,y1:r.y,x2:r.x,y2:r.y,text:i,image:t&&t.url?t.url:"",name:t&&t.name?t.name:"",fill:a||"text"===e?"transparent":"wordart"===e?"#f59e0b":"#eef5ff",stroke:a?"#475467":"#111827",strokeWidth:1,fontSize:"wordart"===e?36:16})}function W(e){return e&&!h(e.type)&&"image"!==e.type}function F(){Array.prototype.slice.call(r.querySelectorAll(".rbe-mermaid-hidden-text")).forEach(function(e){e.classList.remove("rbe-mermaid-hidden-text")})}function P(e){if(e){e.focus();try{e.setSelectionRange(e.value.length,e.value.length,"none")}catch(e){}}}function K(t){var a=r.querySelector(".rbe-mermaid-text-editor");if(a){var o=a.dataset.editId||"",d=a.value||a.textContent||"";F(),a.remove(),t&&o&&(x(),n(i().map(function(e){return e.id===o&&(e.text=d.trim()),e})),C([o]),e.changed(!0))}}function J(e,t){var a=i().filter(function(r){return r.id===e})[0];if(W(a)){K(!0);var o=r.querySelector(".rbe-mermaid-stage"),n=I(r),d=r.querySelector(".rbe-mermaid-canvas"),l=d?d.getBoundingClientRect():null,m=l&&l.width?l.width/n.width:n.zoom,s=l&&l.height?l.height/n.height:n.zoom,p=Math.min(m,s),c=document.createElement("textarea"),u=null!=t?t:a.text||"";c.className="rbe-mermaid-text-editor",c.dataset.editId=e,c.spellcheck=!1,c.wrap="soft",c.setAttribute("role","textbox"),c.setAttribute("aria-label","Shape text"),"text"===a.type&&c.setAttribute("placeholder","Text");var b={x:a.x,y:a.y,w:a.w,h:a.h};"callout"===a.type&&(b.h=.72*a.h),"roundCallout"===a.type&&(b.h=.7*a.h),"thought"===a.type&&(b.h=.72*a.h);var h=b.x*m,g=b.y*s,f=Math.max(42,b.w*m),x=Math.max(32,b.h*s);c.style.left=h+"px",c.style.top=g+"px",c.style.width=f+"px",c.style.height=x+"px",c.style.fontFamily=a.fontFamily||"Arial";var y=Math.max(18,(a.fontSize||16)*p),v=Math.round(1.25*y);c.style.fontSize=y+"px",v=Math.round(y*w(a.lineHeight)),c.style.lineHeight=v+"px",c.style.padding=Math.max(4,Math.floor((x-v)/2))+"px 8px 4px",c.style.fontWeight=a.bold?"800":"700",c.style.fontStyle=a.italic?"italic":"normal",c.style.color=a.textColor||"#172033",c.style.textAlign=a.textAlign||"center",c.style.backgroundColor=a.highlightColor&&"transparent"!==a.highlightColor?a.highlightColor:"transparent",c.value=u,function(e){F();var t=Array.prototype.slice.call(r.querySelectorAll(".rbe-mermaid-canvas [data-el-id]")).filter(function(r){return r.getAttribute("data-el-id")===e})[0];t&&Array.prototype.slice.call(t.querySelectorAll("text,.rbe-mermaid-text-layer")).forEach(function(e){e.classList.add("rbe-mermaid-hidden-text")})}(e),o.appendChild(c),function(e){e&&(e.dataset.forceCaretEnd="true",P(e),window.requestAnimationFrame&&window.requestAnimationFrame(function(){P(e)}),[0,40,120].forEach(function(r){setTimeout(function(){P(e)},r)}))}(c),setTimeout(function(){c.dataset.allowPointerCaret="true"},250),c.addEventListener("pointerdown",function(){"true"===c.dataset.allowPointerCaret&&(c.dataset.forceCaretEnd="")}),c.addEventListener("keydown",function(e){if(e.stopPropagation(),e.ctrlKey||e.metaKey||e.altKey)c.dataset.forceCaretEnd="";else{if("true"===c.dataset.forceCaretEnd&&(1===e.key.length||"Backspace"===e.key||"Delete"===e.key)&&(P(c),c.dataset.forceCaretEnd="",1===e.key.length&&/^[A-Za-z0-9]$/.test(e.key)&&c.value&&!/\s$/.test(c.value)))return e.preventDefault(),void c.setRangeText(" "+e.key,c.value.length,c.value.length,"end");"Enter"!==e.key||e.shiftKey||(e.preventDefault(),K(!0)),"Escape"===e.key&&(e.preventDefault(),K(!1))}}),c.addEventListener("blur",function(){K(!0)},{once:!0})}}function $(t){var a=i(),o=A();if("image"!==t){if(o.length||/^(paste|downloadSvg|downloadPng|downloadJpeg|downloadPdf|fit|zoomIn|zoomOut)$/.test(t)){if("undo"===t)return k();if("redo"===t)return z();if("copy"===t||"cut"===t)return r.dataset.clipboard=JSON.stringify(T()),void("cut"===t&&(x(),n(a.filter(function(e){return-1===o.indexOf(e.id)})),C([]),e.changed(!0)));if("paste"===t){var d=[];try{d=JSON.parse(r.dataset.clipboard||"[]")}catch(e){}if(!d.length)return;x();var l=d.map(function(e){return(e=q(e)).id="diagram-"+Date.now().toString(36)+"-"+Math.random().toString(36).slice(2,6),h(e.type)?(e.x1+=30,e.x2+=30,e.y1+=30,e.y2+=30):(e.x+=30,e.y+=30),e});return n(a.concat(l)),C(l.map(function(e){return e.id})),void e.changed(!0)}if("duplicate"===t)return r.dataset.clipboard=JSON.stringify(T()),$("paste");if("delete"===t)return x(),n(a.filter(function(e){return-1===o.indexOf(e.id)})),C([]),void e.changed(!0);if(/^download/.test(t))return function(e,r){var t=E(i(),"",I(e),null),a="image/svg+xml";if("downloadSvg"===r)return void X("blockwriteai-diagram.svg","data:image/svg+xml;charset=utf-8,"+encodeURIComponent(t));if("downloadPdf"===r){var o=window.open("","_blank");return void(o&&(o.document.write("<!doctype html><title>BlockWriteAI Diagram</title><style>body{margin:24px;font-family:Arial,sans-serif}svg{max-width:100%;height:auto}</style>"+t+"<script>setTimeout(function(){window.print();},250);<\/script>"),o.document.close()))}var n=new Image,d="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(t);n.onload=function(){var t=I(e),i=document.createElement("canvas");i.width=t.width,i.height=t.height;var o=i.getContext("2d");o.fillStyle="#ffffff",o.fillRect(0,0,i.width,i.height),o.drawImage(n,0,0),a="downloadJpeg"===r?"image/jpeg":"image/png",X("blockwriteai-diagram."+("downloadJpeg"===r?"jpg":"png"),i.toDataURL(a,.92))},n.src=d}(r,t);if("zoomIn"===t||"zoomOut"===t||"fit"===t){var m=r.querySelector(".rbe-mermaid-zoom");return m.value="fit"===t?1:f(Number(m.value||1)+("zoomIn"===t?.1:-.1),.35,2.5,1),D(r),void e.changed(!0)}if(x(),"bringFront"===t)a=a.filter(function(e){return-1===o.indexOf(e.id)}).concat(a.filter(function(e){return-1!==o.indexOf(e.id)}));else if("sendBack"===t)a=a.filter(function(e){return-1!==o.indexOf(e.id)}).concat(a.filter(function(e){return-1===o.indexOf(e.id)}));else if("bringForward"===t||"sendBackward"===t){var s="bringForward"===t?1:-1;o.forEach(function(e){var r=a.findIndex(function(r){return r.id===e}),t=r+s;if(!(r<0||t<0||t>=a.length)){var i=a[r];a.splice(r,1),a.splice(t,0,i)}})}else{var p=function(){var e=T();if(!e.length)return null;var r=e.map(L),t=Math.min.apply(null,r.map(function(e){return e.x})),a=Math.min.apply(null,r.map(function(e){return e.y}));return{x:t,y:a,w:Math.max.apply(null,r.map(function(e){return e.x+e.w}))-t,h:Math.max.apply(null,r.map(function(e){return e.y+e.h}))-a}}();if("group"===t){var c="group-"+Date.now().toString(36);a.forEach(function(e){-1!==o.indexOf(e.id)&&(e.group=c)})}if("ungroup"===t&&a.forEach(function(e){-1!==o.indexOf(e.id)&&(e.group="")}),"distributeH"===t&&o.length>2){var u=a.filter(function(e){return-1!==o.indexOf(e.id)&&!h(e.type)}).sort(function(e,r){return e.x-r.x}),b=u[0].x,g=(u[u.length-1].x-b)/(u.length-1);u.forEach(function(e,r){e.x=b+g*r})}if("distributeV"===t&&o.length>2){var y=a.filter(function(e){return-1!==o.indexOf(e.id)&&!h(e.type)}).sort(function(e,r){return e.y-r.y}),v=y[0].y,w=(y[y.length-1].y-v)/(y.length-1);y.forEach(function(e,r){e.y=v+w*r})}a.forEach(function(e){-1!==o.indexOf(e.id)&&("rotateClockwise"===t&&(e.rotation=(e.rotation||0)+15),"rotateCounter"===t&&(e.rotation=(e.rotation||0)-15),"flipH"!==t||h(e.type)||(e.flipX=!e.flipX),"flipV"!==t||h(e.type)||(e.flipY=!e.flipY),p&&!h(e.type)&&("alignLeft"===t&&(e.x=p.x),"alignCenter"===t&&(e.x=p.x+p.w/2-e.w/2),"alignRight"===t&&(e.x=p.x+p.w-e.w),"alignTop"===t&&(e.y=p.y),"alignMiddle"===t&&(e.y=p.y+p.h/2-e.h/2),"alignBottom"===t&&(e.y=p.y+p.h-e.h)))})}n(a),e.changed(!0)}}else r.querySelector(".rbe-mermaid-image-input").click()}function X(e,r){var t=document.createElement("a");t.href=r,t.download=e,document.body.appendChild(t),t.click(),t.remove()}function Y(e){return new Promise(function(r,t){var a=new FileReader;a.onload=function(){r({url:a.result,name:e.name})},a.onerror=function(){t(a.error||new Error("Image read failed"))},a.readAsDataURL(e)})}r.addEventListener("click",function(t){var a=t.target.closest(".rbe-mermaid-choice[data-tool],.rbe-mermaid-line-choice[data-tool]");if(a)return t.preventDefault(),void O(a.dataset.tool||"select");var i=t.target.closest(".rbe-mermaid-tool[data-tool]");if(i)return t.preventDefault(),void O(i.dataset.tool||"select");var o=t.target.closest("[data-text-action]");if(o){t.preventDefault();var n=o.dataset.textAction||"";return B(function(e){h(e.type)||"image"===e.type||("indent"===n&&(e.indent=f(Number(e.indent||0)+1,0,8,0)),"outdent"===n&&(e.indent=f(Number(e.indent||0)-1,0,8,0)),"spacing-before"===n&&(e.spacingBefore=e.spacingBefore?0:10),"spacing-after"===n&&(e.spacingAfter=e.spacingAfter?0:10),"reset-highlight"===n&&(e.highlightColor="transparent"))}),void N()}var d=t.target.closest(".rbe-mermaid-align");if(d)return t.preventDefault(),r.querySelector(".rbe-mermaid-alignment").value=d.dataset.align||"center",Array.prototype.slice.call(r.querySelectorAll(".rbe-mermaid-align")).forEach(function(e){e.classList.toggle("is-active",e===d)}),void e.changed(!0);var l=t.target.closest("[data-style-action]");if(l){t.preventDefault();var m=r.querySelector(".rbe-mermaid-option-size"),s=Number(m.value||16)+("font-size-up"===l.dataset.styleAction?2:-2);return m.value=f(s,8,96,16),R({target:m}),void N()}var p=t.target.closest("[data-diagram-action]");p&&(t.preventDefault(),$(p.dataset.diagramAction))}),r.addEventListener("change",function(t){if(!R(t)){var a=t.target.closest(".rbe-mermaid-menu-select");if(a&&a.value)O(a.value,a);else{var i=t.target.closest(".rbe-mermaid-action-select");if(i&&i.value)return $(i.value),void(i.value="");t.target.closest(".rbe-mermaid-workspace")&&(x(),D(r),e.changed(!0))}}}),r.addEventListener("input",function(e){R(e)}),r.addEventListener("click",function(e){var r=e.target.closest("[data-format-toggle]");if(r){e.preventDefault();var t=r.dataset.formatToggle;B(function(e){e[t]=!e[t]})}}),r.addEventListener("dblclick",function(e){var r=e.target.closest("[data-el-id]");if(r){var t=i().filter(function(e){return e.id===r.dataset.elId})[0];W(t)&&(e.preventDefault(),C([t.id]),J(t.id))}}),r.addEventListener("pointerdown",function(e){var o=e.target.closest(".rbe-mermaid-canvas");if(o&&(!r.querySelector(".rbe-mermaid-text-editor")||e.target.closest(".rbe-mermaid-text-editor")||(K(!0),o=r.querySelector(".rbe-mermaid-canvas")))){r.focus(),e.preventDefault();var m=j(e),s=e.target.closest("[data-handle]"),p=e.target.closest("[data-el-id]"),c=r.dataset.tool||"select";if(p&&"select"===c&&!s){var u=p.dataset.elId,b=Date.now(),h=a.id===u&&b-a.time<430;if(a={id:u,time:b},Number(e.detail||0)>=2||h){var g=i().filter(function(e){return e.id===u})[0];if(W(g))return t=null,C([g.id]),void J(g.id)}}else p||(a={id:"",time:0});if(s&&1===A().length)return x(),t={mode:"rotate"===s.dataset.handle?"rotate":"resize",handle:s.dataset.handle,start:m,ids:A(),snapshot:i()},void o.setPointerCapture(e.pointerId);if(p&&"select"===c){var f=p.dataset.elId,y=i().filter(function(e){return e.id===f})[0],v=y&&y.group?i().filter(function(e){return e.group===y.group}).map(function(e){return e.id}):[f],w=A();return e.shiftKey||e.ctrlKey?(v.forEach(function(e){-1===w.indexOf(e)?w.push(e):w=w.filter(function(r){return r!==e})}),C(w)):-1===w.indexOf(f)&&C(v),x(),t={mode:"move",ids:A(),start:m,snapshot:i()},void o.setPointerCapture(e.pointerId)}if("select"===c)return C([]),t={mode:"marquee",start:m},void o.setPointerCapture(e.pointerId);var k=c;if(l.test(k)||d.test(k)){x();var S=H(k,m);n(i().concat([S])),C([S.id]),t={mode:"draw",id:S.id,start:m},o.setPointerCapture(e.pointerId)}}}),r.addEventListener("pointermove",function(e){if(t){!function(e){var t=r.querySelector(".rbe-mermaid-stage");if(t){var a=t.getBoundingClientRect(),i=0,o=0;e.clientX>a.right-56?i=30:e.clientX<a.left+56&&(i=-30),e.clientY>a.bottom-56?o=30:e.clientY<a.top+56&&(o=-30),(i||o)&&(t.scrollLeft+=i,t.scrollTop+=o)}}(e);var a=j(e);if(o(i(),a),"marquee"===t.mode){var d={x:Math.min(t.start.x,a.x),y:Math.min(t.start.y,a.y),w:Math.abs(a.x-t.start.x),h:Math.abs(a.y-t.start.y)};return r.dataset.marquee=JSON.stringify(d),void D(r)}n(i().map(function(r){if("move"===t.mode&&-1!==t.ids.indexOf(r.id)){var i=t.snapshot.filter(function(e){return e.id===r.id})[0]||r,o=a.x-t.start.x,n=a.y-t.start.y;h(r.type)?(r.x1=i.x1+o,r.y1=i.y1+n,r.x2=i.x2+o,r.y2=i.y2+n):(r.x=i.x+o,r.y=i.y+n)}else if("draw"===t.mode&&r.id===t.id)if(h(r.type)){var d=e.shiftKey?function(e,r){var t=r.x-e.x,a=r.y-e.y;if(!t&&!a)return r;var i=Math.sqrt(t*t+a*a),o=Math.round(Math.atan2(a,t)/(Math.PI/4))*(Math.PI/4);return{x:10*Math.round((e.x+Math.cos(o)*i)/10),y:10*Math.round((e.y+Math.sin(o)*i)/10)}}(t.start,a):a;r.x2=d.x,r.y2=d.y}else r.x=Math.min(t.start.x,a.x),r.y=Math.min(t.start.y,a.y),r.w=Math.max(40,Math.abs(a.x-t.start.x)),r.h=Math.max(32,Math.abs(a.y-t.start.y));else if(("resize"===t.mode||"rotate"===t.mode)&&-1!==t.ids.indexOf(r.id)){var l=t.snapshot.filter(function(e){return e.id===r.id})[0]||r;if(h(r.type))"start"===t.handle&&(r.x1=a.x,r.y1=a.y),"end"===t.handle&&(r.x2=a.x,r.y2=a.y);else if("rotate"===t.mode){var m=l.x+l.w/2,s=l.y+l.h/2;r.rotation=Math.round(180*Math.atan2(a.y-s,a.x-m)/Math.PI+90)}else{var p=l.x+l.w,c=l.y+l.h;/w/.test(t.handle)&&(r.x=a.x),/n/.test(t.handle)&&(r.y=a.y),/e/.test(t.handle)&&(p=a.x),/s/.test(t.handle)&&(c=a.y),r.w=Math.max(24,p-r.x),r.h=Math.max(24,c-r.y)}}return r}),!1,a)}}),r.addEventListener("pointerup",function(){if(t){var a="draw"===t.mode?t.id:"";if("marquee"===t.mode){var o=JSON.parse(r.dataset.marquee||"{}"),n=i().filter(function(e){return r=L(e),t=o,r.x<=t.x+t.w&&r.x+r.w>=t.x&&r.y<=t.y+t.h&&r.y+r.h>=t.y;var r,t}).map(function(e){return e.id});r.dataset.marquee="",C(n)}if("draw"===t.mode&&O("select"),t=null,v(),e.changed(!0),a)W(i().filter(function(e){return e.id===a})[0])&&setTimeout(function(){J(a)},0)}}),r.addEventListener("keydown",function(e){if(!e.target.closest("input,textarea,select,[contenteditable='true']")){if(!e.ctrlKey&&!e.metaKey&&!e.altKey&&e.key&&1===e.key.length){var r=T();if(1===r.length&&W(r[0])){e.preventDefault();var t=String(r[0].text||"").trim(),a=t?t+(" "===e.key?"":" ")+e.key:e.key;return void J(r[0].id,a)}}"Delete"!==e.key&&"Backspace"!==e.key||(e.preventDefault(),$("delete")),(e.ctrlKey||e.metaKey)&&"z"===e.key.toLowerCase()&&(e.preventDefault(),e.shiftKey?z():k()),(e.ctrlKey||e.metaKey)&&"y"===e.key.toLowerCase()&&(e.preventDefault(),z()),(e.ctrlKey||e.metaKey)&&"c"===e.key.toLowerCase()&&(e.preventDefault(),$("copy")),(e.ctrlKey||e.metaKey)&&"x"===e.key.toLowerCase()&&(e.preventDefault(),$("cut")),(e.ctrlKey||e.metaKey)&&"v"===e.key.toLowerCase()&&(e.preventDefault(),$("paste")),(e.ctrlKey||e.metaKey)&&"d"===e.key.toLowerCase()&&(e.preventDefault(),$("duplicate"))}}),r.querySelector(".rbe-mermaid-image-input").addEventListener("change",function(t){var a=t.target.files&&t.target.files[0];a&&/^image\//.test(a.type||"")&&(function(r){return e&&"function"==typeof e.uploadFile?e.uploadFile(r,"image").catch(function(){return Y(r)}):Y(r)}(a).then(function(t){if(t&&t.url){x();var o=H("image",{x:I(r).width/2-140,y:80},{url:t.url,name:t.name||a.name});o.w=280,o.h=190,n(i().concat([o])),C([o.id]),O("select"),e.changed(!0)}}).catch(function(){alert("Image upload failed.")}),t.target.value="")}),O("select"),v(),N()}function O(e){return'<div class="rbe-mermaid-choice-grid">'+e.map(function(e){return r=e[0],t=e[1],a=e[2],'<button type="button" class="rbe-mermaid-choice" data-tool="'+i(r)+'" title="'+i(a)+'"><span aria-hidden="true">'+t+'</span><span class="rbe-sr-only">'+i(a)+"</span></button>";var r,t,a}).join("")+"</div>"}function j(e,r,t){return'<div class="rbe-mermaid-menu-row"><span class="rbe-mermaid-menu-row-icon">'+n(r,e)+"</span><span>"+i(e)+'</span><div class="rbe-mermaid-submenu">'+t+"</div></div>"}function N(e,r,t){return'<button type="button" class="rbe-mermaid-line-choice" data-tool="'+i(e)+'"><span class="rbe-mermaid-menu-row-icon">'+n(r,t)+"</span><span>"+i(t)+"</span></button>"}function B(){return'<div class="rbe-mermaid-toolbar" role="toolbar" aria-label="Drawing tools"><button type="button" class="rbe-mermaid-icon-btn" data-diagram-action="undo" title="Undo">'+n("rotate-left","Undo")+'</button><button type="button" class="rbe-mermaid-icon-btn" data-diagram-action="redo" title="Redo">'+n("rotate-right","Redo")+'</button><span class="rbe-mermaid-toolbar-sep"></span><button type="button" class="rbe-mermaid-tool" data-tool="select" title="Select">'+n("arrow-pointer","Select")+"</button>"+(e=O([["rect","□","Rectangle"],["roundedRect","▢","Rounded rectangle"],["circle","○","Circle"],["oval","◯","Oval"],["triangle","△","Triangle"],["diamond","◇","Diamond"],["pentagon","⬟","Pentagon"],["hexagon","⬡","Hexagon"],["parallelogram","▱","Parallelogram"],["trapezoid","⌂","Trapezoid"],["octagon","⬢","Octagon"],["heart","♡","Heart"],["cloud","☁","Cloud"],["cylinder","◫","Cylinder"],["cube","▣","Cube"]]),r=O([["arrow","→","Right arrow"],["leftArrow","←","Left arrow"],["upArrow","↑","Up arrow"],["downArrow","↓","Down arrow"],["biArrow","↔","Bidirectional arrow"]]),t=O([["callout","▱","Callout"],["roundCallout","▢","Rounded callout"],["thought","☁","Thought bubble"]]),a=O([["plus","+","Plus"],["minus","−","Minus"],["multiply","×","Multiply"],["divide","÷","Divide"],["equal","=","Equal"],["brackets","[ ]","Brackets"]]),'<div class="rbe-mermaid-menu"><button type="button" class="rbe-mermaid-menu-btn" title="Shapes">'+n("shapes","Shapes")+'</button><div class="rbe-mermaid-popover">'+j("Shapes","square",e)+j("Arrows","arrow-right",r)+j("Callouts","comment",t)+j("Equation","plus",a)+'</div></div><button type="button" class="rbe-mermaid-tool" data-tool="arrow" title="Arrow">')+n("arrow-right-long","Arrow")+'</button><div class="rbe-mermaid-menu rbe-mermaid-line-menu"><button type="button" class="rbe-mermaid-menu-btn" title="Line options">'+n("caret-down","Line options")+'</button><div class="rbe-mermaid-popover">'+N("line","minus","Line")+N("arrow","arrow-right-long","Arrow")+N("elbow","share-nodes","Elbow Connector")+N("curved","code-branch","Curved Connector")+N("curve","bezier-curve","Curve")+N("polyline","draw-polygon","Polyline")+N("scribble","signature","Scribble")+'</div></div><button type="button" class="rbe-mermaid-tool" data-tool="text" title="Text box">'+n("font","Text box")+'</button><button type="button" class="rbe-mermaid-icon-btn" data-diagram-action="image" title="Insert image">'+n("image","Insert image")+'</button><div class="rbe-mermaid-stylebar" hidden aria-label="Shape style controls"><input class="rbe-mermaid-option-text rbe-mermaid-hidden-control" type="text" aria-hidden="true" tabindex="-1"><input class="rbe-mermaid-option-opacity rbe-mermaid-hidden-control" type="hidden" value="1"><label class="rbe-mermaid-icon-control rbe-mermaid-fill-control" title="Fill color">'+n("fill-drip","Fill color")+'<span class="rbe-mermaid-control-swatch rbe-mermaid-fill-swatch"></span><input class="rbe-mermaid-option-fill" type="color" value="#eef5ff" aria-label="Fill color"></label><label class="rbe-mermaid-icon-control" title="Border color">'+n("pen-nib","Border color")+'<span class="rbe-mermaid-control-swatch rbe-mermaid-stroke-swatch"></span><input class="rbe-mermaid-option-stroke" type="color" value="#111827" aria-label="Border color"></label><label class="rbe-mermaid-icon-control" title="Border weight">'+n("grip-lines","Border weight")+'<select class="rbe-mermaid-option-weight" aria-label="Border weight"><option value="1">1px</option><option value="2">2px</option><option value="3">3px</option><option value="4">4px</option><option value="8">8px</option><option value="12">12px</option><option value="16">16px</option><option value="24">24px</option></select></label><label class="rbe-mermaid-icon-control" title="Border dash">'+n("grip-lines-vertical","Border dash")+'<select class="rbe-mermaid-option-dash" aria-label="Border dash"><option value="solid">Solid</option><option value="dotted">Dotted</option><option value="dashed">Dashed</option><option value="longDash">Long dash</option><option value="dashDot">Dash dot</option></select></label><span class="rbe-mermaid-toolbar-sep rbe-mermaid-text-control"></span><label class="rbe-mermaid-icon-control rbe-mermaid-text-control" title="Font family">'+n("font","Font family")+'<select class="rbe-mermaid-option-font" aria-label="Font family"><option value="Arial">Arial</option><option value="Verdana">Verdana</option><option value="Tahoma">Tahoma</option><option value="Georgia">Georgia</option><option value="Times New Roman">Times New Roman</option><option value="Courier New">Courier New</option></select></label><button type="button" class="rbe-mermaid-style-btn rbe-mermaid-text-control" data-style-action="font-size-down" title="Decrease font size">'+n("minus","Decrease font size")+'</button><label class="rbe-mermaid-icon-control rbe-mermaid-text-control" title="Font size">'+n("text-height","Font size")+'<select class="rbe-mermaid-option-size" aria-label="Font size"><option value="10">10</option><option value="12">12</option><option value="14">14</option><option value="16">16</option><option value="18">18</option><option value="20">20</option><option value="24">24</option><option value="28">28</option><option value="32">32</option><option value="40">40</option><option value="48">48</option><option value="64">64</option><option value="72">72</option></select></label><button type="button" class="rbe-mermaid-style-btn rbe-mermaid-text-control" data-style-action="font-size-up" title="Increase font size">'+n("plus","Increase font size")+'</button><button type="button" class="rbe-mermaid-style-btn rbe-mermaid-text-control" data-format-toggle="bold" title="Bold">'+n("bold","Bold")+'</button><button type="button" class="rbe-mermaid-style-btn rbe-mermaid-text-control" data-format-toggle="italic" title="Italic">'+n("italic","Italic")+'</button><button type="button" class="rbe-mermaid-style-btn rbe-mermaid-text-control" data-format-toggle="underline" title="Underline">'+n("underline","Underline")+'</button><label class="rbe-mermaid-icon-control rbe-mermaid-text-control" title="Text color">'+n("font","Text color")+'<span class="rbe-mermaid-control-swatch rbe-mermaid-text-swatch"></span><input class="rbe-mermaid-option-text-color" type="color" value="#172033" aria-label="Text color"></label><label class="rbe-mermaid-icon-control rbe-mermaid-text-control" title="Highlight color">'+n("highlighter","Highlight color")+'<span class="rbe-mermaid-control-swatch rbe-mermaid-highlight-swatch"></span><input class="rbe-mermaid-option-highlight" type="color" value="#fff3b0" aria-label="Highlight color"></label><button type="button" class="rbe-mermaid-style-btn rbe-mermaid-text-control" data-text-action="reset-highlight" title="Reset highlight">'+n("rotate-left","Reset highlight")+'</button><label class="rbe-mermaid-icon-control rbe-mermaid-text-control" title="Text alignment">'+n("align-center","Text alignment")+'<select class="rbe-mermaid-option-align" aria-label="Text alignment"><option value="left">Left</option><option value="center">Center</option><option value="right">Right</option><option value="justify">Justify</option></select></label><label class="rbe-mermaid-icon-control rbe-mermaid-text-control" title="Line spacing">'+n("arrows-up-down","Line spacing")+'<select class="rbe-mermaid-option-line-height" aria-label="Line spacing"><option value="1">Single</option><option value="1.15">1.15</option><option value="1.5">1.5</option><option value="2">Double</option></select></label><label class="rbe-mermaid-icon-control rbe-mermaid-text-control rbe-mermaid-bullet-control" title="Bulleted list">'+n("list-ul","Bulleted list")+'<select class="rbe-mermaid-option-bullet" aria-label="Bulleted list"><option value="none">None</option><option value="disc">Disc</option><option value="circle">Circle</option><option value="square">Square</option></select></label><label class="rbe-mermaid-icon-control rbe-mermaid-text-control rbe-mermaid-number-control" title="Numbered list">'+n("list-ol","Numbered list")+'<select class="rbe-mermaid-option-number" aria-label="Numbered list"><option value="none">None</option><option value="decimal">1, 2, 3</option><option value="lower-alpha">a, b, c</option><option value="upper-alpha">A, B, C</option><option value="lower-roman">i, ii, iii</option><option value="upper-roman">I, II, III</option></select></label><button type="button" class="rbe-mermaid-style-btn rbe-mermaid-text-control" data-text-action="outdent" title="Decrease indent">'+n("outdent","Decrease indent")+'</button><button type="button" class="rbe-mermaid-style-btn rbe-mermaid-text-control" data-text-action="indent" title="Increase indent">'+n("indent","Increase indent")+'</button><button type="button" class="rbe-mermaid-style-btn rbe-mermaid-text-control rbe-mermaid-spacing-before" data-text-action="spacing-before" title="Add space before paragraph">'+n("arrow-up","Add space before paragraph")+'</button><button type="button" class="rbe-mermaid-style-btn rbe-mermaid-text-control rbe-mermaid-spacing-after" data-text-action="spacing-after" title="Add space after paragraph">'+n("arrow-down","Add space after paragraph")+"</button></div></div>";var e,r,t,a}function R(e){var r=e.querySelector(".rbe-mermaid-card-preview");if(r){var t=[];try{t=JSON.parse((e.querySelector(".rbe-mermaid-diagram-json")||{}).value||"[]").map(q)}catch(e){}t.length?r.innerHTML='<div class="rbe-output-mermaid-diagram">'+E(t,"",I(e),null)+"</div>":r.innerHTML='<span class="rbe-mermaid-card-empty">Open the designer to draw a diagram.</span>'}}function H(e,r){var t=document.querySelector(".rbe-mermaid-modal");t&&(t.remove(),document.body.classList.remove("rbe-mermaid-modal-open"));var a=document.createElement("div");a.className="rbe-mermaid-modal",a.innerHTML='<div class="rbe-mermaid-dialog" role="dialog" aria-modal="true" aria-label="Drawing"><div class="rbe-mermaid-modal-head"><h2 class="rbe-mermaid-modal-title">Drawing</h2><button type="button" class="rbe-mermaid-close" data-modal-action="close" title="Close">'+n("xmark","Close")+'</button></div><div class="rbe-mermaid-modal-body"><div class="rbe-mermaid-block" tabindex="0"><input type="hidden" class="rbe-mermaid-alignment"><input type="hidden" class="rbe-mermaid-diagram-json"><input class="rbe-mermaid-image-input" type="file" accept="image/*" hidden><textarea class="rbe-mermaid-code" hidden></textarea>'+B()+'<input class="rbe-mermaid-workspace-w" type="hidden"><input class="rbe-mermaid-workspace-h" type="hidden"><input class="rbe-mermaid-zoom" type="hidden">'+function(){for(var e="",r="",t=1;t<=10;t+=1)e+='<span style="left:'+100*t+'px">'+t+"</span>";for(var a=1;a<=7;a+=1)r+='<span style="top:'+100*a+'px">'+a+"</span>";return'<div class="rbe-mermaid-stage-shell"><div class="rbe-mermaid-ruler-corner"></div><div class="rbe-mermaid-top-ruler">'+e+'</div><div class="rbe-mermaid-side-ruler">'+r+'</div><div class="rbe-mermaid-stage"></div></div>'}()+'</div></div><div class="rbe-mermaid-modal-foot"><button type="button" class="rbe-mermaid-modal-cancel" data-modal-action="close">Cancel</button><button type="button" class="rbe-mermaid-modal-save" data-modal-action="save">Save drawing</button></div></div>',document.body.classList.add("rbe-mermaid-modal-open"),document.body.appendChild(a);var i=a.querySelector(".rbe-mermaid-block");[".rbe-mermaid-alignment",".rbe-mermaid-diagram-json",".rbe-mermaid-code",".rbe-mermaid-workspace-w",".rbe-mermaid-workspace-h",".rbe-mermaid-zoom"].forEach(function(e){var t=r.querySelector(e),a=i.querySelector(e);t&&a&&(a.value=t.value||"")}),D(i),T(e,i),i.focus(),a.addEventListener("click",function(t){var o=t.target.closest("[data-modal-action]"),n=o?o.dataset.modalAction:"";if(n){if(t.preventDefault(),"save"===n){var d=i.querySelector(".rbe-mermaid-text-editor");if(d&&d.dataset.editId){var l=d.dataset.editId,m=d.value||d.textContent||"",s=[];try{s=JSON.parse((i.querySelector(".rbe-mermaid-diagram-json")||{}).value||"[]")}catch(e){}i.querySelector(".rbe-mermaid-diagram-json").value=JSON.stringify(s.map(function(e){return(e=q(e)).id===l&&(e.text=m.trim()),e})),d.remove()}[".rbe-mermaid-alignment",".rbe-mermaid-diagram-json",".rbe-mermaid-code",".rbe-mermaid-workspace-w",".rbe-mermaid-workspace-h",".rbe-mermaid-zoom"].forEach(function(e){var t=i.querySelector(e),a=r.querySelector(e);t&&a&&(a.value=t.value||"")}),R(r),e.changed(!0)}document.body.classList.remove("rbe-mermaid-modal-open"),a.remove()}})}function W(r){r=r||document,Array.prototype.slice.call(r.querySelectorAll(".rbe-output-latex")).forEach(function(e){var r=e.dataset.latex||e.textContent||"",t="false"!==e.dataset.display;"true"===e.dataset.renderedLatex&&e.dataset.lastLatex===r&&e.dataset.lastDisplay===String(t)||(e.dataset.renderedLatex="true",e.dataset.lastLatex=r,e.dataset.lastDisplay=String(t),b(e,r,t))}),Array.prototype.slice.call(r.querySelectorAll(".rbe-output-mermaid")).forEach(function(r){var t=r.dataset.mermaid||r.textContent||"";"true"===r.dataset.renderedMermaid&&r.dataset.lastMermaid===t||(r.dataset.renderedMermaid="true",r.dataset.lastMermaid=t,function(r,t){r.innerHTML="<pre>"+i(t||"")+"</pre>",t&&t.trim()&&u("https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js","mermaid",function(){if(e.mermaid)try{e.mermaid.initialize({startOnLoad:!1,securityLevel:"strict"});var a=function(){e.mermaid.render("rbe-mermaid-"+Math.random().toString(36).slice(2),t).then(function(e){r.innerHTML=e.svg}).catch(function(){r.innerHTML='<pre class="rbe-output-mermaid-error">'+i(t||"")+"</pre>"})};e.mermaid.parse?Promise.resolve(e.mermaid.parse(t)).then(a).catch(function(){r.innerHTML='<pre class="rbe-output-mermaid-error">'+i(t||"")+"</pre>"}):a()}catch(e){}})}(r,t))})}}("undefined"!=typeof window?window:this);
@@ -0,0 +1 @@
1
+ !function(e){"use strict";var t=e.BlockWriteAI;if(t&&!t.__signatureFlowPluginInstalled){t.__signatureFlowPluginInstalled=!0;var r=t.helpers||{},n=r.el,i=r.escapeHTML||function(e){return String(null==e?"":e).replace(/[&<>"]/g,function(e){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"}[e]})},a=r.faIcon||function(e,t){return'<i class="fa-solid fa-'+i(e)+'" aria-hidden="true"></i><span class="rbe-sr-only">'+i(t||e)+"</span>"},o=r.uid||function(e){return(e||"signature-flow")+"-"+Math.random().toString(36).slice(2,9)},s=function(e){try{var t=document.currentScript&&document.currentScript.src||document.baseURI;return new URL(e,t).href}catch(t){return e}}("../blockwriteai-logo.svg"),l=e.BlockWriteAISignatureEventUrl||"/blockwriteai-platform/api/signature_event.php";d(),t.registerTool("signatureFlow",{label:"Signature Flow",hint:"Sequential signer approvals",icon:"people-arrows",premiumFeature:"signature_flow",defaultData:function(){return{flowId:o("signature-flow"),title:"Signature Flow",steps:p()}},render:function(e,t){d();var r=n("div","rbe-signature-flow-editor",{dataset:{flowId:(t=t||{}).flowId||o("signature-flow")}}),i=n("div","rbe-signature-flow-top");i.appendChild(n("strong","",{text:"Signature Flow"})),i.appendChild(n("button","rbe-signature-flow-add",{type:"button",title:"Add signer","aria-label":"Add signer",html:a("circle-plus","Add signer"),disabled:this.readOnly})),r.appendChild(i);var s=n("div","rbe-signature-flow-steps");p(t.steps).forEach(function(e,t){s.appendChild(b(this,e,t))},this),r.appendChild(s),e.appendChild(r);var l=this,u=r.querySelector(".rbe-signature-flow-add");u&&u.addEventListener("click",function(){var e=s.querySelectorAll(".rbe-signature-flow-step").length;s.appendChild(b(l,{id:o("signer"),label:"Signer "+(e+1)},e)),w(r),l&&"function"==typeof l.changed&&l.changed(!0)}),s.addEventListener("click",function(e){var t=e.target.closest(".rbe-signature-flow-remove");t&&!l.readOnly&&(s.querySelectorAll(".rbe-signature-flow-step").length<=1||(t.closest(".rbe-signature-flow-step").remove(),w(r),l&&"function"==typeof l.changed&&l.changed(!0)))})},serialize:function(e){var t=e.querySelector(".rbe-signature-flow-editor");return{flowId:t&&t.dataset.flowId||o("signature-flow"),title:"Signature Flow",steps:Array.prototype.slice.call(e.querySelectorAll(".rbe-signature-flow-step")).map(function(e,t){return{id:e.dataset.stepId||o("signer"),label:u((e.querySelector(".rbe-signature-flow-label")||{}).value)||"Signer "+(t+1)}})}},toHTML:function(e){d();var t=(e=e||{}).flowId||o("signature-flow"),r=p(e.steps);return'<section class="rbe-output-signature-flow" data-flow-id="'+i(t)+'"><div class="rbe-output-signature-flow-title">Signature Flow</div><div class="rbe-flow-signature-track">'+r.map(function(e,t){return'<section class="rbe-flow-signature-card" data-step-id="'+i(e.id)+'" data-signed="false">'+('<span class="'+i(n="rbe-flow-signature-seal")+'" aria-hidden="true"><svg class="'+i(n+"-logo")+'" viewBox="0 0 32 32" role="img" focusable="false"><path d="M7 4h12l6 6v15a3 3 0 0 1-3 3H10a3 3 0 0 1-3-3z" fill="#fff"/><path d="M19 4v6h6" fill="#ffe5e5"/><path d="M10 23c2-4 3-4 4 0 1-2 2-2 3 0 1-1 2-1 4 0" fill="none" stroke="#d40000" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/><path d="M22.5 17.5l4.6-4.6 2 2-4.6 4.6-3 .9z" fill="#fff"/><path d="M26.3 13.7l2 2" fill="none" stroke="#d40000" stroke-width="1.1" stroke-linecap="round"/></svg></span><img class="rbe-flow-signature-watermark" src="')+i(s)+'" alt="" aria-hidden="true"><div class="rbe-flow-signature-head"><span class="rbe-flow-signature-label">'+i(t+1+". "+e.label)+'</span><span class="rbe-flow-signature-status">Waiting</span></div><div class="rbe-flow-signature-unsigned"><input class="rbe-flow-signature-input" type="text" autocomplete="name" placeholder="Enter signer name or email..."><button type="button" class="rbe-flow-signature-apply">'+a("file-signature","Sign")+'<span>Sign</span></button></div><div class="rbe-flow-signature-signed" hidden><div class="rbe-flow-signature-name"></div><div class="rbe-flow-signature-meta"><strong>Signer Name: <span class="rbe-flow-signature-by-name"></span></strong><span>Signer Email: <span class="rbe-flow-signature-email"></span></span><span>IP Address: <span class="rbe-flow-signature-ip"></span></span><span>Date &amp; Time: <time class="rbe-flow-signature-date"></time></span></div></div></section>'+(t<r.length-1?'<span class="rbe-flow-signature-connector is-pending" aria-hidden="true"></span>':"");var n}).join("")+"</div></section>"},toMarkdown:function(e){return"Signature Flow\n"+p(e&&e.steps).map(function(e,t){return t+1+". "+e.label}).join("\n")}}),e.BlockWriteAISignatureFlow={init:k,sign:S,update:v},"loading"===document.readyState?document.addEventListener("DOMContentLoaded",function(){k(document)}):setTimeout(function(){k(document)},0)}function d(){if(!document.querySelector("style[data-blockwriteai-signature-flow-plugin]")){var e=document.createElement("style");e.dataset.blockwriteaiSignatureFlowPlugin="true",e.textContent=".rbe-signature-flow-editor{border:1px solid #d7dee8;border-radius:8px;background:#fff;padding:14px;display:grid;gap:12px;}.rbe-signature-flow-top{display:flex;justify-content:space-between;align-items:center;gap:10px;}.rbe-signature-flow-top strong{font:800 14px/1.3 Arial,sans-serif;color:#344054;}.rbe-signature-flow-steps{display:grid;gap:8px;}.rbe-signature-flow-step{display:grid;grid-template-columns:auto minmax(160px,1fr) auto;gap:8px;align-items:center;border:1px solid #e2e8f0;border-radius:8px;background:#fbfdff;padding:8px;}.rbe-signature-flow-index{width:28px;height:28px;border-radius:999px;background:#eaf1ff;color:#1d4ed8;display:grid;place-items:center;font:800 12px/1 Arial,sans-serif;}.rbe-signature-flow-step input{width:100%;border:1px solid #d7dee8;border-radius:8px;background:#fff;color:#172033;font:14px/1.4 Arial,sans-serif;padding:9px 10px;}.rbe-signature-flow-add,.rbe-signature-flow-remove{border:1px solid #d7dee8;border-radius:8px;background:#fff;color:#344054;min-width:34px;height:34px;display:inline-grid;place-items:center;cursor:pointer;}.rbe-signature-flow-add:hover{border-color:#16a34a;background:#ecfdf3;color:#07845f;}.rbe-signature-flow-remove:hover{border-color:#dc2626;background:#fef2f2;color:#b42318;}.rbe-output-signature-flow{display:grid;gap:12px;margin:0 0 15px;}.rbe-output-signature-flow-title{font:800 15px/1.35 Arial,sans-serif;color:#172033;}.rbe-flow-signature-track{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:10px 8px;}.rbe-flow-signature-card{position:relative;overflow:visible;container-type:inline-size;border:1px solid #d7dee8;border-radius:8px;background:#fff;padding:10px;display:grid;gap:8px;flex:1 1 170px;min-width:150px;max-width:230px;min-height:126px;box-sizing:border-box;}.rbe-flow-signature-card.is-locked{opacity:.68;}.rbe-flow-signature-watermark{position:absolute;left:50%;top:52%;width:min(140px,76%);max-height:82px;object-fit:contain;opacity:.14;transform:translate(-50%,-50%);pointer-events:none;user-select:none;}.rbe-flow-signature-seal{position:absolute;right:10px;top:8px;z-index:4;width:34px;height:34px;background:#d40000;color:#fff;display:none;place-items:center;padding:0;border-radius:4px;box-shadow:0 8px 14px rgba(160,0,0,.2);pointer-events:none;}.rbe-flow-signature-card[data-signed='true'] .rbe-flow-signature-seal{display:grid;}.rbe-flow-signature-seal-logo{display:block;width:25px;height:25px;}.rbe-flow-signature-head{position:relative;z-index:1;display:grid;gap:6px;font:800 13px/1.3 Arial,sans-serif;color:#344054;}.rbe-flow-signature-label{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.rbe-flow-signature-status{justify-self:start;border-radius:999px;background:#fffbeb;color:#b45309;padding:4px 7px;font-size:10px;line-height:1;font-weight:800;white-space:nowrap;}.rbe-flow-signature-card.is-signed{border-color:#86efac;background:#f0fdf4;}.rbe-flow-signature-card.is-signed .rbe-flow-signature-status{background:#dcfce7;color:#07845f;}.rbe-flow-signature-card.is-locked .rbe-flow-signature-status{background:#fef3c7;color:#92400e;}.rbe-flow-signature-connector{align-self:center;display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;min-height:34px;color:#b45309;font:900 18px/1 Arial,sans-serif;}.rbe-flow-signature-connector::before{content:'\\2192';}.rbe-flow-signature-connector.is-complete{color:#16a34a;}.rbe-flow-signature-connector.is-pending{color:#d97706;}.rbe-flow-signature-unsigned{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:7px;align-items:center;width:100%;margin:0;}.rbe-flow-signature-input{width:100%;min-width:0;min-height:38px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#111827;font:15px/1.2 'Brush Script MT','Segoe Script','Lucida Handwriting',cursive;padding:7px 9px;text-align:center;box-sizing:border-box;}.rbe-flow-signature-input::placeholder{color:#98a2b3;font:13px/1.35 Arial,sans-serif;}.rbe-flow-signature-apply{border:1px solid #1d4ed8;border-radius:8px;background:#2563eb;color:#fff;font:800 13px/1 Arial,sans-serif;padding:9px 10px;cursor:pointer;}.rbe-flow-signature-apply:disabled,.rbe-flow-signature-input:disabled{cursor:not-allowed;opacity:.7;}.rbe-flow-signature-card.has-error .rbe-flow-signature-input{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.12);}.rbe-flow-signature-signed{position:relative;z-index:1;display:grid;gap:5px;align-items:center;}.rbe-flow-signature-signed[hidden],.rbe-flow-signature-unsigned[hidden]{display:none!important;}.rbe-flow-signature-name{min-width:0;font-family:'Brush Script MT','Segoe Script','Lucida Handwriting',cursive;font-size:15px;line-height:1.1;color:#050505;overflow-wrap:anywhere;}.rbe-flow-signature-meta{min-width:0;font-family:Arial,sans-serif;font-size:12px;line-height:1.2;color:#050505;display:grid;gap:2px;overflow-wrap:anywhere;}.rbe-flow-signature-meta strong{font-weight:500;}.rbe-flow-signature-meta strong,.rbe-flow-signature-meta span,.rbe-flow-signature-meta time{min-width:0;overflow-wrap:anywhere;}.rbe-flow-signature-card.is-compact{padding:8px;gap:6px;}.rbe-flow-signature-card.is-compact .rbe-flow-signature-name{font-size:15px;}.rbe-flow-signature-card.is-compact .rbe-flow-signature-meta{font-size:11px;line-height:1.22;}.rbe-flow-signature-card.is-compact .rbe-flow-signature-seal{right:7px;top:7px;width:30px;height:30px;}.rbe-flow-signature-card.is-compact .rbe-flow-signature-seal-logo{width:22px;height:22px;}@container (max-width:180px){.rbe-flow-signature-meta{font-size:11px;}.rbe-flow-signature-name{font-size:14px;}}@media (max-width:720px){.rbe-signature-flow-step{grid-template-columns:1fr;}.rbe-signature-flow-index{width:100%;border-radius:8px;}.rbe-flow-signature-card{flex-basis:150px;}.rbe-flow-signature-connector{flex-basis:24px;}}",document.head.appendChild(e)}}function u(e){return String(null==e?"":e).trim()}function c(e){try{return sessionStorage.getItem(e)||localStorage.getItem(e)||""}catch(e){return""}}function f(e){return e.toLocaleString()}function g(e,t){return"blockwriteai-signature-flow:"+e+":"+t}function p(e){var t=Array.isArray(e)?e:[];return t.length||(t=[{id:o("signer"),label:"Signer 1"},{id:o("signer"),label:"Signer 2"},{id:o("signer"),label:"Signer 3"}]),t.map(function(e,t){return{id:(e=e||{}).id||o("signer"),label:u(e.label)||"Signer "+(t+1)}})}function b(e,t,r){var i=n("div","rbe-signature-flow-step",{dataset:{stepId:t.id||o("signer")}});return i.appendChild(n("span","rbe-signature-flow-index",{text:r+1})),i.appendChild(n("input","rbe-signature-flow-label",{type:"text",value:t.label||"Signer "+(r+1),placeholder:"Signer name or role",disabled:e.readOnly})),i.appendChild(n("button","rbe-signature-flow-remove",{type:"button",title:"Remove signer","aria-label":"Remove signer",html:a("trash-can","Remove signer"),disabled:e.readOnly})),i}function w(e){Array.prototype.slice.call(e.querySelectorAll(".rbe-signature-flow-step")).forEach(function(e,t){var r=e.querySelector(".rbe-signature-flow-index");r&&(r.textContent=t+1);var n=e.querySelector(".rbe-signature-flow-label");n&&!u(n.value)&&(n.placeholder="Signer "+(t+1))})}function h(e){if(!e)return[];Array.prototype.slice.call(e.querySelectorAll(".rbe-flow-signature-connector")).forEach(function(e){e.remove()});var t=Array.prototype.slice.call(e.children).filter(function(e){return e.classList&&e.classList.contains("rbe-flow-signature-card")});return t.forEach(function(r,n){var i;n<t.length-1&&e.insertBefore(((i=document.createElement("span")).className="rbe-flow-signature-connector is-pending",i.setAttribute("aria-hidden","true"),i),r.nextSibling)}),t}function m(e){var t=null;if(Array.prototype.slice.call(e.children).some(function(e){return!(!e.classList||!e.classList.contains("rbe-flow-signature-track"))&&(t=e,!0)}),!t){(t=document.createElement("div")).className="rbe-flow-signature-track";var r=e.querySelector(".rbe-output-signature-flow-title");r&&r.parentNode===e?e.insertBefore(t,r.nextSibling):e.appendChild(t)}return Array.prototype.slice.call(e.children).forEach(function(e){e!==t&&e.classList&&e.classList.contains("rbe-flow-signature-card")&&t.appendChild(e)}),h(t),t}function x(e,t){if(e&&t&&t.name){e.classList.add("is-signed"),e.classList.remove("is-locked","has-error"),e.dataset.signed="true";var r=e.querySelector(".rbe-flow-signature-unsigned"),n=e.querySelector(".rbe-flow-signature-signed"),i=e.querySelector(".rbe-flow-signature-status"),a=e.querySelector(".rbe-flow-signature-name"),o=e.querySelector(".rbe-flow-signature-by-name"),s=e.querySelector(".rbe-flow-signature-email"),l=e.querySelector(".rbe-flow-signature-ip"),d=e.querySelector(".rbe-flow-signature-date"),u=e.querySelector(".rbe-flow-signature-input");u&&(u.value=t.name,u.readOnly=!0),r&&(r.hidden=!0),n&&(n.hidden=!1),i&&(i.textContent="Signed"),a&&(a.textContent=t.name),o&&(o.textContent=t.name),s&&(s.textContent=t.email||""),l&&(l.textContent=t.ipAddress||""),d&&(d.textContent=t.dateLabel||f(new Date(t.date||Date.now())),t.date&&d.setAttribute("datetime",t.date)),e.dataset.signatureHash=t.signatureHash||"",y(e)}}function y(e){if(e&&e.getBoundingClientRect){var t=e.getBoundingClientRect().width;e.classList.toggle("is-compact",t>0&&t<190)}}function v(e){var t=m(e),r=Array.prototype.slice.call(t.querySelectorAll(".rbe-flow-signature-card")),n=Array.prototype.slice.call(t.querySelectorAll(".rbe-flow-signature-connector")),i=!0;r.forEach(function(e,t){var r="true"===e.dataset.signed,a=i||r;e.classList.toggle("is-locked",!a),e.classList.toggle("is-active",a&&!r),e.classList.toggle("is-pending",!r);var o=e.querySelector(".rbe-flow-signature-input"),s=e.querySelector(".rbe-flow-signature-apply"),l=e.querySelector(".rbe-flow-signature-status");r||(o&&(o.disabled=!a),s&&(s.disabled=!a),l&&(l.textContent=a?"Ready to sign":"Pending")),n[t]&&(n[t].classList.toggle("is-complete",r),n[t].classList.toggle("is-pending",!r)),i=r})}function S(e){if(e&&!e.classList.contains("is-locked")){var t=e.querySelector(".rbe-flow-signature-input"),r=u(t&&t.value);if(!r)return e.classList.add("has-error"),void(t&&t.focus());var n=e.closest(".rbe-output-signature-flow");(function(e,t){var r=c("bwai_license_key")||c("blockwriteai_license_key");if(!r||!t||"function"!=typeof fetch)return Promise.resolve(null);var n={action:"lookup",license_key:r,match_signer_value:t,signer_name:t},i=c("bwai_session_token")||c("blockwriteai_session_token");return i&&(n.session_token=i),fetch(l,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}).then(function(e){return e.ok?e.json():null}).then(function(e){return e&&e.matched&&e.signature?{name:e.signature.signer_name||t,email:e.signature.signer_email||"",role:e.signature.signer_role||"",ipAddress:e.signature.ip_address||"",signatureHash:e.signature.signature_hash||"",date:e.signature.created_at||(new Date).toISOString(),dateLabel:e.signature.created_at?f(new Date(e.signature.created_at)):f(new Date)}:null}).catch(function(){return null})})(0,r).then(function(r){if(r){var i=r;!function(e,t,r){return r=u(r).toLowerCase(),!(!e||!r)&&Array.prototype.slice.call(e.querySelectorAll(".rbe-flow-signature-card")).some(function(e){return e!==t&&"true"===e.dataset.signed&&u(e.dataset.signatureHash).toLowerCase()===r})}(n,e,i.signatureHash)?(!function(e,t,r){try{localStorage.setItem(g(e,t),JSON.stringify(r))}catch(e){}}(n.dataset.flowId||"",e.dataset.stepId||"",i),x(e,i),v(n),e.dispatchEvent(new CustomEvent("blockwriteai:signature-flow-signed",{bubbles:!0,detail:i}))):function(e,t){e.classList.add("has-error");var r=e.querySelector(".rbe-flow-signature-status");r&&(r.textContent="Signature already used in this flow."),t&&t.focus()}(e,t)}else!function(e,t){e.classList.add("has-error");var r=e.querySelector(".rbe-flow-signature-status");r&&(r.textContent="No verified signature found."),t&&t.focus()}(e,t)})}}function k(e){d(),Array.prototype.slice.call((e||document).querySelectorAll(".rbe-output-signature-flow")).forEach(function(e){if("true"!==e.dataset.flowReady){e.dataset.flowReady="true";var t=e.dataset.flowId||o("signature-flow");e.dataset.flowId=t,m(e),Array.prototype.slice.call(e.querySelectorAll(".rbe-flow-signature-card")).forEach(function(e){!function(e){e&&"true"!==e.dataset.flowCardResizeObserved&&(e.dataset.flowCardResizeObserved="true",y(e),"undefined"!=typeof ResizeObserver?new ResizeObserver(function(){y(e)}).observe(e):window.addEventListener("resize",function(){y(e)}))}(e);var r=e.dataset.stepId||o("signer");e.dataset.stepId=r;var n=function(e,t){try{return JSON.parse(localStorage.getItem(g(e,t))||"null")}catch(e){return null}}(t,r);n&&n.name&&n.signatureHash&&x(e,n);var i=e.querySelector(".rbe-flow-signature-input"),a=e.querySelector(".rbe-flow-signature-apply");a&&a.addEventListener("click",function(){S(e)}),i&&(i.addEventListener("input",function(){e.classList.remove("has-error")}),i.addEventListener("keydown",function(t){"Enter"===t.key&&(t.preventDefault(),S(e))}))}),v(e)}})}}("undefined"!=typeof window?window:this);