@blockwriteaileaf/blockwriteai 1.2.5 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ !function(e,t){if("object"==typeof module&&module.exports)module.exports=t();else{var r=t();e.BlockWriteAI=r,e.RichBlockEditor=r}}("undefined"!=typeof window?window:this,function(){"use strict";var e="1.2.4",t={premiumPlugins:"https://blockwriteai.in/api/premium_plugins.php",licenseVerify:"https://blockwriteai.in/api/license_verify.php",aiUsage:"https://blockwriteai.in/api/ai_usage.php",aiGenerate:"https://blockwriteai.in/api/ai_generate.php",premiumUsage:"https://blockwriteai.in/api/premium_usage.php",premiumEvent:"https://blockwriteai.in/api/premium_event.php",signatureEvent:"https://blockwriteai.in/api/signature_event.php"},r=["paragraph","heading","quote","list","checklist","code","image","table","embed","callout","delimiter","button","toggle","linkPreview","raw","attaches","drawing","mermaid","signature","signatureFlow"],i={paragraph:{label:"Text",hint:"Plain text block",icon:"font"},heading:{label:"Heading",hint:"Section heading",icon:"heading"},quote:{label:"Quote",hint:"Quote with caption",icon:"quote-left"},list:{label:"List",hint:"Ordered or unordered list",icon:"list-ul"},checklist:{label:"Checklist",hint:"Tasks with checkboxes",icon:"square-check"},code:{label:"Code",hint:"Code block",icon:"code"},image:{label:"Image",hint:"Upload or paste an image",icon:"image"},table:{label:"Table",hint:"Editable table",icon:"table"},embed:{label:"Embed",hint:"YouTube, Vimeo, X, maps, or any iframe URL",icon:"play"},callout:{label:"Callout",hint:"Highlighted note",icon:"circle-info"},delimiter:{label:"Divider",hint:"Horizontal divider",icon:"minus"},button:{label:"Button",hint:"Linked CTA button",icon:"rectangle-ad"},toggle:{label:"Toggle",hint:"Collapsible content",icon:"chevron-down"},linkPreview:{label:"Link Preview",hint:"Rich link card",icon:"link"},raw:{label:"Raw HTML",hint:"Trusted HTML block",icon:"file-code"},attaches:{label:"Attachment",hint:"Upload or link a file",icon:"paperclip"},drawing:{label:"Drawing",hint:"Premium drawing canvas",icon:"pen-ruler"},mermaid:{label:"Mermaid",hint:"Premium drawing and diagram block",icon:"diagram-project"},signature:{label:"Signature",hint:"Premium signature field",icon:"signature"},signatureFlow:{label:"Signature Flow",hint:"Premium multi-signer workflow",icon:"file-signature"}},a={},n={},o={drawing:"Drawing",mermaid:"Mermaid",signature:"Signature",signature_flow:"Signature Flow",ai:"AI"},l={drawing:"drawing",mermaid:"mermaid",signature:"signature",signatureFlow:"signature_flow"},s={},d=[{command:"bold",label:"B",title:"Bold"},{command:"italic",label:"I",title:"Italic"},{command:"underline",label:"U",title:"Underline"},{command:"strikeThrough",label:"S",title:"Strike"},{command:"formatBlock",value:"blockquote",icon:"quote-left",label:"Q",title:"Quote selection"},{command:"createLink",icon:"link",label:"Link",title:"Add link"},{command:"justifyLeft",icon:"align-left",label:"L",title:"Align left"},{command:"justifyCenter",icon:"align-center",label:"C",title:"Align center"},{command:"justifyRight",icon:"align-right",label:"R",title:"Align right"},{command:"insertComment",icon:"comment-dots",label:"Comment",title:"Insert comment"},{command:"removeComment",icon:"comment-slash",label:"Remove comment",title:"Remove comment"},{command:"removeFormat",icon:"eraser",label:"Clear",title:"Clear formatting"}],c=[["plaintext","Plain text"],["javascript","JavaScript"],["typescript","TypeScript"],["html","HTML"],["css","CSS"],["json","JSON"],["php","PHP"],["python","Python"],["java","Java"],["csharp","C#"],["cpp","C++"],["sql","SQL"],["bash","Bash"],["markdown","Markdown"]];function u(e){var t="";if("undefined"!=typeof document&&!(t=document.currentScript&&document.currentScript.src||""))for(var r=document.getElementsByTagName?document.getElementsByTagName("script"):[],i=r.length-1;i>=0;i-=1){var a=r[i].src||"";if(/blockwriteai(?:\.protected)?(?:\.min)?\.js(?:\?|#|$)/.test(a)){t=a;break}}var n=-1!==t.indexOf("/blockwriteai_editor/static/blockwriteai/")?"../../../../":"../";try{return t?new URL(n+e,t).href:e}catch(t){return n+e}}var p=u("vendor/jquery/jquery.min.js"),m=u("vendor/select2/css/select2.min.css"),b=u("vendor/select2/js/select2.min.js"),h=["video/*",".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".csv",".txt",".rtf",".odt",".ods",".odp"].join(","),g=new Set(["pdf","doc","docx","xls","xlsx","ppt","pptx","csv","txt","rtf","odt","ods","odp"]),f=new Set(["a","abbr","b","blockquote","br","code","del","em","figcaption","h1","h2","h3","h4","i","img","li","mark","ol","p","pre","s","span","strike","strong","sub","sup","u","ul"]),y=new Set(["href","src"]),v=new Set(["title","alt","target","rel","style"]),x={a:new Set(["href","target","rel","title"]),img:new Set(["src","alt","title","width","height"]),code:new Set(["data-language"]),span:new Set(["style","class","data-rbe-comment","data-rbe-comment-id"]),mark:new Set(["style"])},w=new Set(["color","background-color","font-family","font-size","font-weight","font-style","text-decoration","text-decoration-line","text-align"]);function k(e){return(e||"block")+"-"+Math.random().toString(36).slice(2,9)+Date.now().toString(36)}function S(e,t,r){var i=document.createElement(e);return t&&(i.className=t),r&&Object.keys(r).forEach(function(e){!1!==r[e]&&null!==r[e]&&void 0!==r[e]&&("text"===e?i.textContent=r[e]:"html"===e?i.innerHTML=r[e]:"dataset"===e?Object.keys(r[e]).forEach(function(t){i.dataset[t]=r[e][t]}):e in i?i[e]=r[e]:i.setAttribute(e,r[e]))}),i}function C(e){return String(null==e?"":e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function A(e,t){if(e){var r=e.querySelector(".rbe-raw-frame");r||(e.innerHTML="",(r=S("iframe","rbe-raw-frame",{title:"Raw HTML preview",loading:"lazy",sandbox:"allow-forms allow-popups allow-popups-to-escape-sandbox allow-same-origin"})).onload=function(){try{var e=r.contentDocument||r.contentWindow.document,t=e.documentElement,i=e.body,a=Math.max(t?t.scrollHeight:0,i?i.scrollHeight:0,220);r.style.height=Math.min(a+4,900)+"px"}catch(e){r.style.height="360px"}},e.appendChild(r)),r.srcdoc=function(e){var t=String(e||"");return t.trim()?/(<!doctype|<html[\s>]|<body[\s>])/i.test(t)?t:["<!doctype html>",'<html><head><meta charset="utf-8"><base target="_blank">',"<style>","body{margin:0;font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#172033;background:#fff;}","img,video,iframe{max-width:100%;height:auto;}table{border-collapse:collapse;max-width:100%;}td,th{border:1px solid #d7dee8;padding:8px;}","</style></head><body>",t,"</body></html>"].join(""):""}(t)}}function E(e){if(!(e=String(e||"")).trim())return"";var t=function(e){return'<div class="rbe-output-raw-container"><div class="rbe-output-raw-html">'+e+"</div></div>"};if(/(<!doctype|<html[\s>]|<body[\s>])/i.test(e)&&"undefined"!=typeof DOMParser)try{var r=(new DOMParser).parseFromString(e,"text/html");return t((r.head?Array.prototype.slice.call(r.head.querySelectorAll("style,link[rel='stylesheet']")):[]).map(function(e){return e.outerHTML||""}).join("")+(r.body?r.body.innerHTML:""))}catch(r){return t(e)}return t(e)}function T(e,t){return'<i class="rbe-fa-icon fa-solid fa-'+C(e=String(e||"circle").trim())+'" aria-hidden="true"></i><span class="rbe-sr-only">'+C(t||e)+"</span>"}function L(e,t){"undefined"!=typeof document&&document.head&&(document.querySelector("link[data-rbe-lib='"+t+"'], link[href='"+e+"']")||document.head.appendChild(S("link","",{rel:"stylesheet",href:e,dataset:{rbeLib:t}})))}function M(e,t,r){if("undefined"!=typeof document&&document.head){var i=document.querySelector("script[data-rbe-lib='"+t+"'], script[src='"+e+"']");if(i)"true"===i.dataset.loaded?r():i.addEventListener("load",r,{once:!0});else{var a=S("script","",{src:e,dataset:{rbeLib:t}});a.addEventListener("load",function(){a.dataset.loaded="true",r()}),document.head.appendChild(a)}}}function q(e){if(!e)return!0;var t=String(e).trim().toLowerCase();return 0===t.indexOf("http://")||0===t.indexOf("https://")||0===t.indexOf("mailto:")||0===t.indexOf("tel:")||0===t.indexOf("data:image/")||0===t.indexOf("/")||0===t.indexOf("#")||0===t.indexOf("./")||0===t.indexOf("../")}function I(e){var t=String(e||"").trim();return t&&(/^#[0-9a-f]{3,8}$/i.test(t)||/^rgba?\(\s*(\d{1,3}\s*,\s*){2}\d{1,3}(\s*,\s*(0|1|0?\.\d+))?\s*\)$/i.test(t)||/^[a-z]+$/i.test(t))?t:""}function O(e){var t=document.createElement("template");return t.innerHTML=String(e||""),function e(t){Array.prototype.slice.call(t.childNodes).forEach(function(r){if(r.nodeType!==Node.TEXT_NODE)if(r.nodeType===Node.ELEMENT_NODE){var i=r.tagName.toLowerCase();if("font"!==i){if(!f.has(i)){for(var a=document.createDocumentFragment();r.firstChild;)a.appendChild(r.firstChild);return r.replaceWith(a),void e(t)}Array.prototype.slice.call(r.attributes).forEach(function(e){var t,a=e.name.toLowerCase(),n=x[i]&&x[i].has(a);if(v.has(a)||n)if(!y.has(a)||q(e.value)){if("style"===a){var o=(t=e.value,String(t||"").split(";").map(function(e){var t=e.split(":");if(t.length<2)return"";var r=t.shift().trim().toLowerCase(),i=t.join(":").trim();return w.has(r)?/url\s*\(|expression\s*\(/i.test(i)?"":r+": "+i:""}).filter(Boolean).join("; "));o?r.setAttribute("style",o):r.removeAttribute("style")}}else r.removeAttribute(e.name);else r.removeAttribute(e.name)}),"a"===i&&(r.setAttribute("rel","noopener noreferrer"),r.getAttribute("target")||r.setAttribute("target","_blank")),e(r)}else{var n=I(r.getAttribute("color"));if(n){var o=document.createElement("span");for(o.style.color=n;r.firstChild;)o.appendChild(r.firstChild);r.replaceWith(o),e(o)}else{for(var l=document.createDocumentFragment();r.firstChild;)l.appendChild(r.firstChild);r.replaceWith(l),e(t)}}}else r.remove()})}(t.content),t.innerHTML}function B(e){return String(e||"").split(/\n{2,}/).map(function(e){return e.trim()}).filter(Boolean).map(function(e){return{id:k("block"),type:"paragraph",data:{text:C(e).replace(/\n/g,"<br>")}}})}function _(e,t){var r=null;return function(){var i=arguments,a=this;clearTimeout(r),r=setTimeout(function(){e.apply(a,i)},t)}}function z(e){return e?(e.nodeType===Node.TEXT_NODE&&(e=e.parentElement),e&&e.closest?e.closest(".rbe-block"):null):null}function P(){return"undefined"!=typeof window&&window.location&&window.location.origin&&/^https?:\/\//i.test(window.location.origin)?window.location.origin:""}function N(e){var t,r,i,a=String(e||"").trim(),n=function(e){var t=String(e||"").trim(),r=t.match(/<iframe[^>]+src=["']([^"']+)["']/i);r&&(t=r[1]);try{var i=new URL(t,P()||void 0),a=i.hostname.replace(/^www\./,"").toLowerCase(),n=i.pathname.split("/").filter(Boolean);if("youtu.be"===a)return n[0]||"";if("youtube.com"===a||a.endsWith(".youtube.com")){if("/watch"===i.pathname)return i.searchParams.get("v")||"";if(("embed"===n[0]||"shorts"===n[0])&&n[1])return n[1]}if(("youtube-nocookie.com"===a||a.endsWith(".youtube-nocookie.com"))&&"embed"===n[0])return n[1]||""}catch(e){}var o=t.match(/(?:youtube(?:-nocookie)?\.com\/(?:watch\?[^#\s]*v=|embed\/|shorts\/)|youtu\.be\/)([A-Za-z0-9_-]{6,})/);return o?o[1]:""}(a);if(n)return{service:"youtube",source:a,embed:(t=n,r="rel=0&modestbranding=1&playsinline=1",i=P(),i&&(r+="&origin="+encodeURIComponent(i)),"https://www.youtube.com/embed/"+t+"?"+r)};var o=function(e){var t=String(e).match(/vimeo\.com\/(?:video\/)?([0-9]+)/);return t?t[1]:""}(a);return o?{service:"vimeo",source:a,embed:"https://player.vimeo.com/video/"+o}:/google\.[^/]+\/maps|goo\.gl\/maps|maps\.app\.goo\.gl/.test(a)?{service:"map",source:a,embed:a}:{service:"link",source:a,embed:a}}function D(e){if(!e||"object"!=typeof e)return e||null;try{return JSON.parse(JSON.stringify(e))}catch(t){return e}}function j(e){var t={};return Object.keys(o).forEach(function(r){t[r]=!!e}),t}function R(e){return"signatureFlow"===(e=String(e||"").trim())?"signature_flow":e}function H(e){return e=R(e),o[e]||e||"Premium feature"}function F(e){"string"==typeof e&&(e=e.split(",")),Array.isArray(e)||(e=Object.keys(o));var t={};return e.map(R).filter(function(e){return!(!e||t[e]||(t[e]=!0,0))})}function W(e){var t=(e=e||{}).upgradeUrl||e.upgrade_url||e.billingUrl||e.billing_url||"";if(t)return String(t);var r=String(e.verifyEndpoint||e.verify||e.endpoint||e.usageEndpoint||e.pluginEndpoint||"").trim();return r?r.replace(/\/api\/[^\/?#]+(?:[?#].*)?$/i,"/dashboard.php#billing"):""}function U(){return(new Date).toISOString().slice(0,10)}function $(e){try{return"undefined"!=typeof localStorage?localStorage.getItem(e):null}catch(e){return null}}function K(e,t){try{"undefined"!=typeof localStorage&&localStorage.setItem(e,t)}catch(e){}}function X(e){e=e||{};var r=String(e.pluginEndpoint||e.pluginsEndpoint||e.bundleEndpoint||e.endpoint||t.premiumPlugins).trim(),i=String(e.licenseKey||e.license_key||e.license||"").trim(),a=String(e.authorizationToken||e.authorization_token||$("bwai_authorization_token")||"").trim(),n=String(e.sessionToken||e.session_token||"").trim(),o=String(e.signatureEventEndpoint||e.signatureEvent||t.signatureEvent).trim(),l=F(e.features||e.pluginFeatures);if(!r)return Promise.reject(new Error("Missing premium plugin endpoint."));if(!a&&!i)return Promise.reject(new Error("Missing premium authorization token."));if("function"!=typeof fetch)return Promise.reject(new Error("This browser does not support fetch()."));if("undefined"==typeof document)return Promise.reject(new Error("Premium plugins can only be loaded in a browser."));function d(){"undefined"!=typeof window&&(window.BlockWriteAIAuthorizationToken=a,window.BlockWriteAISessionToken=n,window.BlockWriteAISignatureEventUrl=o)}var c=r+"|"+(a||i).slice(-24)+"|"+l.slice().sort().join(",");return s[c]?(d(),s[c]):(s[c]=fetch(r,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/javascript, application/json;q=0.9, */*;q=0.8"},body:JSON.stringify({authorization_token:a||void 0,license_key:a?void 0:i,session_token:n,features:l,domain:"undefined"!=typeof window&&window.location?window.location.origin:""})}).then(function(e){return e.text().then(function(t){if(!e.ok)throw new Error(function(e,t){try{var r=JSON.parse(e||"{}");return r.error||r.message||t}catch(r){return e||t}}(t,"Premium plugin license verification failed."));return{text:t,response:e}})}).then(function(e){d();var t=document.createElement("script");return t.type="text/javascript",t.setAttribute("data-blockwriteai-premium-bundle","true"),t.text=e.text+"\n//# sourceURL=blockwriteai-premium-plugins.js",document.head.appendChild(t),{ok:!0,features:l}}).catch(function(e){throw delete s[c],e}),s[c])}function J(e){var r=(e=e||{}).premium||e.Premium||{};!1===r&&(r={disabled:!0});var i=e.licenseKey||e.license_key||e.license||r.licenseKey||r.license_key||r.key||"";return{disabled:!!r.disabled,licenseKey:String(i||"").trim(),authorizationToken:String(r.authorizationToken||r.authorization_token||e.authorizationToken||e.authorization_token||$("bwai_authorization_token")||"").trim(),sessionToken:String(r.sessionToken||r.session_token||e.sessionToken||e.session_token||"").trim(),verifyEndpoint:String(r.verifyEndpoint||r.verify||r.endpoint||e.licenseVerifyEndpoint||t.licenseVerify).trim(),usageEndpoint:String(r.usageEndpoint||r.usage||e.aiUsageEndpoint||t.aiUsage).trim(),featureUsageEndpoint:String(r.featureUsageEndpoint||r.premiumUsageEndpoint||e.featureUsageEndpoint||e.premiumUsageEndpoint||t.premiumUsage).trim(),usageDetailEndpoint:String(r.usageDetailEndpoint||r.usageDetail||e.aiUsageDetailEndpoint||"").trim(),pluginEndpoint:String(r.pluginEndpoint||r.pluginsEndpoint||r.bundleEndpoint||e.premiumPluginEndpoint||t.premiumPlugins).trim(),eventEndpoint:String(r.eventEndpoint||r.premiumEventEndpoint||e.eventEndpoint||e.premiumEventEndpoint||t.premiumEvent).trim(),signatureEventEndpoint:String(r.signatureEventEndpoint||r.signatureEvent||e.signatureEventEndpoint||t.signatureEvent).trim(),upgradeUrl:W(Object.assign({},e,r)),pluginFeatures:F(r.features||r.pluginFeatures||e.premiumPluginFeatures),autoLoadPlugins:!!(r.autoLoadPlugins||r.loadPlugins||e.autoLoadPremiumPlugins)}}function Y(e){return e.disabled?{status:"disabled",valid:!0,message:"Premium checks are disabled.",features:j(!0),limits:{},usage:{}}:{status:(e.authorizationToken||e.licenseKey)&&e.verifyEndpoint?"pending":"missing",valid:!1,message:e.authorizationToken||e.licenseKey?"Premium authorization is pending.":"License activation is required for premium features.",features:j(!1),limits:{},usage:{}}}function Q(e){var t={};return e&&"object"==typeof e?(Object.keys(e).forEach(function(r){"time"!==r&&"version"!==r&&"blocks"!==r&&(t[r]=D(e[r]))}),t):t}function V(e){var t=(e&&e.name?e.name:"").split(".");return t.length>1?t.pop().toLowerCase():""}function Z(e){return!(!e||!e.type||0!==e.type.indexOf("image/"))}function G(e){return!(!e||Z(e))&&(!(!e.type||0!==e.type.indexOf("video/"))||!!g.has(V(e))||/^(application\/pdf|application\/msword|application\/vnd\.ms-|application\/vnd\.openxmlformats|text\/plain|text\/csv|application\/rtf)/i.test(e.type||""))}function ee(e,t){var r=V({name:t||""});return e&&0===e.indexOf("video/")?"file-video":"pdf"===r?"file-pdf":"xls"===r||"xlsx"===r||"csv"===r||"ods"===r?"file-excel":"ppt"===r||"pptx"===r||"odp"===r?"file-powerpoint":"doc"===r||"docx"===r||"odt"===r?"file-word":"file-lines"}function te(e,t){var r=V({name:t||""});return e&&0===e.indexOf("video/")?"VIDEO":r?r.toUpperCase():"FILE"}function re(e,t){var r=V({name:t||""});return e&&0===e.indexOf("video/")?"video":"pdf"===r?"pdf":"xls"===r||"xlsx"===r||"csv"===r||"ods"===r?"excel":"ppt"===r||"pptx"===r||"odp"===r?"powerpoint":"doc"===r||"docx"===r||"odt"===r?"word":"txt"===r||"rtf"===r?"text":"file"}function ie(e){e=e||{};var t=Array.isArray(e.items)?e.items:Array.isArray(e.images)?e.images:null;return t||!e.url&&!e.src||(t=[e]),(t||[]).map(function(t){return{url:(t=t||{}).url||t.src||t.base64||"",base64:t.base64||e.base64||"",upload:D(t.upload||e.upload||null),alt:t.alt||t.caption||"",caption:t.caption||"",alignment:me(t.alignment||e.alignment),width:Number(t.width||e.width||100),displayWidth:Number(t.displayWidth||e.displayWidth||0),minWidth:Number(t.minWidth||e.minWidth||0),naturalWidth:Number(t.naturalWidth||e.naturalWidth||0),naturalHeight:Number(t.naturalHeight||e.naturalHeight||0),rotation:Number(t.rotation||e.rotation||0),crop:t.crop||e.crop||"free",cropRatio:Number(t.cropRatio||e.cropRatio||0),cropX:Number(t.cropX||e.cropX||50),cropY:Number(t.cropY||e.cropY||50),cropZoom:Number(t.cropZoom||e.cropZoom||1)}}).filter(function(e){return!!e.url})}function ae(e,t,r,i){return e=Number(e),Number.isFinite(e)||(e=i),Math.min(r,Math.max(t,e))}function ne(e){return ae(e&&e.cropRatio,.35,3.5,0)}function oe(e){return ae(e,0,100,50)}function le(e){return ae(e,1,3,1)}function se(e){var t=Math.min(100,Math.max(50,Number(e.width||100))),r=Number(e.rotation||0),i="custom"===e.crop?"custom":"free",a=ne(e),n="custom"===i&&a?"aspect-ratio:"+a.toFixed(3)+" / 1;":"",o=Number(e.displayWidth||0),l=Number(e.minWidth||0),s=Number(e.naturalWidth||0);o>0&&l>0&&(o=Math.max(o,l)),o>0&&s>0&&(o=Math.min(o,Math.max(l||0,s)));var d="width:min(100%,"+(o>0?Math.round(o):Math.round(t/100*180))+"px);"+n,c=oe(e.cropX),u=oe(e.cropY),p="max-width:100%;"+("free"===i?"max-height:360px;":"max-height:none;")+"width:100%;"+("free"===i?"height:auto;":"height:100%;")+"object-fit:"+("free"===i?"contain":"cover")+";object-position:"+c+"% "+u+"%;transform-origin:"+c+"% "+u+"%;--rbe-image-zoom:"+le(e.cropZoom)+";transform:rotate("+r+"deg) scale(var(--rbe-image-zoom,1));";return'<div class="rbe-image-stage" style="'+C(d)+'"><img class="rbe-output-image rbe-image-preview" src="'+C(e.url)+'" alt="'+C(e.alt||e.caption||"")+'" loading="lazy" style="'+C(p)+'"></div>'}function de(e){e=e||{};var t=Array.isArray(e.items)?e.items:Array.isArray(e.attachments)?e.attachments:null;return t||!e.url&&!e.name||(t=[e]),(t||[]).map(function(t){return{name:(t=t||{}).name||t.url||"Attachment",url:t.url||t.base64||"",base64:t.base64||e.base64||"",upload:D(t.upload||e.upload||null),type:t.type||"",size:Number(t.size||0),alignment:me(t.alignment||e.alignment)}}).filter(function(e){return!!e.url})}function ce(e){if(e&&window.getSelection&&(e.focus(),e.isContentEditable)){var t=document.createRange();t.selectNodeContents(e),t.collapse(!1);var r=window.getSelection();r.removeAllRanges(),r.addRange(t)}}function ue(){return{time:Date.now(),version:e,blocks:[{id:k("block"),type:"paragraph",data:{text:"",alignment:"left"}}]}}function pe(e){var t=[];document.currentScript&&t.push(document.currentScript);var r=(t=t.concat(Array.prototype.slice.call(document.scripts))).find(function(e){return e.src&&/\/blockwriteai(?:\.protected)?(?:\.min)?\.js(?:[?#].*)?$/i.test(e.src)});if(r&&r.src)try{return new URL(e,r.src).href}catch(e){}return""}function me(e){return"center"===e||"right"===e?e:"left"}function be(e){return"dashed"===e||"dotted"===e||"double"===e?e:"solid"}function he(e){return e=Number(e||1),Number.isFinite(e)||(e=1),Math.min(6,Math.max(1,Math.round(e)))}function ge(e){return he((e=e||{}).borderWidth)+"px "+be(e.borderStyle)+" #d7dee8"}function fe(e){return"success"===e||"warning"===e||"danger"===e?e:"info"}function ye(e,t){var r={info:["#2563eb","#f6faff"],success:["#07845f","#f2fbf7"],warning:["#b76b00","#fff9ef"],danger:["#cf2f2f","#fff5f5"]}[e=fe(e)];return"border-left:5px solid "+r[0]+";background:"+r[1]+";padding:12px 14px;border-radius:8px;margin:0 0 16px;color:#172033;text-align:"+me(t)+";"}function ve(e){return e=String(e||"plaintext").toLowerCase(),c.some(function(t){return t[0]===e})?e:"plaintext"}function xe(e){return Array(Math.max(0,e)+1).join(" ")}function we(e){return e.map(function(e){return e.replace(/\s+$/g,"")}).filter(function(e,t,r){return e.trim()||t>0&&t<r.length-1&&r[t-1].trim()&&r[t+1].trim()}).join("\n").trim()}function ke(e,t){if(e=String(e||"").trim(),t=ve(t),!e)return"";if("json"===t)try{return JSON.stringify(JSON.parse(e),null,2)}catch(t){return e}return"html"===t?function(e){var t=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),r=String(e||"").replace(/>\s+</g,"><").match(/<!--[\s\S]*?-->|<!doctype[^>]*>|<\/?[\w:-]+(?:\s+[\w:-]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+))?)*\s*\/?>|[^<]+/gi);if(!r)return String(e||"").trim();var i=0,a=[];return r.forEach(function(e){var r=e.trim();if(r){var n=/^<\//.test(r),o=r.match(/^<\/?([\w:-]+)/),l=o?o[1].toLowerCase():"",s=/\/>$/.test(r)||/^<!/i.test(r)||t.has(l);n&&(i=Math.max(0,i-1)),/^</.test(r)?(a.push(xe(i)+r),n||s||(i+=1)):r.split(/\s*\n+\s*/).forEach(function(e){e.trim()&&a.push(xe(i)+e.trim())})}}),we(a)}(e):"css"===t?function(e){var t=String(e||"").trim(),r=[],i="",a=0,n="",o=!1;function l(e){var t=i.trim();t&&r.push(xe(a+(e||0))+t),i=""}for(var s=0;s<t.length;s+=1){var d=t[s],c=t[s+1];o?(i+=d,"*"===d&&"/"===c&&(i+=c,s+=1,o=!1,l())):n?(i+=d,"\\"===d&&c?(i+=c,s+=1):d===n&&(n="")):"/"!==d||"*"!==c?'"'!==d&&"'"!==d?"{"!==d?"}"!==d?";"!==d?"\n"!==d&&"\r"!==d?i+=d:i.trim()&&l():(i+=";",l()):(l(),a=Math.max(0,a-1),r.push(xe(a)+"}")):(i=i.trim()+" {",l(),a+=1):(n=d,i+=d):(i.trim()&&l(),i="/*",s+=1,o=!0)}return l(),we(r)}(e):"javascript"===t||"typescript"===t||"java"===t||"csharp"===t||"cpp"===t||"php"===t?function(e){var t=String(e||"").trim(),r=[],i="",a=0,n="",o=!1,l=!1;function s(e){var t=i.trim();t&&r.push(xe(a+(e||0))+t),i=""}for(var d=0;d<t.length;d+=1){var c=t[d],u=t[d+1];o?"\n"===c||"\r"===c?(s(),o=!1):i+=c:l?(i+=c,"*"===c&&"/"===u&&(i+=u,d+=1,l=!1,s())):n?(i+=c,"\\"===c&&u?(i+=u,d+=1):(c===n&&"`"!==n||"`"===c&&"`"===n)&&(n="")):"/"!==c||"/"!==u?"/"!==c||"*"!==u?'"'!==c&&"'"!==c&&"`"!==c?"{"!==c?"}"!==c?";"!==c?"\n"!==c&&"\r"!==c?i+=c:i.trim()&&s():(i+=";",s()):(s(),a=Math.max(0,a-1),i="}",";"!==u&&","!==u||(i+=u,d+=1),s()):(i=i.trim()+" {",s(),a+=1):(n=c,i+=c):(i.trim()&&s(),i="/*",d+=1,l=!0):(i+="//",d+=1,o=!0)}return s(),we(r)}(e):e}function Se(e,t){return e=String(e||"").trim(),/^#[0-9a-f]{3}$/i.test(e)?("#"+e.slice(1).split("").map(function(e){return e+e}).join("")).toLowerCase():/^#[0-9a-f]{6}$/i.test(e)?e.toLowerCase():t}function Ce(e){return e=Se(e,"#d7dee8").slice(1),(.299*parseInt(e.slice(0,2),16)+.587*parseInt(e.slice(2,4),16)+.114*parseInt(e.slice(4,6),16))/255>.56?"#172033":"#f8fafc"}function Ae(e){return Se(e&&e.headerColor,"#e5e7eb")}function Ee(e){return Se(e&&e.backgroundColor,"#d7dee8")}function Te(e,t){if(e){var r=Ae(t),i=Ee(t);e.style.setProperty("--rbe-code-header-bg",r),e.style.setProperty("--rbe-code-header-text",Ce(r)),e.style.setProperty("--rbe-code-bg",i),e.style.setProperty("--rbe-code-text",Ce(i))}}function Le(e){var t=ve((e=e||{}).language);return'<div class="rbe-output-code" style="'+C(function(e){var t=Ae(e),r=Ee(e);return"--rbe-code-header-bg:"+t+";--rbe-code-header-text:"+Ce(t)+";--rbe-code-bg:"+r+";--rbe-code-text:"+Ce(r)+";"}(e))+'"><div class="rbe-output-code-title">'+C(function(e){e=e||"plaintext";var t=c.find(function(t){return t[0]===e});return t?t[1]:e}(t))+'</div><pre><code class="language-'+C(t)+'">'+C(e.code||"")+"</code></pre></div>"}function Me(e){return"object"==typeof e&&e?e.text||"":e||""}function qe(e){var t="object"==typeof e&&e?Number(e.level||0):0;return Number.isFinite(t)||(t=0),Math.min(4,Math.max(0,Math.round(t)))}function Ie(e){return{text:O(Me(e)),level:qe(e),alignment:me("object"==typeof e&&e?e.alignment:"left"),style:"object"==typeof e&&e&&"ordered"===e.style?"ordered":"object"==typeof e&&e&&"unordered"===e.style?"unordered":""}}function Oe(e){return{text:O((e="object"==typeof e&&e?e:{text:e||""}).text||""),checked:!!e.checked,level:qe(e)}}function Be(e){return""===Me(e).replace(/<br\s*\/?>/gi,"").trim()}function _e(e,t,r){var i="ordered"===t?"ol":"ul",a=[],n=[a],o=0;return(e||[]).map(Ie).filter(function(e){return!Be(e)}).forEach(function(e){for(e.level>o+1&&(e.level=o+1);n.length>e.level+1;)n.pop();var i={text:e.text,alignment:me(e.alignment||r),style:e.style||t,children:[]};n[n.length-1].push(i),n[e.level+1]=i.children,o=e.level}),"<"+i+' class="rbe-output-outline-list" style="text-align:'+me(r)+'">'+function e(i,a){var n=a.slice();return i.map(function(i){if("ordered"===(i.style||t)){var o=n.slice();o[o.length-1]+=1,n=o.slice();var l=o.join(".")+".";return'<li style="text-align:'+me(i.alignment||r)+'"><span class="rbe-output-list-marker">'+l+'</span><span class="rbe-output-list-text">'+Pe(i.text)+"</span>"+(i.children.length?'<ol class="rbe-output-outline-list">'+e(i.children,o.concat(0))+"</ol>":"")+"</li>"}return'<li style="text-align:'+me(i.alignment||r)+'"><span class="rbe-output-list-marker">&bull;</span><span class="rbe-output-list-text">'+Pe(i.text)+"</span>"+(i.children.length?'<ul class="rbe-output-outline-list">'+e(i.children,a.concat(0))+"</ul>":"")+"</li>"}).join("")}(a,[0])+"</"+i+">"}function ze(e){var t=[],r=[t],i=0;return(e||[]).map(Oe).filter(function(e){return!Be(e)}).forEach(function(e){for(e.level>i+1&&(e.level=i+1);r.length>e.level+1;)r.pop();var t={text:e.text,checked:e.checked,level:e.level,children:[]};r[r.length-1].push(t),r[e.level+1]=t.children,i=e.level}),'<ul class="rbe-output-checklist">'+function e(t){return t.map(function(t){return'<li class="rbe-output-checklist-item" data-level="'+t.level+'">'+function(e){var t=e.level>0;return'<span class="rbe-output-check'+(e.checked?" is-checked":"")+(t?" is-nested":"")+'" aria-hidden="true">'+T(t?e.checked?"circle-check":"circle":e.checked?"square-check":"square",e.checked?"Checked":"Unchecked")+"</span>"}(t)+'<span class="rbe-output-checklist-text">'+Pe(t.text)+"</span>"+(t.children.length?'<ul class="rbe-output-checklist rbe-output-checklist-nested">'+e(t.children)+"</ul>":"")+"</li>"}).join("")}(t)+"</ul>"}function Pe(e){var t=document.createElement("template");return t.innerHTML=O(e||""),Array.prototype.slice.call(t.content.querySelectorAll(".rbe-comment-mark")).forEach(function(e){var t=e.getAttribute("data-rbe-comment")||e.getAttribute("title")||"",r=e.getAttribute("data-rbe-comment-id")||k("comment"),i=document.createElement("span");i.className="rbe-output-annotation",i.setAttribute("data-comment-id",r),i.setAttribute("data-comment",t),i.innerHTML='<span class="rbe-output-annotation-text">'+e.innerHTML+'</span><span class="rbe-output-annotation-card"><strong>Comment</strong><span class="rbe-output-annotation-note">'+C(t)+'</span><span class="rbe-output-annotation-history" aria-live="polite"></span><span class="rbe-output-annotation-actions"><button type="button" class="rbe-output-annotation-resolve" title="Resolve comment">'+T("check","Resolve comment")+'</button><button type="button" class="rbe-output-annotation-decline" title="Decline comment">'+T("xmark","Decline comment")+'</button></span><span class="rbe-output-annotation-decline-form" hidden><textarea class="rbe-output-annotation-reply" placeholder="Write decline reason"></textarea><button type="button" class="rbe-output-annotation-save-decline">Save</button></span></span>',e.replaceWith(i)}),t.innerHTML}function Ne(){return{el:S,uid:k,faIcon:T,escapeHTML:C,sanitizeHTML:O,renderOutputInline:Pe,cleanAlignment:me,isSafeUrl:q}}function De(e){return"object"==typeof e&&e?e.text||"":e||""}function je(e){return me("object"==typeof e&&e?e.alignment:"left")}function Re(e,t){if(e){e.value=t;var r=Array.prototype.slice.call(e.options||[]).find(function(e){return e.value===t}),i=e.nextElementSibling&&e.nextElementSibling.classList&&e.nextElementSibling.classList.contains("select2-container")?e.nextElementSibling:null;if(i&&r){var a=i.querySelector(".select2-selection__rendered");a&&(a.textContent=r.textContent||r.text||t,a.setAttribute("title",a.textContent))}window.jQuery&&window.jQuery(e).data("select2")&&window.jQuery(e).val(t).trigger("change.select2")}}function He(e){this.options=Object.assign({holder:null,data:null,placeholder:"Type / for blocks",minHeight:"320px",autofocus:!1,readOnly:!1,tools:null,upload:null,uploadOutput:["base64"],mentions:[],autosave:null,userName:"Current user",fontAwesome:!0,select2:!0,shell:!0,theme:"light",themeToggle:!1,maxWidth:null,saveButton:!1,exportButton:!1,exportHtmlButton:!1,exportFilename:"blockwriteai-document",onReady:null,onChange:null,onSave:null},n,e||{});var r=this.options.export||this.options.Export||null;if(r&&"object"==typeof r){var i="buttons"in r?r.buttons:"Export Buttons"in r?r["Export Buttons"]:r.exportButtons,a="html"in r?r.html:"Export To HTML"in r?r["Export To HTML"]:r.exportToHTML;void 0!==i&&(this.options.exportButton=!!i),void 0!==a&&(this.options.exportHtmlButton=!!a)}if(this.holder="string"==typeof this.options.holder?document.querySelector(this.options.holder):this.options.holder,!this.holder)throw new Error("BlockWriteAI: holder was not found.");if(!1!==this.options.fontAwesome&&L(u("vendor/fontawesome/css/all.min.css"),"fontawesome-css"),this.readOnly=!!this.options.readOnly,this.premiumOptions=J(this.options),this.licenseState=Y(this.premiumOptions),this.shellOptions=function(e){if(!e||!1===e.shell)return null;var t,r=e.shell&&"object"==typeof e.shell?e.shell:{},i=r.branding&&"object"==typeof r.branding?r.branding:e.branding&&"object"==typeof e.branding?e.branding:{},a=void 0!==r.maxWidth?r.maxWidth:void 0!==e.maxWidth?e.maxWidth:e.editorMaxWidth,n=void 0!==r.logo?r.logo:void 0!==r.logoUrl?r.logoUrl:void 0!==i.logo?i.logo:void 0!==e.logoUrl?e.logoUrl:void 0!==e.shellLogo?e.shellLogo:pe("blockwriteai-logo.svg")||!1;return{showHeader:!1!==(void 0!==r.showBrandHeader?r.showBrandHeader:void 0!==e.showBrandHeader?e.showBrandHeader:void 0!==r.showHeader?r.showHeader:e.showHeader),title:r.title||e.shellTitle||"BlockWriteAI",subtitle:r.subtitle||e.shellSubtitle||"Block-first writing editor with AI, slash commands, inline toolbar, uploads, tables, embeds, autosave, and JSON responses.",heading:r.heading||e.shellHeading||"Editor",status:r.status||e.shellStatus||"Ready",logo:n,maxWidth:(t=a,null==t||!1===t||""===t?"":"number"==typeof t&&Number.isFinite(t)?Math.max(0,t)+"px":String(t)),className:r.className||e.shellClassName||""}}(this.options),"undefined"!=typeof window&&(window.BlockWriteAIAuthorizationToken=this.premiumOptions.authorizationToken||"",window.BlockWriteAISessionToken=this.premiumOptions.sessionToken||"",window.BlockWriteAISignatureEventUrl=this.premiumOptions.signatureEventEndpoint||t.signatureEvent,window.BlockWriteAIPremiumEventUrl=this.premiumOptions.eventEndpoint||t.premiumEvent,window.BlockWriteAILogoUrl=this.shellOptions&&this.shellOptions.logo?this.shellOptions.logo:pe("blockwriteai-logo.svg")),this.shell=null,this.shellStatus=null,this.shellProgress=null,this.shellProgressText=null,this.editorMount=null,this.availableTools=this.resolveTools(this.options.tools),this.currentMenuBlock=null,this.slashBlock=null,this.draggingBlock=null,this.silent=!1,this.savedRange=null,this.selectEnhanceTimer=null,this.inlineToolbarStickyUntil=0,this.renderingData=!1,this.documentMeta=Q(this.options.data),this.hasExplicitSave=!1,this.savedExportData=null,this.boundDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.themeMode=this.resolveThemeMode(this.options.theme),this.root=S("div","rbe",{dataset:{readonly:this.readOnly?"true":"false",premiumStatus:this.licenseState.status,theme:this.themeMode}}),this.root.__blockwriteaiInstance=this,this.root.style.setProperty("--rbe-min-height",this.options.minHeight),this.topToolbar=this.createTopToolbar(),this.canvas=S("div","rbe-canvas",{role:"textbox","aria-label":"Rich text editor"}),this.inlineToolbar=this.createInlineToolbar(),this.commentModal=this.createCommentModal(),this.linkModal=this.createLinkModal(),this.menu=S("div","rbe-menu",{hidden:!0}),this.root.appendChild(this.topToolbar),this.root.appendChild(this.canvas),this.root.appendChild(this.inlineToolbar),this.root.appendChild(this.commentModal),this.root.appendChild(this.linkModal),this.root.appendChild(this.menu),this.holder.innerHTML="",this.shellOptions?(this.shell=this.createShell(),this.editorMount.appendChild(this.root),this.holder.appendChild(this.shell),this.bindShellEvents()):this.holder.appendChild(this.root),this.applyTheme(this.themeMode),this.queueChange=_(this.emitChange.bind(this),250),this.boundSelectionChange=this.handleSelectionChange.bind(this),this.bindEvents(),this.setupAutosave(),this.canvas.children.length||this.render(this.options.data||ue(),{silent:!0}),this.scheduleSelectEnhance(),this.options.autofocus){var o=this.canvas.querySelector("[contenteditable='true'], textarea, input");setTimeout(function(){o&&ce(o)},0)}"function"==typeof this.options.onReady&&this.options.onReady(this),this.verifyPremiumLicense()}return He.version=e,He.platformEndpoints=Object.assign({},t),He.sanitizeHTML=O,He.toEmbed=N,He.registerTool=function(e,t){(e=String(e||"").trim())&&t&&(r.indexOf(e)<0&&r.push(e),a[e]=t,i[e]=Object.assign({label:t.label||e,hint:t.hint||"Plugin block",icon:t.icon||"puzzle-piece",premiumFeature:R(t.premiumFeature||t.premium||l[e]||"")},i[e]||{},t.menu||{}))},He.getTool=function(e){return a[e]||null},He.configure=function(e){return Object.assign(n,e||{}),He},He.loadPremiumPlugins=function(e){return X(e||{})},He.helpers=Ne(),He.prototype.resolveTools=function(e){return e?Array.isArray(e)?e.filter(function(e){return r.indexOf(e)>=0}):r.filter(function(t){return!1!==e[t]}):r.slice()},He.prototype.setPremiumState=function(e){return e=e||{},this?(this.licenseState=Object.assign({},this.licenseState||Y(this.premiumOptions||{}),e),this.licenseState.features=Object.assign(j(!1),this.licenseState.features||{}),this.root&&(this.root.dataset.premiumStatus=this.licenseState.status||"missing",this.root.dispatchEvent(new CustomEvent("rbe:premium-change",{bubbles:!0,detail:this.getPremiumState()}))),this.refreshPremiumUI(),this.licenseState):Y({})},He.prototype.getPremiumState=function(){var e=this||{};return D(e.licenseState||Y(e.premiumOptions||{}))},He.prototype.getPremiumFeatureForTool=function(e){return function(e){var t=a[e]||{};return R(t.premiumFeature||t.premium||l[e]||"")}(e)},He.prototype.loadPremiumPlugins=function(e){var t=this.premiumOptions||J(this.options);return X({licenseKey:t.licenseKey,authorizationToken:t.authorizationToken,pluginEndpoint:t.pluginEndpoint,sessionToken:t.sessionToken,features:e||t.pluginFeatures}).then(function(e){return this.availableTools=this.resolveTools(this.options.tools),this.refreshPremiumUI(),e}.bind(this))},He.prototype.isPremiumFeatureEnabled=function(e){if(!(e=R(e)))return!0;if(!this)return!1;if(this.premiumOptions&&this.premiumOptions.disabled)return!0;var t=this.licenseState||{};if(!(t.valid&&t.features&&t.features[e]))return!1;if(!(t.subscription||{}).trial)return!0;var r=t.usage||{};if(r._trial_usage_date&&r._trial_usage_date!==U())return!0;if("ai"===e){var i=r.ai_actions_remaining_today;return void 0===i&&(i=r.ai_prompts_remaining_today),void 0===i||Number(i)>0}var a=r.premium_features_remaining_today||{};return void 0===a[e]||Number(a[e])>0},He.prototype.canUseTool=function(e){if(!this)return!1;var t=this.getPremiumFeatureForTool(e);return!t||this.isPremiumFeatureEnabled(t)},He.prototype.premiumMessage=function(e){e=R(e);var t=this&&this.licenseState?this.licenseState:{};return"pending"===t.status?H(e)+" is checking your license. Please try again in a moment.":t.subscription&&"expired"===t.subscription.status?H(e)+" is locked due to trial is expired.":t.message&&!/license verified/i.test(t.message)?H(e)+" is locked. "+t.message:H(e)+" is locked. Please add an active BlockWriteAI premium license."},He.prototype.premiumStorageKey=function(e){var t=this&&this.licenseState?this.licenseState:{},r=this&&this.premiumOptions?this.premiumOptions:{},i=t.license&&t.license.prefix||(r.licenseKey?r.licenseKey.slice(0,18):"no-license");return"blockwriteai:"+(t.organization&&t.organization.id?"org-"+t.organization.id:"org-unknown")+":"+i+":"+e},He.prototype.premiumUpgradeTitle=function(e,t){return"Unlock Premium Blocks"},He.prototype.premiumUpgradeMessage=function(e,t){return"Get Drawing, Mermaid, Signature, Signature Flow, and AI Credits with a premium plan."},He.prototype.createPremiumModalInfo=function(){var e=S("div","rbe-premium-modal-info",{});return e.innerHTML="<section><h3>Already purchased a license?</h3><ol><li>Create your BlockWriteAI account.</li><li>Verify your email.</li><li>Login to your account.</li><li>Enter or activate your license.</li><li>Premium features will unlock automatically.</li></ol></section><section><h3>Need a license?</h3><p>Compare plans or purchase a subscription from BlockWriteAI.</p></section>",e},He.prototype.showPremiumUpgradeModal=function(e,t){if("undefined"!=typeof document){var r=this||{};e=R(e||"ai"),t=String(t||"").toLowerCase();var i=document.querySelector(".rbe-premium-modal-backdrop");i&&i.parentNode&&i.parentNode.removeChild(i);var a=k("premium-title"),n=S("div","rbe-premium-modal-backdrop",{}),o=S("section","rbe-premium-modal-card",{role:"dialog","aria-modal":"true","aria-labelledby":a}),l=S("button","rbe-premium-modal-close",{type:"button",title:"Close",html:T("xmark","Close")}),s="limit"===t?"gauge-high":"trial"===t?"clock":"lock",d="function"==typeof r.premiumUpgradeTitle?r.premiumUpgradeTitle(e,t):H(e),c="function"==typeof r.premiumUpgradeMessage?r.premiumUpgradeMessage(e,t):H(e)+" is locked. Please add an active BlockWriteAI premium license.",u=S("h2","",{id:a,text:d}),p=S("p","",{text:c}),m=S("div","rbe-premium-modal-actions",{}),b=S("a","rbe-premium-primary",{href:"https://blockwriteai.in/",target:"_blank",rel:"noopener noreferrer",text:"Upgrade Now"}),h=S("a","rbe-premium-secondary",{href:"https://blockwriteai.in/pricing",target:"_blank",rel:"noopener noreferrer",text:"Compare Plans"});l.addEventListener("click",g),n.addEventListener("mousedown",function(e){e.target===n&&g()}),document.addEventListener("keydown",function e(t){"Escape"===t.key&&(document.removeEventListener("keydown",e),g())},{once:!0}),m.appendChild(h),m.appendChild(b),o.appendChild(l),o.appendChild(S("div","rbe-premium-modal-icon",{html:T(s,"Premium")})),o.appendChild(u),o.appendChild(p),"function"==typeof r.createPremiumModalInfo&&o.appendChild(r.createPremiumModalInfo()),o.appendChild(m),n.appendChild(o),document.body.appendChild(n),requestAnimationFrame(function(){n.classList.add("is-visible"),b.focus()})}function g(){n.classList.remove("is-visible"),n.classList.add("is-closing"),setTimeout(function(){n.parentNode&&n.parentNode.removeChild(n)},180)}},He.prototype.maybeShowTrialUpgradeModal=function(){if(this){var e=this.licenseState||{},t=e.subscription||{};if(e.valid&&t.trial&&"trialing"===t.status){var r=this.premiumStorageKey("trial-nudge:"+U());"1"!==$(r)&&(K(r,"1"),setTimeout(function(){this.showPremiumUpgradeModal("ai","trial")}.bind(this),650))}}},He.prototype.showToast=function(e,t){if(e&&"undefined"!=typeof document){var r=document.querySelector(".rbe-toast-stack");r||(r=S("div","rbe-toast-stack",{role:"status","aria-live":"polite"}),document.body.appendChild(r));var i="error"===t?"error":"success"===t?"success":"warning",a="error"===i?"circle-exclamation":"success"===i?"circle-check":"lock",n=S("div","rbe-toast is-"+i,{});n.innerHTML=T(a,i)+"<div><strong>"+C("error"===i?"BlockWriteAI error":"success"===i?"BlockWriteAI":"Premium feature")+"</strong><span>"+C(e)+"</span></div>",r.appendChild(n),requestAnimationFrame(function(){n.classList.add("is-show")}),setTimeout(function(){n.classList.remove("is-show"),n.classList.add("is-hiding"),setTimeout(function(){n.parentNode&&n.parentNode.removeChild(n),r&&!r.children.length&&r.parentNode&&r.parentNode.removeChild(r)},260)},5e3)}},He.prototype.showPremiumLocked=function(e){this&&(this.showToast(this.premiumMessage(e),"warning"),this.showPremiumUpgradeModal(e,"locked"))},He.prototype.refreshPremiumUI=function(){this&&this.root&&(Array.prototype.slice.call(this.root.querySelectorAll(".rbe-menu-item[data-type]")).forEach(function(e){var t=this.getPremiumFeatureForTool(e.dataset.type),r=!!t&&!this.isPremiumFeatureEnabled(t);e.classList.toggle("is-premium-locked",r),r?e.setAttribute("data-premium-locked","true"):e.removeAttribute("data-premium-locked"),r?e.title=this.premiumMessage(t):e.dataset.unlockedTitle&&(e.title=e.dataset.unlockedTitle)}.bind(this)),Array.prototype.slice.call(this.root.querySelectorAll("[data-premium-feature]")).forEach(function(e){var t=R(e.dataset.premiumFeature),r=!!t&&!this.isPremiumFeatureEnabled(t);e.classList.toggle("is-premium-locked",r),r?e.setAttribute("data-premium-locked","true"):e.removeAttribute("data-premium-locked"),r?e.title=this.premiumMessage(t):e.dataset.unlockedTitle&&(e.title=e.dataset.unlockedTitle)}.bind(this)))},He.prototype.verifyPremiumLicense=function(){if(!this)return Promise.resolve(Y({}));var e=this.premiumOptions||J(this.options);return e.disabled?(this.setPremiumState({status:"disabled",valid:!0,message:"Premium checks are disabled.",features:j(!0)}),Promise.resolve(this.getPremiumState())):(e.authorizationToken||e.licenseKey)&&e.verifyEndpoint&&"function"==typeof fetch?(this.setPremiumState({status:"pending",valid:!1,message:"License verification is pending.",features:j(!1)}),fetch(e.verifyEndpoint,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({authorization_token:e.authorizationToken||void 0,license_key:e.authorizationToken?void 0:e.licenseKey,session_token:e.sessionToken,domain:"undefined"!=typeof window&&window.location?window.location.origin:""})}).then(function(e){return e.json().catch(function(){return{}}).then(function(t){if(!e.ok||!1===t.ok)throw new Error(t.message||t.error||"License verification failed.");return t})}).then(function(t){if(t.token){e.authorizationToken=t.token,e.licenseKey="",K("bwai_authorization_token",t.token);try{["bwai_license_key","blockwriteai_license_key"].forEach(function(e){localStorage.removeItem(e),sessionStorage.removeItem(e)})}catch(e){}"undefined"!=typeof window&&(window.BlockWriteAIAuthorizationToken=t.token,window.BlockWriteAILicenseKey="")}return this.setPremiumState({status:t.valid?"valid":"invalid",valid:!!t.valid,message:t.message||(t.valid?"License verified.":"License is not active."),features:Object.assign(j(!1),t.features||{}),limits:t.limits||{},usage:t.usage||{},organization:t.organization||null,subscription:t.subscription||null,license:t.license||null}),this.maybeShowTrialUpgradeModal(),t.valid&&e.pluginEndpoint&&e.autoLoadPlugins?this.loadPremiumPlugins(e.pluginFeatures).then(function(){return this.getPremiumState()}.bind(this)).catch(function(e){return this.showToast(e&&e.message?e.message:"Premium plugins could not be loaded.","error"),this.getPremiumState()}.bind(this)):this.getPremiumState()}.bind(this)).catch(function(e){return this.setPremiumState({status:"invalid",valid:!1,message:e&&e.message?e.message:"License verification failed.",features:j(!1)}),this.getPremiumState()}.bind(this))):(this.setPremiumState(Y(e)),Promise.resolve(this.getPremiumState()))},He.prototype.consumePremiumUsage=function(e,t){if(e=R(e),!this||"function"!=typeof this.isPremiumFeatureEnabled){var r=new Error(H(e)+" is locked. Please add an active BlockWriteAI premium license.");return r.status=402,Promise.reject(r)}if(!e||this.premiumOptions&&this.premiumOptions.disabled)return Promise.resolve(this.getPremiumState());if(!this.isPremiumFeatureEnabled(e))return this.showPremiumUpgradeModal(e,"locked"),Promise.reject(new Error(this.premiumMessage(e)));if(!this.premiumOptions||"function"!=typeof fetch)return Promise.resolve(this.getPremiumState());var i="ai"===e?this.premiumOptions.usageEndpoint:this.premiumOptions.featureUsageEndpoint;if(!i)return Promise.resolve(this.getPremiumState());var a=Object.assign({},t||{},{authorization_token:this.premiumOptions.authorizationToken||void 0,license_key:this.premiumOptions.authorizationToken?void 0:this.premiumOptions.licenseKey});return a.feature=e,this.premiumOptions.sessionToken&&(a.session_token=this.premiumOptions.sessionToken),fetch(i,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(a)}).then(function(t){return t.json().catch(function(){return{}}).then(function(r){if(!t.ok||!1===r.ok){var i=r.error||r.message||"AI usage limit check failed.";if(void 0!==r.limit||void 0!==r.used||void 0!==r.remaining){var a=Object.assign({},this.licenseState.usage||{}),n=Object.assign({},this.licenseState.limits||{});a._trial_usage_date=U(),"ai_credits"===r.limit_type?(void 0!==r.used&&(a.ai_credits_used_month=r.used),void 0!==r.remaining&&(a.ai_credits_remaining_month=r.remaining),void 0!==r.limit&&(n.ai_credits_per_month=r.limit)):"ai"===e?(void 0!==r.used&&(a.ai_actions_today=r.used,a.ai_prompts_today=r.used),void 0!==r.remaining&&(a.ai_actions_remaining_today=r.remaining,a.ai_prompts_remaining_today=r.remaining),void 0!==r.limit&&(n.ai_trial_actions_per_day=r.limit,n.ai_prompts_per_day=r.limit)):(a.premium_features_today=Object.assign({},a.premium_features_today||{}),a.premium_features_remaining_today=Object.assign({},a.premium_features_remaining_today||{}),n.premium_features_per_day=Object.assign({},n.premium_features_per_day||{}),void 0!==r.used&&(a.premium_features_today[e]=r.used),void 0!==r.remaining&&(a.premium_features_remaining_today[e]=r.remaining),void 0!==r.limit&&(n.premium_features_per_day[e]=r.limit)),this.setPremiumState({usage:a,limits:n})}429===t.status||/daily (ai|premium)/i.test(i)?this.showPremiumUpgradeModal(e,"limit"):(402===t.status||/not available|expired|subscription|enough ai credits/i.test(i))&&this.showPremiumUpgradeModal(e,"locked");var o=new Error(i);throw o.status=t.status,o.details=r,o}return r}.bind(this))}.bind(this)).then(function(t){var r=Object.assign({},this.licenseState.usage||{}),i=Object.assign({},this.licenseState.limits||{});return r._trial_usage_date=U(),"ai_credits"===t.limit_type?(r.ai_credits_used_month=t.used,r.ai_credits_remaining_month=t.remaining,i.ai_credits_per_month=t.limit):"ai"===e?(r.ai_actions_today=t.used,r.ai_actions_remaining_today=t.remaining,r.ai_prompts_today=t.used,r.ai_prompts_remaining_today=t.remaining,i.ai_trial_actions_per_day=t.limit,i.ai_prompts_per_day=t.limit):(r.premium_features_today=Object.assign({},r.premium_features_today||{}),r.premium_features_remaining_today=Object.assign({},r.premium_features_remaining_today||{}),i.premium_features_per_day=Object.assign({},i.premium_features_per_day||{}),r.premium_features_today[e]=t.used,r.premium_features_remaining_today[e]=t.remaining,i.premium_features_per_day[e]=t.limit),this.setPremiumState({usage:r,limits:i}),this.lastPremiumUsageResult=t,Object.assign({},this.getPremiumState(),{usage_event_id:t.event_id||null,usage_result:t})}.bind(this))},He.prototype.createShell=function(){var e=this.shellOptions||{},t=S("div","rbe-shell"+(e.className?" "+e.className:""));e.maxWidth&&t.style.setProperty("--rbe-shell-max-width",e.maxWidth);var r=null;if(!1!==e.showHeader){if(r=S("header","rbe-shell-brand"),!1!==e.logo){var i=S("img","rbe-shell-logo",{src:e.logo||pe("blockwriteai-logo.svg"),alt:e.title||"BlockWriteAI",decoding:"async"});r.appendChild(i)}else r.appendChild(S("strong","rbe-shell-title",{text:e.title||"BlockWriteAI"}));!1!==e.subtitle&&r.appendChild(S("p","rbe-shell-subtitle",{text:e.subtitle||""}))}var a=S("section","rbe-shell-panel"),n=S("div","rbe-shell-panel-title");return n.appendChild(S("span","rbe-shell-heading",{text:e.heading||"Editor"})),this.shellProgress=S("span","rbe-shell-progress",{hidden:!0}),this.shellProgressText=S("span","rbe-shell-progress-text",{text:"Working with BlockWriteAI..."}),this.shellProgress.appendChild(this.shellProgressText),this.shellProgress.appendChild(S("span","rbe-shell-progress-track",{html:"<span></span>","aria-hidden":"true"})),n.appendChild(this.shellProgress),this.shellStatus=S("span","rbe-shell-status",{text:e.status||"Ready"}),n.appendChild(this.shellStatus),this.editorMount=S("div","rbe-shell-editor-wrap"),a.appendChild(n),a.appendChild(this.editorMount),r&&t.appendChild(r),t.appendChild(a),t},He.prototype.bindShellEvents=function(){if(this.shell&&this.root){var e=this;this.root.addEventListener("rbe:ai-progress",function(t){var r=t&&t.detail||{};e.setShellProgress(!!r.active,r.message||"Working with BlockWriteAI...")}),this.root.addEventListener("rbe:save",function(){e.setShellStatus("Saved "+(new Date).toLocaleTimeString())}),this.root.addEventListener("rbe:save-error",function(t){var r=t.detail&&t.detail.message||t.detail||"Save failed";e.setShellStatus(String(r))})}},He.prototype.setShellStatus=function(e){this.shellStatus&&(this.shellStatus.textContent=e||"")},He.prototype.setShellProgress=function(e,t){this.shellProgress&&(this.shellProgressText&&t&&(this.shellProgressText.textContent=t),this.shellProgress.hidden=!e)},He.prototype.bindEvents=function(){var e=this;document.addEventListener("selectionchange",this.boundSelectionChange),this.canvas.addEventListener("input",function(t){e.handleInput(t)}),this.canvas.addEventListener("keydown",function(t){e.handleKeydown(t)}),this.canvas.addEventListener("paste",function(t){e.handlePaste(t)}),this.canvas.addEventListener("drop",function(t){e.handleDrop(t)}),this.canvas.addEventListener("dragover",function(t){if(!e.readOnly){t.preventDefault();var r=e.getDragAfterElement(t.clientY),i=e.draggingBlock;i&&(null==r?e.canvas.appendChild(i):e.canvas.insertBefore(i,r))}}),this.root.addEventListener("click",function(t){e.handleRootClick(t)}),this.root.addEventListener("mousedown",function(e){e.target.closest(".rbe-list-action, .rbe-list-add, .rbe-list-remove, .rbe-table-action")&&e.preventDefault()}),this.root.addEventListener("change",function(t){e.handleRootChange(t)}),this.root.addEventListener("dragstart",function(t){var r=t.target.closest(".rbe-drag-handle");if(r&&!e.readOnly){var i=z(r);i&&i.classList.contains("rbe-nested-block")||(e.draggingBlock=i,t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/plain",i.dataset.id),setTimeout(function(){i.classList.add("rbe-is-dragging")},0))}}),this.root.addEventListener("dragend",function(){e.draggingBlock&&(e.draggingBlock.classList.remove("rbe-is-dragging"),e.draggingBlock=null,e.changed())}),document.addEventListener("mousedown",this.boundDocumentMouseDown),window.addEventListener("resize",_(function(){this.updateMediaActionAvailability(this.root)}.bind(this),160))},He.prototype.createTopToolbar=function(){var e=S("div","rbe-editor-toolbar",{role:"toolbar","aria-label":"Editor actions"});!0===this.options.themeToggle&&e.appendChild(this.createThemeToggleButton()),e.appendChild(S("button","rbe-toolbar-btn rbe-clear-editor-btn",{type:"button",html:T("trash-can","Clear editor"),title:"Clear editor","aria-label":"Clear editor",dataset:{rbeClear:"true"}})),!1!==this.options.saveButton&&e.appendChild(S("button","rbe-toolbar-btn rbe-save-btn",{type:"button",html:T("floppy-disk","Save"),title:"Save","aria-label":"Save",dataset:{rbeSave:"true"}}));var t=!1!==this.options.exportButton,r=!1!==this.options.exportHtmlButton;if(t||r){var i=this;if(t){var a=S("div","rbe-export-menu-wrap"),n=S("button","rbe-toolbar-btn rbe-export-btn",{type:"button",html:T("file-export","Export"),title:"Export saved preview","aria-label":"Export saved preview",disabled:!0,dataset:{rbeExportToggle:"true"}});n.addEventListener("click",function(e){e.preventDefault(),e.stopPropagation(),i.toggleExportMenu(n)}),a.appendChild(n);var o=S("div","rbe-export-menu",{hidden:!0,role:"menu","aria-label":"Export options"});[["json","file-code","Export to JSON File"]].forEach(function(e){var t=S("button","rbe-export-option",{type:"button",html:T(e[1],e[2]),title:e[2],"aria-label":e[2],role:"menuitem",dataset:{rbeExport:e[0]}});t.addEventListener("click",function(t){t.preventDefault(),t.stopPropagation(),i.handleExport(e[0])}),o.appendChild(t)}),a.appendChild(o),e.appendChild(a)}r&&e.appendChild(S("button","rbe-toolbar-btn rbe-export-html-btn",{type:"button",html:T("file-lines","Export HTML"),title:"Export HTML preview","aria-label":"Export HTML preview",disabled:!0,dataset:{rbeExportHtml:"true"}}))}return e},He.prototype.resolveThemeMode=function(e){return"dark"===String(e||"").toLowerCase()?"dark":"light"},He.prototype.createThemeToggleButton=function(){var e=this.themeMode||"light";return S("button","rbe-toolbar-btn rbe-theme-toggle-btn",{type:"button",html:T("dark"===e?"sun":"moon","dark"===e?"Switch to light mode":"Switch to dark mode"),title:"dark"===e?"Switch to light mode":"Switch to dark mode","aria-label":"dark"===e?"Switch to light mode":"Switch to dark mode","aria-pressed":"dark"===e?"true":"false",dataset:{rbeThemeToggle:"true"}})},He.prototype.updateThemeToggleButton=function(){if(this.root){var e=this.root.querySelector("[data-rbe-theme-toggle='true']");if(e){var t="dark"===this.themeMode,r=t?"Switch to light mode":"Switch to dark mode";e.innerHTML=T(t?"sun":"moon",r),e.title=r,e.setAttribute("aria-label",r),e.setAttribute("aria-pressed",t?"true":"false")}}},He.prototype.applyTheme=function(e){this.themeMode=this.resolveThemeMode(e),this.root&&(this.root.dataset.theme=this.themeMode,this.root.classList.toggle("rbe-theme-dark","dark"===this.themeMode)),this.shell&&(this.shell.dataset.theme=this.themeMode,this.shell.classList.toggle("rbe-theme-dark","dark"===this.themeMode)),this.updateThemeToggleButton()},He.prototype.toggleTheme=function(){this.applyTheme("dark"===this.themeMode?"light":"dark")},He.prototype.handleDocumentMouseDown=function(e){this.root&&(e.target.closest(".rbe-image-stage, .rbe-attachment-card")||this.closeMediaMenus(),e.target.closest(".rbe-export-menu-wrap")||this.hideExportMenu(),e.target.closest(".rbe-menu, .rbe-block-add, .rbe-inline-toolbar, .rbe-export-menu-wrap, .select2-container, .select2-dropdown, .rbe-comment-modal, .rbe-link-modal")||this.hideMenus())},He.prototype.closeMediaMenus=function(e){this.root&&Array.prototype.slice.call(this.root.querySelectorAll(".is-media-menu-open")).forEach(function(t){e&&t===e||t.classList.remove("is-media-menu-open")})},He.prototype.toggleMediaMenu=function(e){if(e){var t=e.closest(".rbe-image-stage, .rbe-attachment-card");if(t){var r=t.classList.contains("is-media-menu-open");this.closeMediaMenus(t),t.classList.toggle("is-media-menu-open",!r),this.updateMediaActionAvailability(t.closest(".rbe-image-gallery, .rbe-attachment-grid")||t.parentElement||this.root)}}},He.prototype.createCommentModal=function(){var e=S("div","modal rbe-comment-modal",{hidden:!0,role:"dialog","aria-modal":"true","aria-label":"Add comment"});return e.innerHTML='<div class="modal-dialog rbe-comment-dialog"><div class="modal-content rbe-comment-content"><div class="modal-header rbe-comment-header"><strong>Add comment</strong><button type="button" class="rbe-comment-close" aria-label="Close">'+T("xmark","Close")+'</button></div><div class="modal-body rbe-comment-body"><textarea class="rbe-comment-input" placeholder="Write comment..."></textarea></div><div class="modal-footer rbe-comment-footer"><button type="button" class="rbe-small-btn rbe-comment-cancel">Cancel</button><button type="button" class="rbe-small-btn rbe-comment-save">Save comment</button></div></div></div>',e},He.prototype.createLinkModal=function(){var e=S("div","modal rbe-comment-modal rbe-link-modal",{hidden:!0,role:"dialog","aria-modal":"true","aria-label":"Add link"});return e.innerHTML='<div class="modal-dialog rbe-comment-dialog"><div class="modal-content rbe-comment-content"><div class="modal-header rbe-comment-header"><strong>Add link</strong><button type="button" class="rbe-comment-close rbe-link-close" aria-label="Close">'+T("xmark","Close")+'</button></div><div class="modal-body rbe-comment-body"><label class="rbe-link-modal-label">URL</label><input class="rbe-link-input" type="url" placeholder="https://example.com"></div><div class="modal-footer rbe-comment-footer"><button type="button" class="rbe-small-btn rbe-link-cancel">Cancel</button><button type="button" class="rbe-small-btn rbe-link-save">Save link</button></div></div></div>',e},He.prototype.createInlineToolbar=function(){var e=S("div","rbe-inline-toolbar",{hidden:!0,role:"toolbar"}),t=S("select","rbe-inline-select rbe-font-family-select",{title:"Font family",dataset:{command:"fontFamily"}});[["Arial, sans-serif","Arial"],["Inter, sans-serif","Inter"],["Georgia, serif","Georgia"],['"Times New Roman", serif',"Times"],['"Courier New", monospace',"Courier"],["Verdana, sans-serif","Verdana"]].forEach(function(e){t.appendChild(S("option","",{value:e[0],text:e[1]}))}),t.value="Arial, sans-serif",t.style.width="112px";var r=S("select","rbe-inline-select rbe-font-size-select",{title:"Font size",dataset:{command:"fontSize"}});["10","12","14","16","18","20","24","28","32","36","48"].forEach(function(e){r.appendChild(S("option","",{value:e,text:e}))}),r.value="16",r.style.width="66px",e.appendChild(t),e.appendChild(r),d.forEach(function(t){e.appendChild(S("button","rbe-inline-btn",{type:"button",title:t.title,html:t.icon?T(t.icon,t.title):C(t.label),dataset:{command:t.command,value:t.value||""}}))});var i=S("input","rbe-color-input",{type:"color",title:"Text color",value:"#1d4ed8",dataset:{command:"foreColor"}}),a=S("input","rbe-color-input",{type:"color",title:"Highlight",value:"#fff2a8",dataset:{command:"hiliteColor"}}),n=S("label","rbe-color-control",{title:"Text color"});n.appendChild(S("span","rbe-color-icon",{text:"A"})),n.appendChild(i),n.appendChild(S("button","rbe-color-reset",{type:"button",title:"Reset text color",html:T("rotate-left","Reset text color"),dataset:{command:"foreColorReset"}}));var o=S("label","rbe-color-control",{title:"Highlight"});o.appendChild(S("span","rbe-color-icon",{html:T("highlighter","Highlight")})),o.appendChild(a),o.appendChild(S("button","rbe-color-reset",{type:"button",title:"Reset highlight",html:T("rotate-left","Reset highlight"),dataset:{command:"hiliteColorReset"}})),e.appendChild(n),e.appendChild(o);var l=this;return e.addEventListener("mousedown",function(e){l.keepInlineToolbarOpen(),e.target.matches("input, select, option")||e.target.closest(".select2-container")||e.preventDefault()}),e},He.prototype.createBlock=function(e,t,r){var i=S("article","rbe-block",{dataset:{id:r||k("block"),type:e}}),a=S("div","rbe-block-controls"),n=S("button","rbe-control-btn rbe-block-add",{type:"button",title:"Insert block",html:T("circle-plus","Insert block")}),o=S("button","rbe-control-btn rbe-drag-handle",{type:"button",title:"Drag block",html:T("grip-vertical","Drag block"),draggable:!0});a.appendChild(n),a.appendChild(o);var l=this.createBlockActions(),s=S("div","rbe-block-body");return this.renderBlockBody(s,e,t||{}),i.appendChild(a),i.appendChild(s),i.appendChild(l),this.readOnly&&this.makeBlockReadonly(i),i},He.prototype.createBlockActions=function(){var e=S("div","rbe-block-actions",{"aria-label":"Block actions"});return[["move-up","arrow-up","Move up"],["move-down","arrow-down","Move down"],["duplicate","copy","Duplicate"],["delete","trash-can","Delete block"]].forEach(function(t){e.appendChild(S("button","rbe-block-action",{type:"button",title:t[2],html:T(t[1],t[2]),dataset:{action:t[0]},"aria-label":t[2]}))}),e},He.prototype.renderBlockBody=function(e,t,r){e.innerHTML="","paragraph"===t?this.renderParagraph(e,r):"heading"===t?this.renderHeading(e,r):"quote"===t?this.renderQuote(e,r):"list"===t?this.renderList(e,r):"checklist"===t?this.renderChecklist(e,r):"code"===t?this.renderCode(e,r):"image"===t?this.renderImage(e,r):"table"===t?this.renderTable(e,r):"embed"===t?this.renderEmbed(e,r):"callout"===t?this.renderCallout(e,r):"delimiter"===t?this.renderDelimiter(e,r):"button"===t?this.renderButton(e,r):"toggle"===t?this.renderToggle(e,r):"linkPreview"===t?this.renderLinkPreview(e,r):"raw"===t?this.renderRaw(e,r):"attaches"===t?this.renderAttachment(e,r):a[t]&&"function"==typeof a[t].render?a[t].render.call(this,e,r||{},Ne()):this.renderParagraph(e,r)},He.prototype.editable=function(e,t,r){return S("div","rbe-editable "+(e||""),{contentEditable:!this.readOnly,html:O(t||""),dataset:{placeholder:r||this.options.placeholder}})},He.prototype.renderParagraph=function(e,t){var r=this.editable("rbe-paragraph",t.text,this.options.placeholder);r.style.textAlign=me(t.alignment),e.appendChild(r)},He.prototype.renderHeading=function(e,t){var r=Math.min(4,Math.max(1,Number(t.level||2))),i=S("div","rbe-heading-wrap"),a=S("select","rbe-heading-level",{title:"Heading level",dataset:{role:"heading-level"}});[1,2,3,4].forEach(function(e){a.appendChild(S("option","",{value:String(e),text:"H"+e,selected:e===r}))});var n=S("div","rbe-editable rbe-heading rbe-h"+r,{contentEditable:!this.readOnly,html:O(t.text||""),dataset:{placeholder:"Heading",level:r}});n.style.textAlign=me(t.alignment),i.appendChild(a),i.appendChild(n),e.appendChild(i)},He.prototype.renderQuote=function(e,t){var r=S("div","rbe-quote"),i=this.editable("rbe-quote-text",t.text,"Quote");i.style.textAlign=me(t.alignment),r.appendChild(i),r.appendChild(S("input","rbe-quote-caption",{type:"text",value:t.caption||"",placeholder:"Caption",disabled:this.readOnly})),e.appendChild(r)},He.prototype.renderList=function(e,t){var r="ordered"===t.style?"ordered":"unordered",i=S("div","rbe-list-wrap",{dataset:{style:r}}),a=S("div","rbe-list-tools"),n=S("select","rbe-list-style",{title:"List style",dataset:{role:"list-style"}});n.appendChild(S("option","",{value:"unordered",text:"Bulleted",selected:"unordered"===r})),n.appendChild(S("option","",{value:"ordered",text:"Numbered",selected:"ordered"===r})),a.appendChild(n),a.appendChild(S("button","rbe-mini-btn rbe-list-action rbe-list-nest-action",{type:"button",html:T("indent","Indent list item"),title:"Indent list item",dataset:{action:"indent-list"},disabled:this.readOnly})),a.appendChild(S("button","rbe-mini-btn rbe-list-action rbe-list-nest-action",{type:"button",html:T("outdent","Outdent list item"),title:"Outdent list item",dataset:{action:"outdent-list"},disabled:this.readOnly})),a.appendChild(S("button","rbe-mini-btn rbe-list-action rbe-list-style-action",{type:"button",html:T("list-check","Switch selected item bullet/number"),title:"Switch selected item bullet/number",dataset:{action:"toggle-list-style"},disabled:this.readOnly}));var o=S("div","rbe-list",{dataset:{alignment:me(t.alignment)}});o.style.textAlign=me(t.alignment),(Array.isArray(t.items)&&t.items.length?t.items:[""]).forEach(function(e){o.appendChild(this.createListItem(e))}.bind(this)),i.appendChild(a),i.appendChild(o),i.appendChild(S("button","rbe-icon-btn rbe-row-add rbe-list-add",{type:"button",html:T("circle-plus","Add list item"),title:"Add list item","aria-label":"Add list item",disabled:this.readOnly})),this.updateListMarkers(i),e.appendChild(i)},He.prototype.createListItem=function(e){var t=S("div","rbe-list-item",{dataset:{level:(e=Ie(e)).level,style:e.style||""}});return t.appendChild(S("span","rbe-list-marker",{"aria-hidden":"true"})),t.appendChild(S("span","rbe-list-text rbe-editable",{contentEditable:!this.readOnly,html:e.text,dataset:{placeholder:"List item"}})),t.querySelector(".rbe-list-text").style.textAlign=me(e.alignment),t.appendChild(S("button","rbe-icon-btn rbe-row-remove rbe-list-remove",{type:"button",html:T("trash-can","Remove list item"),title:"Remove list item","aria-label":"Remove list item",disabled:this.readOnly})),t},He.prototype.renderChecklist=function(e,t){var r=S("div","rbe-checklist-wrap"),i=S("div","rbe-checklist-tools");i.appendChild(S("button","rbe-small-btn rbe-list-nest-action rbe-checklist-action",{type:"button",html:T("indent","Indent checklist item"),title:"Indent checklist item",dataset:{action:"indent-checklist"},disabled:this.readOnly})),i.appendChild(S("button","rbe-small-btn rbe-list-nest-action rbe-checklist-action",{type:"button",html:T("outdent","Outdent checklist item"),title:"Outdent checklist item",dataset:{action:"outdent-checklist"},disabled:this.readOnly}));var a=S("div","rbe-checklist"),n=Array.isArray(t.items)&&t.items.length?t.items:[{text:"",checked:!1}],o=this;n.forEach(function(e){a.appendChild(o.createChecklistItem(e))}),a.appendChild(S("button","rbe-icon-btn rbe-row-add rbe-checklist-add",{type:"button",html:T("circle-plus","Add checklist item"),title:"Add checklist item","aria-label":"Add checklist item",disabled:this.readOnly})),r.appendChild(i),r.appendChild(a),e.appendChild(r)},He.prototype.createChecklistItem=function(e){var t=S("div","rbe-check-item",{dataset:{level:(e=Oe(e)).level,checked:e.checked?"true":"false"}});return t.appendChild(S("button","rbe-check-toggle",{type:"button",disabled:this.readOnly,dataset:{checked:e.checked?"true":"false"},"aria-pressed":e.checked?"true":"false","aria-label":e.checked?"Mark item incomplete":"Mark item complete"})),t.appendChild(S("span","rbe-check-text rbe-editable",{contentEditable:!this.readOnly,html:e.text,dataset:{placeholder:"Task"}})),t.appendChild(S("button","rbe-icon-btn rbe-row-remove rbe-check-remove",{type:"button",html:T("trash-can","Remove item"),title:"Remove item","aria-label":"Remove item",disabled:this.readOnly})),this.updateChecklistItemIcon(t),t},He.prototype.renderCode=function(e,t){var r=ve(t.language),i=Ae(t),a=Ee(t);"dark"===this.themeMode&&"#d7dee8"===a&&(a="#30363d");var n=S("div","rbe-code-wrap");Te(n,{headerColor:i,backgroundColor:a});var o=S("div","rbe-code-header"),l=S("select","rbe-code-language",{title:"Code language",disabled:this.readOnly});l.style.width="176px",c.forEach(function(e){l.appendChild(S("option","",{value:e[0],text:e[1],selected:e[0]===r}))}),o.appendChild(l);var s=S("label","rbe-code-color-label",{title:"Header color"});s.appendChild(S("span","",{text:"Header"})),s.appendChild(S("input","rbe-code-header-color",{type:"color",value:i,disabled:this.readOnly})),o.appendChild(s);var d=S("label","rbe-code-color-label",{title:"Editor background"});d.appendChild(S("span","",{text:"Background"})),d.appendChild(S("input","rbe-code-bg-color",{type:"color",value:a,disabled:this.readOnly})),o.appendChild(d),o.appendChild(S("button","rbe-small-btn rbe-code-format",{type:"button",title:"Format code","aria-label":"Format code",html:T("wand-magic-sparkles","Format code"),disabled:this.readOnly})),o.appendChild(S("button","rbe-small-btn rbe-code-copy",{type:"button",title:"Copy code","aria-label":"Copy code",html:T("copy","Copy code"),disabled:!1})),n.appendChild(o);var u=S("div","rbe-code-editor"),p=S("textarea","rbe-code-input",{value:t.code||"",placeholder:"Write code...",spellcheck:!1,disabled:this.readOnly});u.appendChild(p),n.appendChild(u),e.appendChild(n)},He.prototype.renderImage=function(e,t){var r=S("figure","rbe-image",{dataset:{caption:t.caption||"",alt:t.alt||t.caption||""}}),i=ie(t),a=!this.readOnly;if(i.length){var n=this,o=S("div","rbe-image-gallery",{title:this.readOnly?"":"Drop image files here to add more images"});i.forEach(function(e){var t=me(e.alignment),r=S("div","rbe-image-stage"+(a?" is-editable":""),{dataset:{url:e.url,alt:e.alt||"",caption:e.caption||"",alignment:t,displayWidth:e.displayWidth>0?Math.round(e.displayWidth):"",minWidth:e.minWidth>0?Math.round(e.minWidth):"",naturalWidth:e.naturalWidth>0?Math.round(e.naturalWidth):"",naturalHeight:e.naturalHeight>0?Math.round(e.naturalHeight):"",rotation:e.rotation||"",crop:e.crop||"free",cropRatio:e.cropRatio||"",cropX:oe(e.cropX),cropY:oe(e.cropY),cropZoom:le(e.cropZoom)}});r.__rbeMediaItem=D(e);var i=S("img","rbe-image-preview",{src:e.url,alt:e.alt||e.caption||""});function l(){i.naturalWidth&&(r.dataset.naturalWidth=String(i.naturalWidth),r.dataset.naturalHeight=String(i.naturalHeight||""),Number(r.dataset.displayWidth||0)>i.naturalWidth&&(r.dataset.displayWidth=String(i.naturalWidth)),n.applyImageStageState(r))}if(i.addEventListener("load",l),r.appendChild(i),a){var s=S("div","rbe-media-gear-menu");s.appendChild(S("button","rbe-media-gear",{type:"button",title:"Image settings",html:T("gear","Image settings"),"aria-label":"Image settings"})),s.appendChild(S("button","rbe-media-action rbe-media-action-top rbe-image-crop-toggle",{type:"button",title:"Crop image","aria-label":"Crop image","aria-pressed":"custom"===e.crop?"true":"false",html:T("crop-simple","Crop image")})),s.appendChild(S("button","rbe-media-action rbe-media-action-bottom rbe-media-delete rbe-image-delete",{type:"button",title:"Remove image","aria-label":"Remove image",html:T("trash-can","Remove image")})),r.appendChild(s),["w","e","nw","ne","sw","se"].forEach(function(e){r.appendChild(S("span","rbe-image-resize-handle rbe-image-resize-"+e,{dataset:{resizeHandle:e},title:"Drag to resize image"}))}),["e","s","se"].forEach(function(e){r.appendChild(S("span","rbe-image-crop-handle rbe-image-crop-"+e,{dataset:{cropHandle:e},title:"Drag to crop image"}))})}n.applyImageStageState(r),i.complete&&setTimeout(l,0),o.appendChild(r),a&&n.bindImageStageMouseControls(r)}),this.readOnly||o.appendChild(S("span","rbe-image-replace-hint",{text:"Drop more image files to add"})),r.appendChild(o)}else{var l=S("label","rbe-upload-dropzone rbe-image-dropzone");l.appendChild(S("input","rbe-image-file rbe-upload-input",{type:"file",accept:"image/*",multiple:!0,disabled:this.readOnly})),l.appendChild(S("span","rbe-upload-icon",{html:T("cloud-arrow-up","Upload image")})),l.appendChild(S("strong","",{text:"Drag and drop or click here"})),l.appendChild(S("span","rbe-upload-main",{text:"to upload image"})),l.appendChild(S("small","",{text:"Upload any image from desktop"})),r.appendChild(l)}e.appendChild(r),a&&i.length&&setTimeout(function(){this.updateMediaActionAvailability(r)}.bind(this),0)},He.prototype.renderTable=function(e,t){var r="center"===t.align||"right"===t.align?t.align:"left",i=Math.min(100,Math.max(40,Number(t.width||100))),a=be(t.borderStyle),n=he(t.borderWidth),o=S("div","rbe-table-wrap",{dataset:{align:r}}),l=S("div","rbe-table-toolbar");[["add-row","table-list","Add row"],["add-col","table-columns","Add column"],["remove-row","trash-can|arrow-right|table-list","Remove row"],["remove-col","trash-can|arrow-right|table-columns","Remove column"],["cell-align-left","align-left","Align cell left"],["cell-align-center","align-center","Align cell center"],["cell-align-right","align-right","Align cell right"]].forEach(function(e){var t=e[1].indexOf("|")>=0?'<span class="rbe-combo-icon" aria-hidden="true">'+e[1].split("|").map(function(t){return T(t,e[2])}).join("")+'</span><span class="rbe-sr-only">'+C(e[2])+"</span>":T(e[1],e[2]);l.appendChild(S("button","rbe-small-btn rbe-table-action",{type:"button",title:e[2],html:t,"aria-label":e[2],dataset:{action:e[0]}}))}),o.appendChild(l);var s=S("div","rbe-table-layout"),d=S("label","rbe-table-width-label");d.appendChild(document.createTextNode("Width")),d.appendChild(S("input","rbe-table-width",{type:"range",min:"40",max:"100",step:"5",value:String(i),disabled:this.readOnly})),d.appendChild(S("span","rbe-table-width-value",{text:i+"%"})),s.appendChild(d);var c=S("label","rbe-table-align-label");c.appendChild(document.createTextNode("Align"));var u=S("select","rbe-table-align",{title:"Table alignment",disabled:this.readOnly});[["left","Left"],["center","Center"],["right","Right"]].forEach(function(e){u.appendChild(S("option","",{value:e[0],text:e[1],selected:e[0]===r}))}),c.appendChild(u),s.appendChild(c);var p=S("label","rbe-table-border-style-label");p.appendChild(document.createTextNode("Border"));var m=S("select","rbe-table-border-style",{title:"Table border style",disabled:this.readOnly});[["solid","Solid"],["dashed","Dashed"],["dotted","Dotted"],["double","Double"]].forEach(function(e){m.appendChild(S("option","",{value:e[0],text:e[1],selected:e[0]===a}))}),p.appendChild(m),s.appendChild(p);var b=S("label","rbe-table-border-width-label");b.appendChild(document.createTextNode("Weight")),b.appendChild(S("input","rbe-table-border-width",{type:"range",min:"1",max:"6",step:"1",value:String(n),disabled:this.readOnly})),b.appendChild(S("span","rbe-table-border-width-value",{text:n+"px"})),s.appendChild(b),o.appendChild(s);var h=S("table","rbe-table");h.style.width=i+"%",h.style.setProperty("--rbe-table-border-width",n+"px"),h.style.setProperty("--rbe-table-border-style",a),(Array.isArray(t.rows)&&t.rows.length?t.rows:[["",""],["",""]]).forEach(function(e,r){var i=S("tr");(e.length?e:[""]).forEach(function(e){var a=S(t.withHeadings&&0===r?"th":"td","",{contentEditable:!this.readOnly,html:O(De(e))});a.style.textAlign=je(e),i.appendChild(a)}.bind(this)),h.appendChild(i)}.bind(this));var g=S("div","rbe-table-stage");g.appendChild(h),o.appendChild(g);var f=S("label","rbe-table-heading-toggle");f.appendChild(S("input","",{type:"checkbox",checked:!!t.withHeadings,dataset:{role:"table-heading"},disabled:this.readOnly})),f.appendChild(document.createTextNode(" First row is heading")),o.appendChild(f),e.appendChild(o)},He.prototype.renderEmbed=function(e,t){var r=S("div","rbe-embed"),i=S("div","rbe-media-tools");i.appendChild(S("input","rbe-embed-url",{type:"url",value:t.source||"",placeholder:"Paste YouTube, Vimeo, map, or iframe URL",disabled:this.readOnly})),i.appendChild(S("button","rbe-small-btn rbe-embed-apply",{type:"button",text:"Embed",disabled:this.readOnly})),r.appendChild(i),t.embed?r.appendChild(S("iframe","rbe-embed-frame",{src:t.embed,title:t.service?t.service+" embed":"Embedded content",referrerPolicy:"strict-origin-when-cross-origin",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowFullscreen:!0})):r.appendChild(S("div","rbe-dropzone",{text:"Paste a URL and press Embed"})),r.appendChild(S("input","rbe-embed-caption",{type:"text",value:t.caption||"",placeholder:"Caption",disabled:this.readOnly})),e.appendChild(r)},He.prototype.renderCallout=function(e,t){var r=S("div","rbe-callout",{dataset:{tone:t.tone||"info"}}),i=S("select","rbe-callout-tone",{title:"Callout tone",disabled:this.readOnly});["info","success","warning","danger"].forEach(function(e){i.appendChild(S("option","",{value:e,text:e,selected:(t.tone||"info")===e}))}),r.appendChild(i);var a=this.editable("rbe-callout-text",t.text,"Callout text");a.style.textAlign=me(t.alignment),r.appendChild(a),e.appendChild(r)},He.prototype.renderDelimiter=function(e,t){var r="dashed"===t.style||"dotted"===t.style||"thick"===t.style?t.style:"line",i=S("div","rbe-delimiter-wrap",{dataset:{style:r}});if(i.addEventListener("mouseleave",function(){i.classList.remove("rbe-divider-toolbar-dismissed")}),!this.readOnly){var a=S("div","rbe-divider-toolbar",{role:"toolbar","aria-label":"Divider style"});[["line","minus","Line"],["dashed","grip-lines","Dashed"],["dotted","ellipsis","Dotted"],["thick","bars-staggered","Bold line"]].forEach(function(e){a.appendChild(S("button","rbe-divider-style-btn"+(e[0]===r?" is-active":""),{type:"button",title:e[2],html:T(e[1],e[2]),dataset:{style:e[0]},"aria-pressed":e[0]===r?"true":"false"}))}),i.appendChild(a)}i.appendChild(S("hr","rbe-delimiter")),e.appendChild(i)},He.prototype.renderButton=function(e,t){var r={primary:["#2563eb","#ffffff"],secondary:["#ffffff","#172033"],success:["#07845f","#ffffff"],dark:["#111827","#ffffff"]},i=r[t.style]||r.primary,a=t.background||i[0],n=t.color||i[1],o=me(t.alignment),l=S("div","rbe-button-block",{dataset:{align:o}}),s=S("div","rbe-button-controls");s.appendChild(S("input","rbe-button-text",{type:"text",value:t.text||"",placeholder:"Button text",disabled:this.readOnly})),s.appendChild(S("input","rbe-button-url",{type:"url",value:t.url||"",placeholder:"https://example.com",disabled:this.readOnly}));var d=S("label","rbe-button-color-label",{title:"Button background"});d.appendChild(S("span","",{text:"Fill"})),d.appendChild(S("input","rbe-button-bg",{type:"color",value:a,disabled:this.readOnly}));var c=S("label","rbe-button-color-label",{title:"Button text color"});c.appendChild(S("span","",{text:"Text"})),c.appendChild(S("input","rbe-button-color",{type:"color",value:n,disabled:this.readOnly}));var u=S("select","rbe-button-align",{title:"Button alignment",disabled:this.readOnly});["left","center","right"].forEach(function(e){u.appendChild(S("option","",{value:e,text:e.charAt(0).toUpperCase()+e.slice(1),selected:e===o}))}),s.appendChild(d),s.appendChild(c),s.appendChild(u),l.appendChild(s);var p=S("div","rbe-button-preview");p.style.textAlign=o,p.appendChild(S("a","rbe-button-link",{href:q(t.url||"")?t.url:"#",target:"_blank",rel:"noopener noreferrer",text:t.text||"Button"})),p.querySelector(".rbe-button-link").style.backgroundColor=a,p.querySelector(".rbe-button-link").style.color=n,l.appendChild(p),e.appendChild(l)},He.prototype.renderToggle=function(e,t){var i=S("details","rbe-toggle",{open:!1!==t.open}),a=S("summary","rbe-toggle-summary"),n=S("button","rbe-toggle-arrow",{type:"button",title:"Toggle section",html:T("chevron-down","Toggle section"),"aria-expanded":!1!==t.open?"true":"false"}),o=S("input","rbe-toggle-title",{type:"text",value:t.title||"",placeholder:"Toggle title",disabled:this.readOnly});n.addEventListener("click",function(e){e.preventDefault(),e.stopPropagation(),i.open=!i.open,n.setAttribute("aria-expanded",i.open?"true":"false"),this.changed(!0)}.bind(this)),o.addEventListener("click",function(e){e.stopPropagation()}),o.addEventListener("keydown",function(e){e.stopPropagation()}),a.addEventListener("click",function(e){e.preventDefault(),e.stopPropagation()}),a.addEventListener("keydown",function(e){" "!==e.key&&"Enter"!==e.key||e.preventDefault()}),a.appendChild(n),a.appendChild(o),i.appendChild(a);var l=S("div","rbe-toggle-content"),s=S("div","rbe-toggle-nested-canvas");(Array.isArray(t.blocks)&&t.blocks.length?t.blocks:t.text?[{type:"paragraph",data:{text:t.text}}]:[{type:"paragraph",data:{text:""}}]).forEach(function(e){var t=r.indexOf(e.type)>=0&&"toggle"!==e.type?e.type:"paragraph",i=this.createBlock(t,e.data||this.defaultBlockData(t),e.id||k("block"));i.classList.add("rbe-nested-block"),s.appendChild(i)}.bind(this)),l.appendChild(s),i.appendChild(l),e.appendChild(i)},He.prototype.renderLinkPreview=function(e,t){var r=S("div","rbe-link-preview"),i=S("div","rbe-link-preview-fields");i.appendChild(S("input","rbe-link-preview-url",{type:"url",value:t.url||"",placeholder:"https://example.com",disabled:this.readOnly})),i.appendChild(S("input","rbe-link-preview-title",{type:"text",value:t.title||"",placeholder:"Link title",disabled:this.readOnly})),i.appendChild(S("input","rbe-link-preview-description",{type:"text",value:t.description||"",placeholder:"Short description",disabled:this.readOnly})),r.appendChild(i);var a=S("a","rbe-link-preview-card",{target:"_blank",rel:"noopener noreferrer"});a.setAttribute("href",q(t.url||"")?t.url:"#"),a.appendChild(S("span","rbe-link-preview-icon",{html:T("arrow-up-right-from-square","Open link")})),a.appendChild(S("strong","rbe-link-preview-card-title",{text:t.title||t.url||"Link preview"})),a.appendChild(S("span","rbe-link-preview-card-description",{text:t.description||"Add a URL, title, and description for this link."})),r.appendChild(a),e.appendChild(r)},He.prototype.renderRaw=function(e,t){var r=S("div","rbe-raw-wrap");if(r.__rbeRawHtml=t.html||"",!this.readOnly){var i=S("div","rbe-raw-header");i.appendChild(S("strong","",{html:T("file-code","Raw HTML")+"<span>Raw HTML</span>"})),i.appendChild(S("button","rbe-small-btn rbe-raw-format",{type:"button",title:"Format HTML","aria-label":"Format HTML",html:T("wand-magic-sparkles","Format HTML")})),i.appendChild(S("button","rbe-small-btn rbe-raw-copy",{type:"button",title:"Copy HTML","aria-label":"Copy HTML",html:T("copy","Copy HTML")})),r.appendChild(i);var a=S("div","rbe-raw-editor"),n=S("textarea","rbe-raw-input",{value:t.html||"",placeholder:"<div>Trusted HTML</div>",spellcheck:!1,disabled:this.readOnly});a.appendChild(n),n.addEventListener("input",function(){r.__rbeRawHtml=n.value}),r.appendChild(a)}var o=S("div","rbe-raw-preview");A(o,t.html),r.appendChild(o),e.appendChild(r)},He.prototype.renderAttachment=function(e,t){var r=S("div","rbe-attachment"),i=de(t),a=!this.readOnly;if(i.length){var n=S("div","rbe-attachment-grid",{title:this.readOnly?"":"Drop files here to add more attachments"});i.forEach(function(e){var t=re(e.type,e.name),r=me(e.alignment),i=S("div","rbe-attachment-card"+(a?" is-editable":""),{title:e.name||"Open attachment",dataset:{name:e.name,url:e.url,type:e.type,size:e.size,kind:t,alignment:r}});i.__rbeMediaItem=D(e);var o=S("a","rbe-attachment-card-link",{href:e.url,target:"_blank",rel:"noopener noreferrer",title:e.name||"Open attachment"});if(o.appendChild(S("span","rbe-attachment-card-icon",{html:T(ee(e.type,e.name),"Attachment")})),o.appendChild(S("strong","rbe-attachment-card-type",{text:te(e.type,e.name)})),o.appendChild(S("span","rbe-attachment-card-name",{text:e.name||"Open attachment"})),i.appendChild(o),a){var l=S("div","rbe-attachment-delete-menu");l.appendChild(S("button","rbe-media-action rbe-media-action-bottom rbe-media-delete rbe-attachment-delete",{type:"button",title:"Remove attachment","aria-label":"Remove attachment",html:T("trash-can","Remove attachment")})),i.appendChild(l)}n.appendChild(i)}),this.readOnly||n.appendChild(S("small","rbe-attachment-replace-hint",{text:"Drop more files to add"})),r.appendChild(n)}else{var o=S("label","rbe-upload-dropzone rbe-attachment-dropzone");o.appendChild(S("input","rbe-attachment-file rbe-upload-input",{type:"file",accept:h,multiple:!0,disabled:this.readOnly})),o.appendChild(S("span","rbe-upload-icon",{html:T("cloud-arrow-up","Upload attachment")})),o.appendChild(S("strong","",{text:"Drag and drop or click here"})),o.appendChild(S("span","rbe-upload-main",{text:"to upload attachment"})),o.appendChild(S("small","",{text:"Videos, PDF, Word, Excel, PowerPoint, CSV, TXT, and RTF only"})),r.appendChild(o)}e.appendChild(r),a&&i.length&&setTimeout(function(){this.updateMediaActionAvailability(r)}.bind(this),0)},He.prototype.handleRootClick=function(e){var t=e.target;if(!(e.detail>1&&t.closest(".rbe-editable, [contenteditable='true'], textarea, input"))){var r=t.closest(".rbe-media-gear");if(r)return e.preventDefault(),e.stopPropagation(),void this.toggleMediaMenu(r);var i=t.closest(".rbe-media-align");if(i)return e.preventDefault(),e.stopPropagation(),void this.alignMediaItem(i,i.dataset.align);var a=t.closest(".rbe-image-crop-toggle");if(a){e.preventDefault(),e.stopPropagation();var n=a.closest(".rbe-image-stage");return this.setImageCropMode(n,!(n&&n.classList.contains("is-image-crop-mode"))),void this.changed(!0)}var o=t.closest(".rbe-media-delete");if(o)return e.preventDefault(),e.stopPropagation(),void this.removeMediaItem(o);var l=t.closest("[data-rbe-clear='true']");if(l)return e.preventDefault(),e.stopPropagation(),void this.handleClearButton(l);if(t.closest("[data-rbe-theme-toggle='true']"))return e.preventDefault(),e.stopPropagation(),void this.toggleTheme();var s=t.closest("[data-rbe-save='true']");if(s)return e.preventDefault(),e.stopPropagation(),void this.handleSaveButton(s);var d=t.closest("[data-rbe-export-toggle='true']");if(d)return e.preventDefault(),e.stopPropagation(),void this.toggleExportMenu(d);var c=t.closest("[data-rbe-export]");if(c)return e.preventDefault(),e.stopPropagation(),void this.handleExport(c.dataset.rbeExport);if(t.closest("[data-rbe-export-html='true']"))return e.preventDefault(),e.stopPropagation(),void this.handleExportHTML();var u=t.closest(".rbe-inline-btn");if(u)this.formatInline(u.dataset.command,u.dataset.value);else{var p=t.closest(".rbe-color-reset");if(p)return e.preventDefault(),e.stopPropagation(),void this.formatInline(p.dataset.command);if(t.closest(".rbe-comment-save"))this.saveCommentFromModal();else if(!t.closest(".rbe-comment-cancel, .rbe-comment-close")||t.closest(".rbe-link-modal"))if(t.closest(".rbe-link-save"))this.saveLinkFromModal();else if(t.closest(".rbe-link-cancel, .rbe-link-close"))this.hideLinkModal();else{var m=t.closest(".rbe-divider-style-btn");if(m){var b=m.closest(".rbe-delimiter-wrap");b&&(b.dataset.style=m.dataset.style||"line",Array.prototype.slice.call(b.querySelectorAll(".rbe-divider-style-btn")).forEach(function(e){var t=e===m;e.classList.toggle("is-active",t),e.setAttribute("aria-pressed",t?"true":"false")}),b.classList.add("rbe-divider-toolbar-dismissed"),m.blur(),this.changed(!0))}else{var h=z(t);if(t.closest(".rbe-toggle-add-block"))this.addToggleNestedBlock(h);else{var g=t.closest(".rbe-block-action");if(g)this.handleBlockAction(h,g.dataset.action);else if(t.closest(".rbe-block-add"))this.showBlockMenu(h,t);else{var f=t.closest(".rbe-menu-item");if(f)this.handleMenuItem(f);else{var y=t.closest(".rbe-checklist-action");if(y)this.applyChecklistNestAction(h,y.dataset.action);else if(t.closest(".rbe-check-toggle"))this.toggleChecklistItem(h,t.closest(".rbe-check-item"));else if(t.closest(".rbe-checklist-add"))this.addChecklistItem(h);else if(t.closest(".rbe-check-remove"))this.removeChecklistItem(h,t.closest(".rbe-check-item"));else if(t.closest(".rbe-code-copy"))this.copyCode(t.closest(".rbe-code-wrap"));else if(t.closest(".rbe-raw-copy"))this.copyRaw(h);else if(t.closest(".rbe-code-format"))this.formatCodeBlock(h);else if(t.closest(".rbe-raw-format"))this.formatRawBlock(h);else if(t.closest(".rbe-image-apply"))this.applyImageUrl(h);else if(t.closest(".rbe-embed-apply"))this.applyEmbed(h);else{var v=t.closest(".rbe-list-action");if(v)this.applyListNestAction(h,v.dataset.action);else if(t.closest(".rbe-list-add"))this.addListItem(h);else if(t.closest(".rbe-list-remove"))this.removeListItem(h,t.closest(".rbe-list-item"));else{var x=t.closest(".rbe-table-action");x&&this.applyTableAction(h,x.dataset.action)}}}}}}}else this.hideCommentModal()}}},He.prototype.handleRootChange=function(e){var t=e.target;if(!t.dataset||"foreColor"!==t.dataset.command&&"hiliteColor"!==t.dataset.command)if(!t.dataset||"fontFamily"!==t.dataset.command&&"fontSize"!==t.dataset.command){var r=z(t);if(r){if(t.matches(".rbe-heading-level")){var i=r.querySelector(".rbe-heading");i.dataset.level=t.value,i.className="rbe-editable rbe-heading rbe-h"+t.value}t.matches(".rbe-list-style")&&this.switchListStyle(r,t.value),t.matches(".rbe-callout-tone")&&(r.querySelector(".rbe-callout").dataset.tone=t.value),t.matches(".rbe-button-bg, .rbe-button-color, .rbe-button-align")&&this.refreshButtonPreview(r),t.matches(".rbe-code-language, .rbe-code-header-color, .rbe-code-bg-color")&&this.refreshCodeBlock(r),t.matches(".rbe-image-file")&&this.applyImageFiles(r,Array.prototype.slice.call(t.files||[])),t.matches(".rbe-attachment-file")&&this.applyAttachmentFiles(r,Array.prototype.slice.call(t.files||[])),"table-heading"===t.dataset.role&&this.refreshTableHeading(r),t.matches(".rbe-table-align, .rbe-table-width, .rbe-table-border-style, .rbe-table-border-width")&&this.updateTableLayout(r),this.changed()}}else this.formatInline(t.dataset.command,t.value);else this.formatInline(t.dataset.command,t.value)},He.prototype.handleInput=function(e){if(!this.silent){var t=z(e.target);t&&(this.handleMarkdownShortcut(t,e.target),this.handleSlashMenu(t,e.target),e.target.matches(".rbe-raw-input")&&A(t.querySelector(".rbe-raw-preview"),e.target.value),e.target.matches(".rbe-code-input")&&this.refreshCodeBlock(t),e.target.matches(".rbe-code-header-color, .rbe-code-bg-color")&&this.refreshCodeBlock(t),e.target.matches(".rbe-table-width, .rbe-table-border-width")&&this.updateTableLayout(t),e.target.matches(".rbe-button-text, .rbe-button-url, .rbe-button-bg, .rbe-button-color")&&this.refreshButtonPreview(t),e.target.matches(".rbe-link-preview-url, .rbe-link-preview-title, .rbe-link-preview-description")&&this.refreshLinkPreview(t),this.changed())}},He.prototype.handleKeydown=function(e){if(!this.readOnly){if((e.ctrlKey||e.metaKey)&&"k"===e.key.toLowerCase())return e.preventDefault(),void this.formatInline("createLink");if(!this.menu||this.menu.hidden||"ArrowDown"!==e.key&&"ArrowUp"!==e.key&&"Enter"!==e.key&&"Escape"!==e.key){var t=e.target,r=z(t);if(r){if("Enter"===e.key&&!e.shiftKey&&this.shouldCreateNewBlock(t,r)){e.preventDefault();var i=r.parentElement&&r.parentElement.classList.contains("rbe-toggle-nested-canvas")?r.parentElement:null,a=i?this.createBlock("paragraph",{text:""},k("block")):this.insertBlock("paragraph",{text:""},this.indexOfBlock(r)+1);return i&&(a.classList.add("rbe-nested-block"),i.insertBefore(a,r.nextElementSibling),this.scheduleSelectEnhance()),this.focusBlock(a),void this.changed(!0)}if("Backspace"===e.key&&!1!==e.isTrusted&&this.isEmptyEditable(t)&&!this.shouldKeepEmptyEditableBlock(r,t)&&this.canvas.children.length>1){e.preventDefault();var n=r.previousElementSibling||r.nextElementSibling;r.remove(),n&&this.focusBlock(n),this.changed(!0)}}}else this.handleMenuKeyboard(e)}},He.prototype.handlePaste=function(e){if(!this.readOnly){var t=z(e.target);if(t&&e.clipboardData){var r=Array.prototype.slice.call(e.clipboardData.files||[]).filter(Z);if(r.length){e.preventDefault();var i="image"===t.dataset.type?t:this.insertBlock("image",{},this.indexOfBlock(t)+1);this.applyImageFiles(i,r)}else{var a=e.clipboardData.getData("text/plain");if(/^https?:\/\/\S+$/.test(a.trim())&&""===(t.textContent||"").trim())return e.preventDefault(),void this.transformBlock(t,"embed",N(a.trim()));if(a&&a.indexOf("\n\n")>-1&&"paragraph"===t.dataset.type&&""===(t.textContent||"").trim()){e.preventDefault();var n=B(a),o=this.indexOfBlock(t);t.remove(),n.forEach(function(e,t){this.insertBlock(e.type,e.data,o+t,e.id)}.bind(this)),this.changed()}}}}},He.prototype.handleDrop=function(e){if(!this.readOnly){var t=Array.prototype.slice.call(e.dataTransfer&&e.dataTransfer.files?e.dataTransfer.files:[]);if(t.length){var r=z(e.target)||this.getCurrentBlock(),i=t[0],a=t.filter(Z),n=t.filter(G);if(e.preventDefault(),r&&"attaches"===r.dataset.type)return!n.length||Z(i)?void alert("Attachments only allow videos and documents such as PDF, Word, Excel, PowerPoint, CSV, TXT, and RTF. Please use the Image block for images."):void this.applyAttachmentFiles(r,n);if(r&&"image"===r.dataset.type)return a.length?void this.applyImageFiles(r,a):void alert("The Image block only accepts image files.");if(a.length){var o=this.insertBlock("image",{},r?this.indexOfBlock(r)+1:this.canvas.children.length);this.applyImageFiles(o,a)}else if(n.length){var l=this.insertBlock("attaches",{},r?this.indexOfBlock(r)+1:this.canvas.children.length);this.applyAttachmentFiles(l,n)}else alert("Attachments only allow videos and documents such as PDF, Word, Excel, PowerPoint, CSV, TXT, and RTF. Please use the Image block for images.")}}},He.prototype.handleSelectionChange=function(){if(this.root&&!this.readOnly){var e=window.getSelection();if(e&&0!==e.rangeCount&&!e.isCollapsed){var t=e.anchorNode;if(this.root.contains(t)){var r=e.getRangeAt(0);this.savedRange=r.cloneRange();var i=r.getBoundingClientRect();if(i&&(i.width||i.height)){if(this.inlineToolbar.hidden=!1,this.inlineToolbar.style.transform="none",this.inlineToolbarPinnedUntil&&Date.now()<this.inlineToolbarPinnedUntil&&this.inlineToolbarPinnedPosition)return this.inlineToolbar.style.left=this.inlineToolbarPinnedPosition.left,this.inlineToolbar.style.top=this.inlineToolbarPinnedPosition.top,void this.updateInlineToolbarState();this.inlineToolbarPinnedPosition=null;var a=this.inlineToolbar.getBoundingClientRect(),n=i.left+i.width/2-a.width/2,o=z(t),l=o&&o.querySelector(".rbe-block-body")?o.querySelector(".rbe-block-body").getBoundingClientRect():null,s=this.canvas?this.canvas.getBoundingClientRect():null,d=l?Math.max(8,l.left):s?Math.max(8,s.left):8,c=s?Math.min(window.innerWidth-8,s.right):window.innerWidth-8;l&&(c=Math.min(c,l.right));var u=Math.max(d,c-a.width),p=Math.min(u,Math.max(d,n));this.inlineToolbar.style.left=p+"px",this.inlineToolbar.style.top=Math.max(8,i.top-a.height-8)+"px",this.updateInlineToolbarState()}}else this.inlineToolbar.hidden=!0}else{if(this.shouldKeepInlineToolbarOpen())return;this.inlineToolbar.hidden=!0}}},He.prototype.keepInlineToolbarOpen=function(){this.inlineToolbarStickyUntil=Date.now()+900},He.prototype.pinInlineToolbarPosition=function(){this.inlineToolbar&&!this.inlineToolbar.hidden&&(this.inlineToolbarPinnedPosition={left:this.inlineToolbar.style.left||this.inlineToolbar.getBoundingClientRect().left+"px",top:this.inlineToolbar.style.top||this.inlineToolbar.getBoundingClientRect().top+"px"},this.inlineToolbarPinnedUntil=Date.now()+700)},He.prototype.shouldKeepInlineToolbarOpen=function(){return this.inlineToolbar&&!this.inlineToolbar.hidden&&Date.now()<this.inlineToolbarStickyUntil},He.prototype.updateInlineToolbarState=function(){if(this.inlineToolbar&&!this.inlineToolbar.hidden){var e=this.getSelectionEditable(),t=window.getSelection&&window.getSelection(),r=t&&t.anchorNode?t.anchorNode:null;r=r&&r.nodeType===Node.TEXT_NODE?r.parentElement:r;var i=e&&e.style&&e.style.textAlign?me(e.style.textAlign):"left";Array.prototype.slice.call(this.inlineToolbar.querySelectorAll(".rbe-inline-btn")).forEach(function(e){var r=e.dataset.command,a=!1;if("bold"===r||"italic"===r||"underline"===r||"strikeThrough"===r)try{a=document.queryCommandState(r)}catch(e){a=!1}if("justifyLeft"===r&&(a="left"===i),"justifyCenter"===r&&(a="center"===i),"justifyRight"===r&&(a="right"===i),"formatBlock"===r&&"blockquote"===e.dataset.value){var n=t&&t.anchorNode?t.anchorNode:null;a=!!((n=n&&n.nodeType===Node.TEXT_NODE?n.parentElement:n)&&n.closest&&n.closest(".rbe-inline-quote"))}e.classList.toggle("is-active",!!a),e.setAttribute("aria-pressed",a?"true":"false")});for(var a=e,n=r;n&&e&&n!==e&&e.contains(n);){if(n.style&&(n.style.fontFamily||n.style.fontSize||n.style.color||n.style.backgroundColor)){a=n;break}n=n.parentElement}var o=a?window.getComputedStyle(a):null,l=this.inlineToolbar.querySelector(".rbe-font-family-select"),s=this.inlineToolbar.querySelector(".rbe-font-size-select");if(l&&o&&o.fontFamily){var d=o.fontFamily.toLowerCase(),c=Array.prototype.slice.call(l.options).find(function(e){var t=String(e.value||"").toLowerCase(),r=t.split(",")[0].replace(/"/g,"").trim();return d===t||r&&d.indexOf(r)>=0||d.indexOf(e.text.toLowerCase())>=0});Re(l,c?c.value:"Arial, sans-serif")}if(function(e,t){if(e){e.hidden=!t,e.style.display=t?"":"none";var r=e.nextElementSibling&&e.nextElementSibling.classList&&e.nextElementSibling.classList.contains("select2-container")?e.nextElementSibling:null;r&&(r.style.display=t?"":"none")}}(s,!(e&&e.classList&&e.classList.contains("rbe-heading"))),s&&o&&o.fontSize){var u=String(Math.round(parseFloat(o.fontSize)||16));Re(s,Array.prototype.slice.call(s.options).some(function(e){return e.value===u})?u:"16")}}},He.prototype.handleMenuKeyboard=function(e){var t=Array.prototype.slice.call(this.menu.querySelectorAll(".rbe-menu-item"));if(t.length){var r=this.menu.querySelector(".is-active"),i=Math.max(0,t.indexOf(r));return"Escape"===e.key?(e.preventDefault(),void this.hideMenus()):"ArrowDown"===e.key||"ArrowUp"===e.key?(e.preventDefault(),r&&r.classList.remove("is-active"),t[i="ArrowDown"===e.key?(i+1)%t.length:(i-1+t.length)%t.length].classList.add("is-active"),void t[i].scrollIntoView({block:"nearest"})):void("Enter"===e.key&&(e.preventDefault(),(r||t[0]).click()))}},He.prototype.handleMarkdownShortcut=function(e,t){if(t.isContentEditable&&"paragraph"===e.dataset.type)for(var r=t.textContent||"",i=[[/^#\s$/,"heading",{level:1,text:""}],[/^##\s$/,"heading",{level:2,text:""}],[/^###\s$/,"heading",{level:3,text:""}],[/^>\s$/,"quote",{text:"",caption:""}],[/^-\s$/,"list",{style:"unordered",items:[""]}],[/^1\.\s$/,"list",{style:"ordered",items:[""]}],[/^\[\]\s$/,"checklist",{items:[{text:"",checked:!1}]}],[/^```\s?$/,"code",{code:"",language:""}]],a=0;a<i.length;a+=1)if(i[a][0].test(r))return this.transformBlock(e,i[a][1],i[a][2]),void this.focusBlock(e)},He.prototype.handleSlashMenu=function(e,t){if(t.isContentEditable&&"paragraph"===e.dataset.type){var r=(t.textContent||"").trim();0===r.indexOf("/")?(this.slashBlock=e,this.showToolMenu(e,t,r.slice(1).toLowerCase(),!0)):this.slashBlock===e&&(this.hideMenus(),this.slashBlock=null)}},He.prototype.handleMenuItem=function(e){var t=e.dataset.action,r=e.dataset.type,i=this.currentMenuBlock||this.slashBlock||this.getCurrentBlock(),a=this.slashBlock;if(this.hideMenus(),i||"insert"===t)if("insert"!==t)if("convert"!==t)this.handleBlockAction(i,t);else{var n=this.getPremiumFeatureForTool(r);if(!this.canUseTool(r))return void this.showPremiumLocked(n);var o=function(){this.transformBlock(i,r,this.dataFromBlockForType(i,r)),this.focusBlock(i),this.changed(!0)}.bind(this);n&&"ai"!==n?this.consumePremiumUsage(n,{action:"convert",source:"editor_menu",tool:r}).then(o).catch(function(e){this.showToast(e&&e.message?e.message:"Premium usage limit check failed.","warning")}.bind(this)):o()}else{var l=this.getPremiumFeatureForTool(r);if(!this.canUseTool(r))return void this.showPremiumLocked(l);var s=function(){var e=i?this.indexOfBlock(i)+1:this.canvas.children.length,t=i&&i.parentElement&&i.parentElement.classList.contains("rbe-toggle-nested-canvas")?i.parentElement:null;a&&(t=a.parentElement&&a.parentElement.classList.contains("rbe-toggle-nested-canvas")?a.parentElement:t,e=this.indexOfBlock(a)+1,this.clearSlashCommand(a));var n=t?this.createBlock(r,this.defaultBlockData(r),k("block")):this.insertBlock(r,this.defaultBlockData(r),e);t&&(n.classList.add("rbe-nested-block"),t.insertBefore(n,(a||i).nextElementSibling),this.scheduleSelectEnhance()),this.focusBlock(n),this.changed(!0)}.bind(this);l&&"ai"!==l?this.consumePremiumUsage(l,{action:"insert",source:"editor_menu",tool:r}).then(s).catch(function(e){this.showToast(e&&e.message?e.message:"Premium usage limit check failed.","warning")}.bind(this)):s()}},He.prototype.clearSlashCommand=function(e){var t=e&&e.querySelector(".rbe-paragraph");t&&0===(t.textContent||"").trim().indexOf("/")&&(t.innerHTML="")},He.prototype.handleBlockAction=function(e,t){if(e&&t){var r=e.parentElement&&e.parentElement.classList.contains("rbe-toggle-nested-canvas")?e.parentElement:null,i=r||this.canvas;if("duplicate"===t){var a=this.serializeBlock(e);a.id=k("block");var n=r?this.createBlock(a.type,a.data,a.id):this.insertBlock(a.type,a.data,this.indexOfBlock(e)+1,a.id);return r&&(n.classList.add("rbe-nested-block"),r.insertBefore(n,e.nextElementSibling),this.scheduleSelectEnhance()),this.focusBlock(n),void this.changed(!0)}if("delete"===t){var o=e.previousElementSibling||e.nextElementSibling;if(e.remove(),!i.children.length){var l=this.createBlock("paragraph",{},k("block"));r&&l.classList.add("rbe-nested-block"),i.appendChild(l)}return o&&this.focusBlock(o),void this.changed(!0)}if("move-up"===t||"move-down"===t){var s="attaches"===e.dataset.type,d="move-up"===t?e.previousElementSibling:e.nextElementSibling;d&&"move-up"===t&&i.insertBefore(e,d),d&&"move-down"===t&&i.insertBefore(d,e),s?(e.scrollIntoView({block:"nearest"}),this.changed()):(this.focusBlock(e),this.changed(!0))}}},He.prototype.addToggleNestedBlock=function(e){if(e&&"toggle"===e.dataset.type&&!this.readOnly){var t=e.querySelector(".rbe-toggle-nested-canvas"),i=e.querySelector(".rbe-toggle-block-type");if(t&&i){var a=r.indexOf(i.value)>=0&&"toggle"!==i.value?i.value:"paragraph";if(this.canUseTool(a)){var n=this.createBlock(a,this.defaultBlockData(a),k("block"));n.classList.add("rbe-nested-block"),t.appendChild(n),this.scheduleSelectEnhance(),this.focusBlock(n),this.changed(!0)}else this.showPremiumLocked(this.getPremiumFeatureForTool(a))}}},He.prototype.showBlockMenu=function(e,t){this.currentMenuBlock=e,this.slashBlock=null,this.menu.innerHTML="";var r=S("div","rbe-menu-section");r.appendChild(S("div","rbe-menu-title",{text:"Insert block"})),this.availableTools.forEach(function(e){r.appendChild(this.createMenuButton(e,"insert"))}.bind(this)),this.menu.appendChild(r),this.positionMenu(t||e)},He.prototype.showToolMenu=function(e,t,r,a){this.currentMenuBlock=e,this.menu.innerHTML="";var n=S("div","rbe-menu-section"),o=this.availableTools.filter(function(e){var t=i[e];return!r||t.label.toLowerCase().indexOf(r)>=0||e.indexOf(r)>=0});o.length?o.forEach(function(e,t){var r=this.createMenuButton(e,"insert");0===t&&r.classList.add("is-active"),n.appendChild(r)}.bind(this)):n.appendChild(S("div","rbe-empty-menu",{text:"No blocks found"})),this.menu.appendChild(n),this.positionMenu(t||e),a&&(this.slashBlock=e)},He.prototype.createMenuButton=function(e,t){var r=i[e]||i.paragraph,a=this.getPremiumFeatureForTool(e),n=!!a&&!this.isPremiumFeatureEnabled(a);return S("button","rbe-menu-item"+(n?" is-premium-locked":""),{type:"button",title:n?this.premiumMessage(a):r.label,"data-premium-locked":n?"true":"false",dataset:{type:e,action:t,premiumFeature:a||""},html:'<span class="rbe-menu-icon">'+T(r.icon,r.label)+"</span><span><strong>"+C(r.label)+(n?'<em class="rbe-premium-badge">'+T("lock","Locked premium feature")+"<span>Premium</span></em>":"")+"</strong><small>"+C(n?this.premiumMessage(a):r.hint)+"</small></span>"})},He.prototype.positionMenu=function(e){var t=e.getBoundingClientRect?e.getBoundingClientRect():this.root.getBoundingClientRect();this.menu.hidden=!1;var r=Math.min(340,Math.max(260,window.innerWidth-24)),i=Math.max(12,Math.min(t.left,window.innerWidth-r-12));this.menu.style.width=r+"px",this.menu.style.maxHeight="min(440px, calc(100vh - 24px))";var a=Math.max(0,window.innerHeight-t.bottom-12),n=Math.max(0,t.top-12),o=a<260&&n>a,l=o?n:a,s=Math.max(180,Math.min(440,l-6,window.innerHeight-24));this.menu.style.maxHeight=s+"px";var d=Math.min(this.menu.scrollHeight||s,s),c=o?t.top-d-6:t.bottom+6;c=Math.max(12,Math.min(c,window.innerHeight-d-12)),this.menu.dataset.placement=o?"top":"bottom",this.menu.style.left=i+"px",this.menu.style.top=c+"px"},He.prototype.hideMenus=function(){this.menu.hidden=!0,this.currentMenuBlock=null,this.slashBlock=null},He.prototype.formatInline=function(e,t){this.pinInlineToolbarPosition(),this.restoreSelection();var r=window.getSelection();if(r&&0!==r.rangeCount){if("formatBlock"===e&&"blockquote"===t)return this.quoteSelection(),this.changed(),void this.updateInlineToolbarState();if("removeFormat"===e)return this.clearFormattingPreserveTypography(),this.changed(),void this.updateInlineToolbarState();if("justifyLeft"===e||"justifyCenter"===e||"justifyRight"===e){var i=this.getSelectionEditable();if(!i)return;var a="justifyCenter"===e?"center":"justifyRight"===e?"right":"left";return i.style.textAlign=a,this.changed(!0),void this.updateInlineToolbarState()}if("createLink"===e)return this.removeLinksInSelection()?(this.changed(),void this.updateInlineToolbarState()):void this.openLinkModal();if("fontFamily"===e){if(!t)return;return this.wrapSelectionWithSpan({fontFamily:t}),this.changed(),void this.updateInlineToolbarState()}if("fontSize"===e){if(!t)return;var n=this.getSelectionEditable();if(n&&n.classList&&n.classList.contains("rbe-heading"))return;return this.applyFontSizeToSelection(t),this.changed(),void this.updateInlineToolbarState()}if("foreColorReset"===e||"hiliteColorReset"===e)return this.resetSelectionInlineStyle("foreColorReset"===e?"color":"highlight"),this.changed(),void this.updateInlineToolbarState();if("foreColor"===e||"hiliteColor"===e){var o=I(t);if(!o)return;return this.wrapSelectionWithSpan("foreColor"===e?{color:o}:{backgroundColor:o}),this.changed(),void this.updateInlineToolbarState()}if("insertComment"!==e){if("removeComment"===e)return this.removeSelectedComment(),this.changed(),void this.updateInlineToolbarState();document.execCommand(e,!1,t||null),this.changed(),this.updateInlineToolbarState()}else this.openCommentModal()}},He.prototype.quoteSelection=function(){var e=window.getSelection();if(e&&0!==e.rangeCount&&!e.isCollapsed){var t=e.anchorNode&&e.anchorNode.nodeType===Node.TEXT_NODE?e.anchorNode.parentElement:e.anchorNode,r=t&&t.closest?t.closest(".rbe-inline-quote"):null;if(r&&this.root.contains(r))this.unwrapInlineQuote(r);else{var i=e.getRangeAt(0),a=document.createElement("span");a.className="rbe-inline-quote",a.style.fontStyle="italic",a.appendChild(document.createTextNode('"')),a.appendChild(i.extractContents()),a.appendChild(document.createTextNode('"')),i.insertNode(a),e.removeAllRanges();var n=document.createRange();n.selectNodeContents(a),e.addRange(n),this.savedRange=n.cloneRange()}}},He.prototype.openCommentModal=function(){if(this.commentModal){this.restoreSelection();var e=window.getSelection();if(e&&0!==e.rangeCount&&!e.isCollapsed){this.savedRange=e.getRangeAt(0).cloneRange(),this.commentModal.hidden=!1,this.commentModal.classList.add("show");var t=this.commentModal.querySelector(".rbe-comment-input");t&&(t.value="",setTimeout(function(){t.focus()},0))}}},He.prototype.hideCommentModal=function(){this.commentModal&&(this.commentModal.hidden=!0,this.commentModal.classList.remove("show"))},He.prototype.openLinkModal=function(){if(this.linkModal){this.restoreSelection();var e=window.getSelection();if(e&&0!==e.rangeCount&&!e.isCollapsed){this.savedRange=e.getRangeAt(0).cloneRange(),this.linkModal.hidden=!1,this.linkModal.classList.add("show");var t=this.linkModal.querySelector(".rbe-link-input");t&&(t.value="",t.classList.remove("is-invalid"),setTimeout(function(){t.focus()},0))}}},He.prototype.hideLinkModal=function(){this.linkModal&&(this.linkModal.hidden=!0,this.linkModal.classList.remove("show"))},He.prototype.saveLinkFromModal=function(){var e=this.linkModal&&this.linkModal.querySelector(".rbe-link-input"),t=e?e.value.trim():"";t&&q(t)?(this.applyLinkToSelection(t),this.hideLinkModal(),this.changed(),this.updateInlineToolbarState()):e&&e.classList.add("is-invalid")},He.prototype.applyLinkToSelection=function(e){this.restoreSelection();var t=window.getSelection();if(t&&0!==t.rangeCount&&!t.isCollapsed){var r=t.anchorNode&&t.anchorNode.nodeType===Node.TEXT_NODE?t.anchorNode.parentElement:t.anchorNode,i=r&&r.closest?r.closest("a"):null;if(i&&this.root.contains(i))return i.href=e,i.target="_blank",i.rel="noopener noreferrer",void(this.savedRange=t.getRangeAt(0).cloneRange());var a=t.getRangeAt(0),n=document.createElement("a");n.href=e,n.target="_blank",n.rel="noopener noreferrer",n.appendChild(a.extractContents()),a.insertNode(n),t.removeAllRanges();var o=document.createRange();o.selectNodeContents(n),t.addRange(o),this.savedRange=o.cloneRange()}},He.prototype.unwrapInlineLink=function(e){if(e&&e.parentNode){for(;e.firstChild;)e.parentNode.insertBefore(e.firstChild,e);e.remove()}},He.prototype.removeLinksInSelection=function(){var e=window.getSelection();if(!e||0===e.rangeCount)return!1;var t=e.getRangeAt(0),r=e.anchorNode&&e.anchorNode.nodeType===Node.TEXT_NODE?e.anchorNode.parentElement:e.anchorNode,i=[],a=r&&r.closest?r.closest("a"):null;return a&&this.root.contains(a)&&i.push(a),Array.prototype.slice.call(this.root.querySelectorAll("a")).forEach(function(e){try{t.intersectsNode(e)&&i.indexOf(e)<0&&i.push(e)}catch(e){return}}),i.forEach(this.unwrapInlineLink.bind(this)),i.length>0},He.prototype.saveCommentFromModal=function(){var e=this.commentModal&&this.commentModal.querySelector(".rbe-comment-input"),t=e?e.value.trim():"";t&&(this.restoreSelection(),this.wrapSelectionWithSpan(null,{class:"rbe-comment-mark",title:t,"data-rbe-comment":t,"data-rbe-comment-id":k("comment")}),this.hideCommentModal(),this.changed(),this.updateInlineToolbarState())},He.prototype.removeSelectedComment=function(){this.restoreSelection();var e=window.getSelection();if(e&&0!==e.rangeCount){var t=e.anchorNode&&e.anchorNode.nodeType===Node.TEXT_NODE?e.anchorNode.parentElement:e.anchorNode,r=t&&t.closest?t.closest(".rbe-comment-mark"):null;if(!r||!this.root.contains(r)){var i=e.getRangeAt(0);r=Array.prototype.slice.call(this.root.querySelectorAll(".rbe-comment-mark")).filter(function(e){return i.intersectsNode(e)})[0]}if(r){for(;r.firstChild;)r.parentNode.insertBefore(r.firstChild,r);r.remove()}}},He.prototype.clearFormattingPreserveTypography=function(){var e=window.getSelection();if(e&&0!==e.rangeCount&&!e.isCollapsed){var t=this.getSelectionEditable(),r=e.anchorNode&&e.anchorNode.nodeType===Node.TEXT_NODE?e.anchorNode.parentElement:e.anchorNode,i=r&&r.nodeType===Node.ELEMENT_NODE?r:t,a=i?window.getComputedStyle(i):null,n=a&&a.fontFamily?a.fontFamily:"Arial, sans-serif",o=a&&a.fontSize?a.fontSize:"16px";this.removeInlineQuotesInSelection(),this.removeLinksInSelection(),document.execCommand("removeFormat",!1,null),this.wrapSelectionWithSpan({fontFamily:n,fontSize:o})}},He.prototype.unwrapInlineQuote=function(e){if(e&&e.parentNode){var t=function e(t){if(!t)return null;if(t.nodeType===Node.TEXT_NODE)return t;for(var r=t.firstChild;r;r=r.nextSibling){var i=e(r);if(i)return i}return null}(e),r=function e(t){if(!t)return null;if(t.nodeType===Node.TEXT_NODE)return t;for(var r=t.lastChild;r;r=r.previousSibling){var i=e(r);if(i)return i}return null}(e);for(t&&(t.textContent=t.textContent.replace(/^"+/,"")),r&&(r.textContent=r.textContent.replace(/"+$/,""));e.firstChild;)e.parentNode.insertBefore(e.firstChild,e);e.remove()}},He.prototype.removeInlineQuotesInSelection=function(){var e=window.getSelection();if(e&&0!==e.rangeCount){var t=e.getRangeAt(0),r=e.anchorNode&&e.anchorNode.nodeType===Node.TEXT_NODE?e.anchorNode.parentElement:e.anchorNode,i=[],a=r&&r.closest?r.closest(".rbe-inline-quote"):null;a&&this.root.contains(a)&&i.push(a),Array.prototype.slice.call(this.root.querySelectorAll(".rbe-inline-quote")).forEach(function(e){try{t.intersectsNode(e)&&i.indexOf(e)<0&&i.push(e)}catch(e){return}}),i.forEach(this.unwrapInlineQuote.bind(this))}},He.prototype.resetSelectionInlineStyle=function(e){var t=window.getSelection();if(t&&0!==t.rangeCount&&!t.isCollapsed){var r=this.getSelectionEditable();if(r){var i=t.getRangeAt(0),a="color"===e?["color"]:["backgroundColor","background"];Array.prototype.slice.call(r.querySelectorAll("[style], font")).forEach(function(e){(function(e){try{return i.intersectsNode(e)}catch(e){return!1}})(e)&&l(e)});for(var n=t.anchorNode&&t.anchorNode.nodeType===Node.TEXT_NODE?t.anchorNode.parentElement:t.anchorNode;n&&n!==r.parentElement&&(n.nodeType===Node.ELEMENT_NODE&&r.contains(n)&&l(n),n!==r);)n=n.parentElement;for(var o=t.focusNode&&t.focusNode.nodeType===Node.TEXT_NODE?t.focusNode.parentElement:t.focusNode;o&&o!==r.parentElement&&(o.nodeType===Node.ELEMENT_NODE&&r.contains(o)&&l(o),o!==r);)o=o.parentElement;this.savedRange=t.getRangeAt(0).cloneRange()}}function l(t){t&&t.style&&(a.forEach(function(e){t.style[e]=""}),t.getAttribute("style")||t.removeAttribute("style"),"color"===e&&t.tagName&&"font"===t.tagName.toLowerCase()&&t.removeAttribute("color"))}},He.prototype.applyFontSizeToSelection=function(e){var t=Number(e);if(t&&!(t<1)){var r=window.getSelection();if(r&&0!==r.rangeCount&&!r.isCollapsed){var i=this.getSelectionEditable();if(i){var a=r.getRangeAt(0),n=[];Array.prototype.slice.call(i.querySelectorAll("[style]")).forEach(function(e){(function(e){try{return a.intersectsNode(e)}catch(e){return!1}})(e)&&s(e)});for(var o=r.anchorNode&&r.anchorNode.nodeType===Node.TEXT_NODE?r.anchorNode.parentElement:r.anchorNode;o&&o!==i.parentElement&&(i.contains(o)&&s(o),o!==i);)o=o.parentElement;for(var l=r.focusNode&&r.focusNode.nodeType===Node.TEXT_NODE?r.focusNode.parentElement:r.focusNode;l&&l!==i.parentElement&&(i.contains(l)&&s(l),l!==i);)l=l.parentElement;n.forEach(function(e){e.style.fontSize="",e.getAttribute("style")||e.removeAttribute("style")}),16!==t?this.wrapSelectionWithSpan({fontSize:t+"px"}):this.savedRange=r.getRangeAt(0).cloneRange()}}}function s(e){e&&e.nodeType===Node.ELEMENT_NODE&&e.style&&e.style.fontSize&&n.indexOf(e)<0&&n.push(e)}},He.prototype.restoreSelection=function(){if(this.savedRange&&window.getSelection){var e=window.getSelection();e.removeAllRanges(),e.addRange(this.savedRange)}},He.prototype.wrapSelectionWithSpan=function(e,t){var r=window.getSelection();if(r&&0!==r.rangeCount&&!r.isCollapsed){var i=r.getRangeAt(0),a=document.createElement("span");Object.keys(e||{}).forEach(function(t){a.style[t]=e[t]}),Object.keys(t||{}).forEach(function(e){a.setAttribute(e,t[e])}),a.appendChild(i.extractContents()),i.insertNode(a),r.removeAllRanges();var n=document.createRange();n.selectNodeContents(a),r.addRange(n),this.savedRange=n.cloneRange()}},He.prototype.getSelectionEditable=function(){var e=window.getSelection();if(!e||!e.anchorNode||!this.root.contains(e.anchorNode))return null;var t=e.anchorNode.nodeType===Node.TEXT_NODE?e.anchorNode.parentElement:e.anchorNode;return t&&t.closest?t.closest(".rbe-editable, .rbe-table td, .rbe-table th"):null},He.prototype.shouldCreateNewBlock=function(e,t){return!!e.isContentEditable&&("paragraph"===t.dataset.type||"heading"===t.dataset.type||"quote"===t.dataset.type||"callout"===t.dataset.type)},He.prototype.isEmptyEditable=function(e){return!(!e||!e.isContentEditable)&&""===(e.textContent||"").trim()},He.prototype.shouldKeepEmptyEditableBlock=function(e,t){return!!(e&&t&&("quote"===e.dataset.type&&t.closest(".rbe-quote-text")||"callout"===e.dataset.type&&t.closest(".rbe-callout .rbe-editable")))},He.prototype.defaultBlockData=function(e){return"heading"===e?{text:"",level:2}:"quote"===e?{text:"",caption:""}:"list"===e?{style:"unordered",items:[""]}:"checklist"===e?{items:[{text:"",checked:!1}]}:"code"===e?{code:"",language:"plaintext",headerColor:"#e5e7eb",backgroundColor:"#d7dee8"}:"image"===e?{url:"",caption:""}:"table"===e?{rows:[["",""],["",""]],withHeadings:!1}:"embed"===e?{source:"",embed:"",caption:""}:"callout"===e?{text:"",tone:"info"}:"delimiter"===e?{style:"line"}:"button"===e?{text:"Button",url:"",background:"#2563eb",color:"#ffffff",alignment:"left"}:"toggle"===e?{title:"",blocks:[{type:"paragraph",data:{text:""}}],open:!0}:"linkPreview"===e?{url:"",title:"",description:""}:"raw"===e?{html:""}:"attaches"===e?{name:"",url:"",size:0}:a[e]&&"function"==typeof a[e].defaultData?a[e].defaultData.call(this,Ne()):a[e]&&a[e].defaultData?Object.assign({},a[e].defaultData):{text:""}},He.prototype.dataFromBlockForType=function(e,t){var r="",i=e.querySelector(".rbe-editable");return i&&(r=i.innerHTML),"heading"===t?{text:r,level:2}:"quote"===t?{text:r,caption:""}:"list"===t?{style:"unordered",items:[r||""]}:"checklist"===t?{items:[{text:r||"",checked:!1}]}:"code"===t?{code:(i?i.textContent:e.textContent||"").trim(),language:"plaintext",headerColor:"#e5e7eb",backgroundColor:"#d7dee8"}:"callout"===t?{text:r,tone:"info"}:"button"===t?{text:r||"Button",url:"",background:"#2563eb",color:"#ffffff",alignment:"left"}:"toggle"===t?{title:r||"",blocks:[{type:"paragraph",data:{text:""}}],open:!0}:"linkPreview"===t?{url:"",title:r||"",description:""}:a[t]&&"function"==typeof a[t].fromBlock?a[t].fromBlock.call(this,e,r,Ne()):Object.assign(this.defaultBlockData(t),{text:r})},He.prototype.insertBlock=function(e,t,i,a){if(!(this.silent||this.renderingData||this.readOnly||this.canUseTool(e)))return this.showPremiumLocked(this.getPremiumFeatureForTool(e)),null;this.availableTools.indexOf(e)<0&&r.indexOf(e)>=0&&this.availableTools.push(e);var n=this.createBlock(e,t||this.defaultBlockData(e),a),o=Array.prototype.slice.call(this.canvas.children);return"number"!=typeof i||i<0||i>=o.length?this.canvas.appendChild(n):this.canvas.insertBefore(n,o[i]),this.scheduleSelectEnhance(),n},He.prototype.transformBlock=function(e,t,r){if(!this.silent&&!this.readOnly&&!this.canUseTool(t))return this.showPremiumLocked(this.getPremiumFeatureForTool(t)),e;e.dataset.id,e.dataset.type=t;var i=e.querySelector(".rbe-block-body");return this.renderBlockBody(i,t,r||this.defaultBlockData(t)),this.scheduleSelectEnhance(),e},He.prototype.refreshButtonPreview=function(e){if(e){var t=e.querySelector(".rbe-button-text"),r=e.querySelector(".rbe-button-url"),i=(e.querySelector(".rbe-button-bg")||{}).value||"#2563eb",a=(e.querySelector(".rbe-button-color")||{}).value||"#ffffff",n=me((e.querySelector(".rbe-button-align")||{}).value||"left"),o=e.querySelector(".rbe-button-block"),l=e.querySelector(".rbe-button-preview"),s=e.querySelector(".rbe-button-link");o&&(o.dataset.align=n),l&&(l.style.textAlign=n),s&&(s.className="rbe-button-link",s.style.backgroundColor=i,s.style.color=a,s.textContent=t&&t.value||"Button",s.href=q(r&&r.value||"")?r.value:"#")}},He.prototype.refreshLinkPreview=function(e){if(e){var t=(e.querySelector(".rbe-link-preview-url")||{}).value||"",r=(e.querySelector(".rbe-link-preview-title")||{}).value||"",i=(e.querySelector(".rbe-link-preview-description")||{}).value||"",a=e.querySelector(".rbe-link-preview-card"),n=e.querySelector(".rbe-link-preview-card-title"),o=e.querySelector(".rbe-link-preview-card-description");a&&a.setAttribute("href",q(t)?t:"#"),n&&(n.textContent=r||t||"Link preview"),o&&(o.textContent=i||"Add a URL, title, and description for this link.")}},He.prototype.indexOfBlock=function(e){return Array.prototype.slice.call(this.canvas.children).indexOf(e)},He.prototype.focusBlock=function(e){if(e){var t=e.querySelector("[contenteditable='true'], textarea, input:not([type='hidden'])");t&&setTimeout(function(){ce(t)},0)}},He.prototype.getCurrentBlock=function(){var e=window.getSelection();return e&&e.anchorNode&&this.root.contains(e.anchorNode)?z(e.anchorNode):this.root.contains(document.activeElement)?z(document.activeElement):this.canvas.lastElementChild},He.prototype.getDragAfterElement=function(e){return Array.prototype.slice.call(this.canvas.children).filter(function(e){return e.classList&&e.classList.contains("rbe-block")&&!e.classList.contains("rbe-is-dragging")}).reduce(function(t,r){var i=r.getBoundingClientRect(),a=e-i.top-i.height/2;return a<0&&a>t.offset?{offset:a,element:r}:t},{offset:Number.NEGATIVE_INFINITY,element:null}).element},He.prototype.switchListStyle=function(e,t){var r=e.querySelector(".rbe-list-wrap");r&&(r.dataset.style=t),Array.prototype.slice.call(e.querySelectorAll(".rbe-list-item")).forEach(function(e){e.dataset.style=""}),this.updateListMarkers(r)},He.prototype.copyCode=function(e){if(e&&navigator.clipboard){var t=e.querySelector(".rbe-code-input");navigator.clipboard.writeText(t?t.value:"")}},He.prototype.copyRaw=function(e){if(e&&navigator.clipboard){var t=e.querySelector(".rbe-raw-input");navigator.clipboard.writeText(t?t.value:"")}},He.prototype.formatCodeBlock=function(e){if(e&&"code"===e.dataset.type){var t=e.querySelector(".rbe-code-input"),r=(e.querySelector(".rbe-code-language")||{}).value||"plaintext";t&&(t.value=ke(t.value,r),this.refreshCodeBlock(e),this.changed(!0))}},He.prototype.formatRawBlock=function(e){if(e&&"raw"===e.dataset.type){var t=e.querySelector(".rbe-raw-input");t&&(t.value=ke(t.value,"html"),A(e.querySelector(".rbe-raw-preview"),t.value),this.changed(!0))}},He.prototype.refreshCodeBlock=function(e){e&&Te(e.querySelector(".rbe-code-wrap"),{headerColor:Se((e.querySelector(".rbe-code-header-color")||{}).value,"#e5e7eb"),backgroundColor:Se((e.querySelector(".rbe-code-bg-color")||{}).value,"#d7dee8")})},He.prototype.applyImageStageState=function(e){if(e){var t=e.querySelector(".rbe-image-preview");t&&t.naturalWidth&&(e.dataset.naturalWidth=String(t.naturalWidth),e.dataset.naturalHeight=String(t.naturalHeight||""));var r=Number(e.dataset.displayWidth||0),i=Number(e.dataset.minWidth||0),a=Number(e.dataset.naturalWidth||0);r>0&&i>0&&r<i&&(r=i,e.dataset.displayWidth=String(Math.round(r))),r>0&&a>0&&r>Math.max(i||0,a)&&(r=Math.max(i||0,a),e.dataset.displayWidth=String(Math.round(r)));var n="custom"===e.dataset.crop,o=ne(e.dataset),l=oe(e.dataset.cropX),s=oe(e.dataset.cropY),d=le(e.dataset.cropZoom);if(r>0?e.style.width=Math.round(r)+"px":e.style.removeProperty("width"),e.style.maxWidth=a>0?"min(100%, "+Math.round(a)+"px)":"100%",e.classList.toggle("is-custom-crop",n),n){if(!o){var c=e.getBoundingClientRect();o=c.width&&c.height?c.width/c.height:1,e.dataset.cropRatio=o.toFixed(3)}e.style.aspectRatio=o.toFixed(3)+" / 1"}else e.style.removeProperty("aspect-ratio");t&&(n?(t.style.height="100%",t.style.maxHeight="none",t.style.objectFit="cover",t.style.objectPosition=l+"% "+s+"%",t.style.transformOrigin=l+"% "+s+"%",t.style.setProperty("--rbe-image-zoom",d)):(t.style.removeProperty("height"),t.style.removeProperty("max-height"),t.style.removeProperty("object-fit"),t.style.removeProperty("object-position"),t.style.removeProperty("transform-origin"),t.style.removeProperty("--rbe-image-zoom")),t.style.transform="rotate("+(Number(e.dataset.rotation||0)||0)+"deg) scale(var(--rbe-image-zoom, 1))")}},He.prototype.setImageCropMode=function(e,t){if(e&&!this.readOnly){if(t&&"custom"!==e.dataset.crop){var r=e.getBoundingClientRect();e.dataset.crop="custom",e.dataset.cropRatio=(r.width&&r.height?r.width/r.height:1).toFixed(3),e.dataset.cropX=e.dataset.cropX||"50",e.dataset.cropY=e.dataset.cropY||"50",e.dataset.cropZoom=e.dataset.cropZoom||"1"}e.classList.toggle("is-image-crop-mode",!!t);var i=e.querySelector(".rbe-image-crop-toggle");i&&(i.classList.toggle("is-active",!!t),i.setAttribute("aria-pressed",t?"true":"false"),i.title=t?"Finish crop":"Crop image",i.setAttribute("aria-label",t?"Finish crop":"Crop image")),this.applyImageStageState(e)}},He.prototype.bindImageStageMouseControls=function(e){if(e&&!this.readOnly&&"true"!==e.dataset.imageMouseReady){e.dataset.imageMouseReady="true";var t=this;Array.prototype.slice.call(e.querySelectorAll(".rbe-image-resize-handle")).forEach(function(r){r.addEventListener("pointerdown",function(i){i.preventDefault(),i.stopPropagation();var a=e.closest(".rbe-image-gallery")||e.parentElement||e,n=e.getBoundingClientRect(),o=a.getBoundingClientRect(),l=Number(e.dataset.minWidth||0);l||(l=80,e.dataset.minWidth=String(l));var s=Number(e.dataset.naturalWidth||0),d=Math.round(Math.max.apply(Math,[o.width||0,a.parentElement&&a.parentElement.getBoundingClientRect().width||0,e.closest(".rbe-block-body")&&e.closest(".rbe-block-body").getBoundingClientRect().width||0,e.closest(".rbe-block")&&e.closest(".rbe-block").getBoundingClientRect().width||0,e.closest(".rbe-canvas")&&e.closest(".rbe-canvas").getBoundingClientRect().width||0,t.root&&t.root.getBoundingClientRect().width||0,n.width])),c=Math.max(l,s?Math.min(s,d):d),u=i.clientX,p=r.dataset.resizeHandle||"se";function m(r){var i=r.clientX-u;p.indexOf("w")>=0&&(i=-i);var o=ae(n.width+i,l,c,n.width);e.dataset.displayWidth=String(Math.round(o)),t.applyImageStageState(e),t.updateMediaActionAvailability(a)}document.addEventListener("pointermove",m),document.addEventListener("pointerup",function e(){document.removeEventListener("pointermove",m),document.removeEventListener("pointerup",e),t.changed(!0)})})}),Array.prototype.slice.call(e.querySelectorAll(".rbe-image-crop-handle")).forEach(function(r){r.addEventListener("pointerdown",function(i){i.preventDefault(),i.stopPropagation(),t.setImageCropMode(e,!0);var a=e.closest(".rbe-image-gallery")||e.parentElement||e,n=e.getBoundingClientRect(),o=a.getBoundingClientRect(),l=Number(e.dataset.minWidth||0);l||(l=Math.max(80,Math.round(n.width)),e.dataset.minWidth=String(l));var s=Number(e.dataset.naturalWidth||0),d=Math.round(o.width||n.width),c=Math.max(l,s?Math.min(s,d):d),u=i.clientX,p=i.clientY,m=n.width,b=n.height||n.width,h=r.dataset.cropHandle||"se";function g(r){var i=m,n=b;h.indexOf("e")>=0&&(i=ae(m+r.clientX-u,l,c,m),e.dataset.displayWidth=String(Math.round(i))),h.indexOf("s")>=0&&(n=ae(b+r.clientY-p,70,900,b)),e.dataset.crop="custom",e.dataset.cropRatio=ae(i/n,.35,3.5,1).toFixed(3),t.applyImageStageState(e),t.updateMediaActionAvailability(a)}document.addEventListener("pointermove",g),document.addEventListener("pointerup",function e(){document.removeEventListener("pointermove",g),document.removeEventListener("pointerup",e),t.changed(!0)})})}),e.addEventListener("pointerdown",function(r){if(e.classList.contains("is-image-crop-mode")&&!r.target.closest("button, .rbe-image-resize-handle, .rbe-image-crop-handle")){r.preventDefault();var i=e.getBoundingClientRect(),a=r.clientX,n=r.clientY,o=oe(e.dataset.cropX),l=oe(e.dataset.cropY);document.addEventListener("pointermove",s),document.addEventListener("pointerup",function e(){document.removeEventListener("pointermove",s),document.removeEventListener("pointerup",e),t.changed(!0)})}function s(r){var s=(r.clientX-a)/Math.max(1,i.width)*100,d=(r.clientY-n)/Math.max(1,i.height)*100;e.dataset.cropX=String(Math.round(oe(o-s))),e.dataset.cropY=String(Math.round(oe(l-d))),t.applyImageStageState(e)}}),e.addEventListener("wheel",function(r){if(e.classList.contains("is-image-crop-mode")){r.preventDefault();var i=le(e.dataset.cropZoom);i=le(i+(r.deltaY<0?.08:-.08)),e.dataset.cropZoom=i.toFixed(2),t.applyImageStageState(e),t.changed(!0)}},{passive:!1})}},He.prototype.applyImageUrl=function(e){var t=e&&e.querySelector(".rbe-image-url");if(t&&q(t.value)){var r=this.serializeBlock(e).data;r.url=t.value.trim(),this.transformBlock(e,"image",r),this.changed()}},He.prototype.applyImageFile=function(e,t){return this.applyImageFiles(e,t?[t]:[])},He.prototype.applyImageFiles=function(e,t){if(e&&t&&t.length){var r=t.filter(Z);if(r.length){var i=this;Promise.all(r.map(function(e){return i.uploadFile(e,"image").then(function(t){return{url:t.url,base64:t.base64||"",upload:D(t.upload||null),alt:t.alt||e.name,caption:t.caption||e.name}})})).then(function(t){var r={items:t=ie(i.serializeBlock(e).data).concat(t),url:t[0]?t[0].url:"",alt:t[0]?t[0].alt:"",caption:t[0]?t[0].caption:""};i.transformBlock(e,"image",r),i.changed()}).catch(function(){alert("Image upload failed.")})}else alert("The Image block only accepts image files.")}},He.prototype.applyAttachmentFile=function(e,t){return this.applyAttachmentFiles(e,t?[t]:[])},He.prototype.applyAttachmentFiles=function(e,t){if(e&&t&&t.length){var r=t.filter(G);if(r.length&&r.length===t.length){var i=this;Promise.all(r.map(function(e){return i.uploadFile(e,"file").then(function(t){return{name:t.name||e.name,url:t.url,base64:t.base64||"",upload:D(t.upload||null),size:t.size||e.size,type:t.type||e.type}})})).then(function(t){t=de(i.serializeBlock(e).data).concat(t),i.transformBlock(e,"attaches",{items:t,name:t[0]?t[0].name:"",url:t[0]?t[0].url:"",size:t[0]?t[0].size:0,type:t[0]?t[0].type:""}),i.changed()}).catch(function(){alert("File upload failed.")})}else alert("Attachments only allow videos and documents such as PDF, Word, Excel, PowerPoint, CSV, TXT, and RTF. Please use the Image block for images.")}},He.prototype.removeMediaItem=function(e){if(!this.readOnly){var t=z(e);if(t){var r=e.closest(".rbe-image-stage"),i=e.closest(".rbe-attachment-card");if(r||i){if(r){var a=r.closest(".rbe-image-gallery");return r.remove(),t.querySelector(".rbe-image-stage")?(this.closeMediaMenus(),this.updateMediaActionAvailability(a||t)):this.transformBlock(t,"image",{}),void this.changed(!0)}var n=i.closest(".rbe-attachment-grid");i.remove(),t.querySelector(".rbe-attachment-card")?(this.closeMediaMenus(),this.updateMediaActionAvailability(n||t)):this.transformBlock(t,"attaches",{}),this.changed(!0)}}}},He.prototype.alignMediaItem=function(e,t){if(!this.readOnly){var r=e.closest(".rbe-image-stage, .rbe-attachment-card");r&&(t=me(t),r.dataset.alignment=t,r.classList.remove("rbe-media-align-left","rbe-media-align-center","rbe-media-align-right"),r.classList.add("rbe-media-align-"+t),this.updateMediaActionAvailability(r.closest(".rbe-image-gallery, .rbe-attachment-grid")||r.parentElement||this.root),this.changed(!0))}},He.prototype.updateMediaActionAvailability=function(e){(e=e||this.root)&&e.querySelectorAll&&[".rbe-image-gallery",".rbe-attachment-grid"].forEach(function(t){var r=e.matches&&e.matches(t)?[e]:[];(r=r.concat(Array.prototype.slice.call(e.querySelectorAll(t)))).forEach(function(e){var t=Array.prototype.slice.call(e.querySelectorAll(".rbe-image-stage, .rbe-attachment-card"));if(t.forEach(function(e){e.classList.remove("rbe-media-row-has-space","rbe-media-row-full")}),t.length){var r=window.getComputedStyle(e),i=parseFloat(r.columnGap||r.gap||"10")||10,a=(r.gridTemplateColumns||"").split(" ").filter(function(e){return!!e&&"none"!==e}),n=t[0],o=n&&(n.getBoundingClientRect().width||n.offsetWidth)||1,l=Math.max(1,a.length||Math.floor((e.clientWidth+i)/(o+i))),s={};t.forEach(function(e){var t=Math.round(e.offsetTop||0);s[t]=s[t]||[],s[t].push(e)}),Object.keys(s).forEach(function(e){var t=s[e].length<l;s[e].forEach(function(e){e.classList.toggle("rbe-media-row-has-space",t),e.classList.toggle("rbe-media-row-full",!t)})})}})})},He.prototype.uploadFile=function(e,t){var r=this.options.upload||{},i="image"===t&&"function"==typeof r.image?r.image:"image"!==t&&"function"==typeof r.file?r.file:null,a=function(e){var t=Array.isArray(e)?e:e?[e]:["base64"];return(t=t.map(function(e){return String(e||"").toLowerCase().trim()}).filter(function(e){return"base64"===e||"upload"===e})).length?Array.from(new Set(t)):["base64"]}(this.options.uploadOutput||this.options["upload output"]||r.output||r.uploadOutput||r["upload output"]),n=a.indexOf("upload")>=0,o=a.indexOf("base64")>=0||!i&&!n?function(e){return new Promise(function(t,r){var i=new FileReader;i.onload=function(){t(i.result)},i.onerror=r,i.readAsDataURL(e)})}(e):Promise.resolve(""),l=n&&i?Promise.resolve(i(e)):Promise.resolve(null);return Promise.all([o,l]).then(function(t){var r=t[0],i=t[1]||null,a=Object.assign({},i||{});return r&&(a.base64=r),i&&n&&(a.upload=D(i)),a.url||(a.url=r||i&&i.url||""),a.name||(a.name=e.name),a.size||(a.size=e.size),a.type||(a.type=e.type),a})},He.prototype.applyEmbed=function(e){var t=e&&e.querySelector(".rbe-embed-url");if(t&&t.value.trim()){var r=N(t.value.trim()),i=e.querySelector(".rbe-embed-caption");r.caption=i?i.value:"",this.transformBlock(e,"embed",r),this.changed()}},He.prototype.applyListNestAction=function(e,t){if(e&&"list"===e.dataset.type&&e.querySelector(".rbe-list")){var r=this.getActiveListItem(e);if(r){if("toggle-list-style"===t){var i=r.dataset.style||(e.querySelector(".rbe-list-wrap")||{}).dataset.style||"unordered";return r.dataset.style="ordered"===i?"unordered":"ordered",this.updateListMarkers(e.querySelector(".rbe-list-wrap")),ce(r.querySelector(".rbe-list-text")),void this.changed(!0)}if("indent-list"===t||"outdent-list"===t){var a=Number(r.dataset.level||0);if("indent-list"===t){if(!r.previousElementSibling)return;r.dataset.level=Math.min(4,a+1)}else r.dataset.level=Math.max(0,a-1);this.updateListMarkers(e.querySelector(".rbe-list-wrap")),ce(r.querySelector(".rbe-list-text")),this.changed(!0)}}}},He.prototype.getActiveListItem=function(e){var t=e&&e.querySelector(".rbe-list");if(!t)return null;var r=window.getSelection(),i=r&&r.anchorNode?r.anchorNode:document.activeElement,a=i&&i.nodeType===Node.TEXT_NODE?i.parentElement:i,n=a&&a.closest?a.closest(".rbe-list-item"):null;return n&&t.contains(n)||(n=t.querySelector(".rbe-list-item")),n},He.prototype.addListItem=function(e){if(e&&"list"===e.dataset.type){var t=e.querySelector(".rbe-list");if(t){var r=this.getActiveListItem(e),i=this.createListItem({text:"",level:r?Number(r.dataset.level||0):0,style:r&&r.dataset.style||""});r&&r.parentNode===t?r.insertAdjacentElement("afterend",i):t.appendChild(i),this.updateListMarkers(e.querySelector(".rbe-list-wrap")),ce(i.querySelector(".rbe-list-text")),this.changed(!0)}}},He.prototype.removeListItem=function(e,t){if(e&&"list"===e.dataset.type&&t){var r=e.querySelector(".rbe-list");if(r&&r.contains(t)){var i=t.previousElementSibling||t.nextElementSibling;if(r.querySelectorAll(".rbe-list-item").length>1)t.remove(),i&&ce(i.querySelector(".rbe-list-text"));else{var a=t.querySelector(".rbe-list-text");a&&(a.innerHTML=""),t.dataset.level="0",ce(a)}this.updateListMarkers(e.querySelector(".rbe-list-wrap")),this.changed(!0)}}},He.prototype.updateListMarkers=function(e){if(e){var t="ordered"===e.dataset.style,r=[0,0,0,0,0];Array.prototype.slice.call(e.querySelectorAll(".rbe-list-item")).forEach(function(e){var i=Math.min(4,Math.max(0,Number(e.dataset.level||0))),a="ordered"===(e.dataset.style||(t?"ordered":"unordered"));e.dataset.level=String(i),a&&(r[i]+=1);for(var n=i+1;n<r.length;n+=1)r[n]=0;var o=e.querySelector(".rbe-list-marker");o&&(o.textContent=a?r.slice(0,i+1).filter(function(e){return e>0}).join(".")+".":"\u2022")})}},He.prototype.updateChecklistItemIcon=function(e){if(e){var t=e.querySelector(".rbe-check-toggle");if(t){var r=qe({level:e.dataset.level}),i="true"===e.dataset.checked;"true"!==e.dataset.checked&&"false"!==e.dataset.checked&&(i="true"===t.dataset.checked),e.dataset.level=String(r),e.dataset.checked=i?"true":"false",t.dataset.checked=i?"true":"false",t.setAttribute("aria-pressed",i?"true":"false"),t.setAttribute("aria-label",i?"Mark item incomplete":"Mark item complete"),t.title=i?"Mark incomplete":"Mark complete",t.classList.toggle("is-checked",i),t.classList.toggle("is-nested",r>0);var a=r>0?i?"circle-check":"circle":i?"square-check":"square";t.innerHTML=T(a,i?"Checked":"Unchecked")}}},He.prototype.updateChecklistIcons=function(e){e&&Array.prototype.slice.call(e.querySelectorAll(".rbe-check-item")).forEach(function(e){this.updateChecklistItemIcon(e)}.bind(this))},He.prototype.getActiveChecklistItem=function(e){var t=e&&e.querySelector(".rbe-checklist");if(!t)return null;var r=window.getSelection(),i=r&&r.anchorNode?r.anchorNode:document.activeElement,a=i&&i.nodeType===Node.TEXT_NODE?i.parentElement:i,n=a&&a.closest?a.closest(".rbe-check-item"):null;return n&&t.contains(n)||(n=t.querySelector(".rbe-check-item")),n},He.prototype.applyChecklistNestAction=function(e,t){if(e&&"checklist"===e.dataset.type){var r=this.getActiveChecklistItem(e);if(r&&("indent-checklist"===t||"outdent-checklist"===t)){var i=Number(r.dataset.level||0);if("indent-checklist"===t){if(!r.previousElementSibling)return;r.dataset.level=Math.min(4,i+1)}else r.dataset.level=Math.max(0,i-1);this.updateChecklistItemIcon(r),ce(r.querySelector(".rbe-check-text")),this.changed(!0)}}},He.prototype.addChecklistItem=function(e){if(e&&"checklist"===e.dataset.type){var t=e.querySelector(".rbe-checklist");if(t){var r=this.getActiveChecklistItem(e),i=this.createChecklistItem({text:"",checked:!1,level:r?Number(r.dataset.level||0):0});r&&r.parentNode===t?r.insertAdjacentElement("afterend",i):t.insertBefore(i,t.querySelector(".rbe-checklist-add")),ce(i.querySelector(".rbe-check-text")),this.changed(!0)}}},He.prototype.removeChecklistItem=function(e,t){if(e&&"checklist"===e.dataset.type&&t){var r=e.querySelector(".rbe-checklist");if(r&&r.contains(t)){var i=t.previousElementSibling||t.nextElementSibling;if(r.querySelectorAll(".rbe-check-item").length>1)t.remove(),i&&i.classList.contains("rbe-check-item")&&ce(i.querySelector(".rbe-check-text"));else{var a=t.querySelector(".rbe-check-text");a&&(a.innerHTML=""),t.dataset.level="0",t.dataset.checked="false",this.updateChecklistItemIcon(t),ce(a)}this.changed(!0)}}},He.prototype.toggleChecklistItem=function(e,t){e&&"checklist"===e.dataset.type&&t&&!this.readOnly&&(t.dataset.checked="true"===t.dataset.checked?"false":"true",this.updateChecklistItemIcon(t),this.changed(!0))},He.prototype.applyTableAction=function(e,t){if(e){var r=e.querySelector(".rbe-table");if(r){var i=Array.prototype.slice.call(r.rows);if(i.length){var a=document.activeElement&&document.activeElement.closest("td, th"),n=a&&a.parentElement?a.parentElement.rowIndex:i.length-1,o=a?a.cellIndex:i[0].cells.length-1;if(0===t.indexOf("cell-align-")){var l=me(t.replace("cell-align-","")),s=a&&r.contains(a)?a:i[0].cells[0];return s&&(s.style.textAlign=l),void this.changed(!0)}if("add-row"===t)for(var d=r.insertRow(n+1),c=0;c<i[0].cells.length;c+=1)d.insertCell(c).contentEditable=!this.readOnly;"add-col"===t&&i.forEach(function(e){e.insertCell(o+1).contentEditable=!this.readOnly}.bind(this)),"remove-row"===t&&i.length>1&&r.deleteRow(Math.max(0,n)),"remove-col"===t&&i[0].cells.length>1&&i.forEach(function(e){e.deleteCell(Math.max(0,o))}),this.refreshTableHeading(e),this.updateTableLayout(e),this.changed(!0)}}}},He.prototype.updateTableLayout=function(e){var t=e&&e.querySelector(".rbe-table-wrap"),r=e&&e.querySelector(".rbe-table");if(t&&r){var i=e.querySelector(".rbe-table-width"),a=e.querySelector(".rbe-table-width-value"),n=e.querySelector(".rbe-table-align"),o=e.querySelector(".rbe-table-border-style"),l=e.querySelector(".rbe-table-border-width"),s=e.querySelector(".rbe-table-border-width-value"),d=Math.min(100,Math.max(40,Number(i&&i.value?i.value:100))),c=!n||"center"!==n.value&&"right"!==n.value?"left":n.value,u=be(o&&o.value),p=he(l&&l.value);t.dataset.align=c,r.style.width=d+"%",r.style.setProperty("--rbe-table-border-style",u),r.style.setProperty("--rbe-table-border-width",p+"px"),a&&(a.textContent=d+"%"),s&&(s.textContent=p+"px")}},He.prototype.refreshTableHeading=function(e){var t=e&&e.querySelector(".rbe-table"),r=e&&e.querySelector("[data-role='table-heading']");t&&r&&Array.prototype.slice.call(t.rows).forEach(function(e,t){Array.prototype.slice.call(e.cells).forEach(function(e){var i=r.checked&&0===t?"th":"td";if(e.tagName.toLowerCase()!==i){var a=S(i,"",{contentEditable:!this.readOnly,html:O(e.innerHTML)});a.style.textAlign=e.style&&e.style.textAlign||"left",e.replaceWith(a)}}.bind(this))}.bind(this))},He.prototype.serializeBlock=function(e){var t=e.dataset.type||"paragraph",r={};if("paragraph"===t){var i=e.querySelector(".rbe-paragraph");r.text=O((i||{}).innerHTML||""),r.alignment=me(i&&i.style?i.style.textAlign:"left")}else if("heading"===t){var n=e.querySelector(".rbe-heading");r.text=O(n?n.innerHTML:""),r.level=Number(n&&n.dataset.level||(e.querySelector(".rbe-heading-level")||{}).value||2),r.alignment=me(n&&n.style?n.style.textAlign:"left")}else if("quote"===t){var o=e.querySelector(".rbe-quote-text");r.text=O((o||{}).innerHTML||""),r.caption=(e.querySelector(".rbe-quote-caption")||{}).value||"",r.alignment=me(o&&o.style?o.style.textAlign:"left")}else if("list"===t){var l=e.querySelector(".rbe-list");r.style=(e.querySelector(".rbe-list-style")||{}).value||"unordered",r.alignment=me(l&&l.style?l.style.textAlign:"left"),r.items=l?Array.prototype.slice.call(l.querySelectorAll(".rbe-list-item")).map(function(e){return{text:O((e.querySelector(".rbe-list-text")||{}).innerHTML||""),level:qe({level:e.dataset.level}),alignment:me((e.querySelector(".rbe-list-text")||{}).style?e.querySelector(".rbe-list-text").style.textAlign:r.alignment),style:e.dataset.style||""}}).filter(function(e){return!Be(e)}):[],r.items.length||(r.items=[{text:"",level:0}])}else if("checklist"===t)r.items=Array.prototype.slice.call(e.querySelectorAll(".rbe-check-item")).map(function(e){var t=e.querySelector(".rbe-check-toggle"),r="true"===e.dataset.checked;return"true"!==e.dataset.checked&&"false"!==e.dataset.checked&&(r=!(!t||"true"!==t.dataset.checked)),{text:O((e.querySelector(".rbe-check-text")||{}).innerHTML||""),checked:r,level:qe({level:e.dataset.level})}}).filter(function(e){return!Be(e)}),r.items.length||(r.items=[{text:"",checked:!1,level:0}]);else if("code"===t)r.code=(e.querySelector(".rbe-code-input")||{}).value||"",r.language=ve((e.querySelector(".rbe-code-language")||{}).value),r.headerColor=Se((e.querySelector(".rbe-code-header-color")||{}).value,"#e5e7eb"),r.backgroundColor=Se((e.querySelector(".rbe-code-bg-color")||{}).value,"#d7dee8");else if("image"===t)r.items=Array.prototype.slice.call(e.querySelectorAll(".rbe-image-stage")).map(function(e){var t=e.querySelector(".rbe-image-preview"),r=e.__rbeMediaItem||{},i={url:e.dataset.url||(t?t.src:""),alt:e.dataset.alt||(t?t.alt:""),caption:e.dataset.caption||"",alignment:me(e.dataset.alignment),displayWidth:Number(e.dataset.displayWidth||0),minWidth:Number(e.dataset.minWidth||0),naturalWidth:Number(e.dataset.naturalWidth||0),naturalHeight:Number(e.dataset.naturalHeight||0),rotation:Number(e.dataset.rotation||0),crop:"custom"===e.dataset.crop?"custom":"free",cropRatio:Number(e.dataset.cropRatio||0),cropX:oe(e.dataset.cropX),cropY:oe(e.dataset.cropY),cropZoom:le(e.dataset.cropZoom)};return r.base64&&(i.base64=r.base64),r.upload&&(i.upload=D(r.upload)),i}).filter(function(e){return!!e.url}),r.url=r.items[0]?r.items[0].url:"",r.alt=r.items[0]?r.items[0].alt:"",r.caption=r.items[0]?r.items[0].caption:"";else if("table"===t)r.withHeadings=!!(e.querySelector("[data-role='table-heading']")||{}).checked,r.align=(e.querySelector(".rbe-table-align")||{}).value||"left",r.width=Number((e.querySelector(".rbe-table-width")||{}).value||100),r.borderStyle=be((e.querySelector(".rbe-table-border-style")||{}).value),r.borderWidth=he((e.querySelector(".rbe-table-border-width")||{}).value),r.rows=Array.prototype.slice.call(e.querySelectorAll(".rbe-table tr")).map(function(e){return Array.prototype.slice.call(e.cells).map(function(e){return{text:O(e.innerHTML),alignment:me(e.style?e.style.textAlign:"left")}})});else if("embed"===t){r.source=(e.querySelector(".rbe-embed-url")||{}).value||"";var s=e.querySelector(".rbe-embed-frame");r.embed=s?s.src:"",r.service=N(r.source).service,r.caption=(e.querySelector(".rbe-embed-caption")||{}).value||""}else if("callout"===t){var d=e.querySelector(".rbe-callout-text");r.text=O((d||{}).innerHTML||""),r.tone=(e.querySelector(".rbe-callout-tone")||{}).value||(e.querySelector(".rbe-callout")||{}).dataset.tone||"info",r.alignment=me(d&&d.style?d.style.textAlign:"left")}else if("delimiter"===t)r.style=(e.querySelector(".rbe-delimiter-style")||{}).value||(e.querySelector(".rbe-delimiter-wrap")||{}).dataset.style||"line";else if("button"===t)r.text=(e.querySelector(".rbe-button-text")||{}).value||"",r.url=(e.querySelector(".rbe-button-url")||{}).value||"",r.background=(e.querySelector(".rbe-button-bg")||{}).value||"#2563eb",r.color=(e.querySelector(".rbe-button-color")||{}).value||"#ffffff",r.alignment=me((e.querySelector(".rbe-button-align")||{}).value||"left");else if("toggle"===t){r.title=(e.querySelector(".rbe-toggle-title")||{}).value||"";var c=e.querySelector(".rbe-toggle-nested-canvas");r.blocks=c?Array.prototype.slice.call(c.children).map(this.serializeBlock.bind(this)):[],r.text=r.blocks.map(function(e){return e.data&&e.data.text?e.data.text:""}).join(""),r.open=!!(e.querySelector(".rbe-toggle")||{}).open}else if("linkPreview"===t)r.url=(e.querySelector(".rbe-link-preview-url")||{}).value||"",r.title=(e.querySelector(".rbe-link-preview-title")||{}).value||"",r.description=(e.querySelector(".rbe-link-preview-description")||{}).value||"";else if("raw"===t){var u=e.querySelector(".rbe-raw-wrap");r.html=(e.querySelector(".rbe-raw-input")||{}).value||u&&u.__rbeRawHtml||""}else"attaches"===t?(r.items=Array.prototype.slice.call(e.querySelectorAll(".rbe-attachment-card")).map(function(e){var t=e.__rbeMediaItem||{},r={name:e.dataset.name||"Attachment",url:e.dataset.url||e.getAttribute("href")||"",type:e.dataset.type||"",size:Number(e.dataset.size||0),alignment:me(e.dataset.alignment)};return t.base64&&(r.base64=t.base64),t.upload&&(r.upload=D(t.upload)),r}).filter(function(e){return!!e.url}),r.name=r.items[0]?r.items[0].name:"",r.url=r.items[0]?r.items[0].url:"",r.type=r.items[0]?r.items[0].type:"",r.size=r.items[0]?r.items[0].size:0):a[t]&&"function"==typeof a[t].serialize&&(r=a[t].serialize.call(this,e,Ne())||{});return{id:e.dataset.id||k("block"),type:t,data:r}},He.prototype.getData=function(){var t={time:Date.now(),version:e,blocks:Array.prototype.slice.call(this.canvas.children).map(this.serializeBlock.bind(this))};return Object.keys(this.documentMeta||{}).forEach(function(e){t[e]=D(this.documentMeta[e])},this),t},He.prototype.save=function(){return Promise.resolve(this.getData())},He.prototype.render=function(e,t){var i=this.renderingData,a=this.silent;this.renderingData=!0,this.silent=!(!t||!t.silent);try{var n=Q(e);Object.keys(n).length&&(this.documentMeta=n),this.canvas.innerHTML="";var o=function(e){return e?Array.isArray(e)?e:"string"==typeof e?B(e):Array.isArray(e.blocks)?e.blocks:[]:[]}(e);o.length||(o=ue().blocks),o.forEach(function(e){var t=r.indexOf(e.type)>=0?e.type:"paragraph";this.insertBlock(t,e.data||{},this.canvas.children.length,e.id||k("block"))}.bind(this))}finally{this.renderingData=i,this.silent=a}this.scheduleSelectEnhance(),t&&t.silent||this.changed()},He.prototype.scheduleSelectEnhance=function(){!1!==this.options.select2&&"undefined"!=typeof window&&(clearTimeout(this.selectEnhanceTimer),this.selectEnhanceTimer=setTimeout(function(){this.enhanceSelects()}.bind(this),0))},He.prototype.enhanceSelects=function(){if(!1!==this.options.select2&&this.root){var e=this.root,t=this;!function(){if("undefined"!=typeof window&&"undefined"!=typeof document){L(m,"select2-css");var r=function(){var r;window.jQuery&&window.jQuery.fn&&window.jQuery.fn.select2&&(r=window.jQuery)&&r.fn&&r.fn.select2&&r(e).find("select").each(function(){var e=this;r(e).data("select2")||r(e).select2({width:"style",minimumResultsForSearch:1/0,dropdownParent:r(document.body)}).on("select2:opening select2:open",function(){e.closest(".rbe-inline-toolbar")&&t.keepInlineToolbarOpen()}).on("select2:select",function(){e.closest(".rbe-inline-toolbar")&&t.keepInlineToolbarOpen(),e.dispatchEvent(new Event("change",{bubbles:!0}))})})};if(window.jQuery&&window.jQuery.fn&&window.jQuery.fn.select2)r();else{var i=function(){M(b,"select2-js",r)};window.jQuery?i():M(p,"jquery-js",i)}}}()}},He.prototype.clear=function(){this.render(ue())},He.prototype.destroy=function(){document.removeEventListener("selectionchange",this.boundSelectionChange),document.removeEventListener("mousedown",this.boundDocumentMouseDown),this.holder.innerHTML=""},He.prototype.setReadOnly=function(e){this.readOnly=!!e,this.root.dataset.readonly=this.readOnly?"true":"false",Array.prototype.slice.call(this.canvas.children).forEach(function(e){this.makeBlockReadonly(e)}.bind(this)),this.updateToolbarButtons()},He.prototype.makeBlockReadonly=function(e){Array.prototype.slice.call(e.querySelectorAll("[contenteditable]")).forEach(function(e){e.contentEditable=!this.readOnly}.bind(this)),Array.prototype.slice.call(e.querySelectorAll("input, textarea, select, button")).forEach(function(e){e.classList.contains("rbe-code-copy")||(e.disabled=this.readOnly)}.bind(this))},He.prototype.changed=function(e){this.silent||((this.hasExplicitSave||this.savedExportData)&&(this.hasExplicitSave=!1,this.savedExportData=null,this.hideExportMenu(),this.updateToolbarButtons()),this.queueChange())},He.prototype.emitChange=function(){var e=this.getData();if(this.options.autosave&&this.options.autosave.key)try{localStorage.setItem(this.options.autosave.key,JSON.stringify(e))}catch(e){}"function"==typeof this.options.onChange&&this.options.onChange(e,this),this.setShellStatus("JSON synced "+new Date(e.time||Date.now()).toLocaleTimeString()),this.root.dispatchEvent(new CustomEvent("rbe:change",{detail:e}))},He.prototype.setupAutosave=function(){if(this.options.autosave&&this.options.autosave.key&&this.options.autosave.load)try{var e=localStorage.getItem(this.options.autosave.key);e?this.render(JSON.parse(e),{silent:!0}):this.render(this.options.data||ue(),{silent:!0})}catch(e){this.render(this.options.data||ue(),{silent:!0})}else this.render(this.options.data||ue(),{silent:!0})},He.prototype.updateToolbarButtons=function(){if(this.topToolbar){var e=this.topToolbar.querySelector("[data-rbe-clear='true']"),t=this.topToolbar.querySelector("[data-rbe-save='true']"),r=this.topToolbar.querySelector("[data-rbe-export-toggle='true']"),i=this.topToolbar.querySelector("[data-rbe-export-html='true']");e&&(e.disabled=this.readOnly),t&&(t.disabled=this.readOnly),r&&(r.disabled=this.readOnly||!this.hasExplicitSave||!this.savedExportData),i&&(i.disabled=this.readOnly||!this.hasExplicitSave||!this.savedExportData)}},He.prototype.hideExportMenu=function(){if(this.topToolbar){var e=this.topToolbar.querySelector(".rbe-export-menu");e&&(e.hidden=!0)}},He.prototype.toggleExportMenu=function(e){if(e&&!e.disabled){var t=e.closest(".rbe-export-menu-wrap"),r=t&&t.querySelector(".rbe-export-menu");r&&(r.hidden=!r.hidden)}},He.prototype.handleClearButton=function(e){this.readOnly||e&&e.disabled||this.clear()},He.prototype.handleSaveButton=function(e){if(!(this.readOnly||e&&e.disabled)){var t=this,r=null;e&&(e.disabled=!0),Promise.resolve(this.save()).then(function(e){return r=e,"function"==typeof t.options.onSave?t.options.onSave(e,t):e}).then(function(e){var i=null==e?r:e;return t.savedExportData=He.normalizePreviewData(i),t.hasExplicitSave=!0,t.root.dispatchEvent(new CustomEvent("rbe:save",{detail:t.savedExportData})),t.savedExportData}).catch(function(e){t.hasExplicitSave=!1,t.savedExportData=null,t.hideExportMenu(),t.root.dispatchEvent(new CustomEvent("rbe:save-error",{detail:e}))}).finally(function(){e&&(e.disabled=!1),t.updateToolbarButtons()})}},He.prototype.getExportFilename=function(e){var t=String(this.options.exportFilename||"blockwriteai-document").trim().replace(/[\\/:*?"<>|]+/g,"-").replace(/\s+/g,"-").replace(/^-+|-+$/g,"");return t||(t="blockwriteai-document"),t+"."+e},He.prototype.downloadBlob=function(e,t,r){var i=e instanceof Blob?e:new Blob([e],{type:r||"application/octet-stream"}),a=URL.createObjectURL(i),n=S("a","",{href:a,download:t});document.body.appendChild(n),n.click(),n.remove(),setTimeout(function(){URL.revokeObjectURL(a)},1e3)},He.prototype.collectExportStyles=function(){return Array.prototype.slice.call(document.querySelectorAll('link[rel="stylesheet"], style')).map(function(e){return e.tagName&&"link"===e.tagName.toLowerCase()?'<link rel="stylesheet" href="'+C(e.href)+'">':e.outerHTML||""}).join("\n")},He.prototype.getExportLogoUrl=function(){var e=pe("blockwriteai-logo.svg");if(e)return e;var t=document.querySelector(".brand-logo[src]");return t?t.src:""},He.prototype.getInlineExportLogoDataUrl=function(){var e=['<svg width="270" height="58" viewBox="0 0 270 58" fill="none" xmlns="http://www.w3.org/2000/svg">','<defs><linearGradient id="bwai-icon" x1="8" y1="8" x2="50" y2="50" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#102033"/><stop offset="1" stop-color="#172A46"/></linearGradient><linearGradient id="bwai-accent" x1="16" y1="17" x2="43" y2="42" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#2BEA8A"/><stop offset="1" stop-color="#10B981"/></linearGradient></defs>','<rect x="2" y="7" width="44" height="44" rx="13" fill="url(#bwai-icon)"/>','<rect x="13" y="17" width="9" height="9" rx="2.2" fill="#FFFFFF"/>','<rect x="25" y="17" width="9" height="9" rx="2.2" fill="#FFFFFF" opacity="0.92"/>','<rect x="13" y="29" width="9" height="9" rx="2.2" fill="url(#bwai-accent)"/>','<path d="M27.5 38.3L37.6 28.2C38.2 27.6 39.1 27.6 39.7 28.2L43 31.5C43.6 32.1 43.6 33 43 33.6L32.9 43.7L26.1 45.1L27.5 38.3Z" fill="#FFFFFF"/>','<path d="M36.1 29.7L41.5 35.1" stroke="#10B981" stroke-width="2.2" stroke-linecap="round"/>','<circle cx="42" cy="45" r="5.5" fill="#19B86B" stroke="#FFFFFF" stroke-width="2.6"/>','<path d="M49 18.5H54M51.5 16V21" stroke="#19B86B" stroke-width="2.4" stroke-linecap="round"/>','<text x="60" y="37" font-family="Inter, Segoe UI, Arial, sans-serif" font-size="28" font-weight="850"><tspan fill="#102033">BlockWr&#305;te</tspan><tspan fill="#12A865">AI</tspan></text>','<circle cx="182" cy="17.6" r="2.8" fill="#19B86B"/>',"</svg>"].join("");return"data:image/svg+xml;charset=utf-8,"+encodeURIComponent(e)},He.prototype.buildExportPreviewRuntime=function(){var e=this.getInlineExportLogoDataUrl(),t={licenseKey:this.premiumOptions&&this.premiumOptions.licenseKey||"",authorizationToken:this.premiumOptions&&this.premiumOptions.authorizationToken||$("bwai_authorization_token")||"",sessionToken:this.premiumOptions&&this.premiumOptions.sessionToken||"",signatureEventUrl:this.premiumOptions&&this.premiumOptions.signatureEventEndpoint||""};try{t.sessionToken=t.sessionToken||localStorage.getItem("bwai_session_token")||localStorage.getItem("blockwriteai_session_token")||""}catch(e){}return"<script>("+function(e,t){var r="blockwriteai-signature:",i="blockwriteai-signature-flow:",a=(t=t||{}).signatureEventUrl||window.BlockWriteAISignatureEventUrl||"/blockwriteai-platform/api/signature_event.php",n=document;function o(e){return String(null==e?"":e).trim()}function l(e){return e.toLocaleString()}function s(e){try{return JSON.parse(localStorage.getItem(e)||"null")}catch(e){return null}}function d(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch(e){}}function c(e){try{return localStorage.getItem(e)||sessionStorage.getItem(e)||""}catch(e){return""}}function u(e,t){if(e&&t&&t.name){var r=e.querySelector(".rbe-signature-unsigned"),i=e.querySelector(".rbe-signature-signed"),a=e.querySelector(".rbe-signature-input"),n=e.querySelector(".rbe-signature-name"),o=e.querySelector(".rbe-signature-by-name"),s=e.querySelector(".rbe-signature-date");a&&(a.value=t.name,a.readOnly=!0),n&&(n.textContent=t.name),o&&(o.textContent=t.name),s&&(s.textContent=t.dateLabel||l(new Date(t.date||Date.now())),t.date&&s.setAttribute("datetime",t.date)),r&&(r.hidden=!0),i&&(i.hidden=!1),e.dataset.signed="true",e.classList.remove("has-error")}}function p(e){var t=e.querySelector(".rbe-signature-input"),i=o(t&&t.value);if(!i)return e.classList.add("has-error"),void(t&&t.focus());var a=new Date,n={name:i,date:a.toISOString(),dateLabel:l(a)};d(r+(e.dataset.signatureStorageKey||e.dataset.signatureId||""),n),u(e,n)}function m(e,t){if(e&&t&&t.name){var r=e.querySelector(".rbe-flow-signature-unsigned"),i=e.querySelector(".rbe-flow-signature-signed"),a=e.querySelector(".rbe-flow-signature-input"),n=e.querySelector(".rbe-flow-signature-status"),o=e.querySelector(".rbe-flow-signature-name"),s=e.querySelector(".rbe-flow-signature-by-name"),d=e.querySelector(".rbe-flow-signature-email"),c=e.querySelector(".rbe-flow-signature-ip"),u=e.querySelector(".rbe-flow-signature-date");e.classList.add("is-signed"),e.classList.remove("is-locked","has-error"),e.dataset.signed="true",e.dataset.signatureHash=t.signatureHash||"",a&&(a.value=t.name,a.readOnly=!0),n&&(n.textContent="Signed"),o&&(o.textContent=t.name),s&&(s.textContent=t.name),d&&(d.textContent=t.email||""),c&&(c.textContent=t.ipAddress||""),u&&(u.textContent=t.dateLabel||l(new Date(t.date||Date.now())),t.date&&u.setAttribute("datetime",t.date)),r&&(r.hidden=!0),i&&(i.hidden=!1)}}function b(e){var t=Array.prototype.slice.call(e.querySelectorAll(".rbe-flow-signature-card")),r=Array.prototype.slice.call(e.querySelectorAll(".rbe-flow-signature-connector")),i=!0;t.forEach(function(e,t){var a="true"===e.dataset.signed,n=i||a,o=e.querySelector(".rbe-flow-signature-input"),l=e.querySelector(".rbe-flow-signature-apply"),s=e.querySelector(".rbe-flow-signature-status");e.classList.toggle("is-locked",!n),e.classList.toggle("is-active",n&&!a),a||(o&&(o.disabled=!n),l&&(l.disabled=!n),s&&(s.textContent=n?"Ready to sign":"Pending")),r[t]&&(r[t].classList.toggle("is-complete",a),r[t].classList.toggle("is-pending",!a)),i=a})}function h(e){if(e&&!e.classList.contains("is-locked")){var r=e.querySelector(".rbe-flow-signature-input"),n=o(r&&r.value);if(!n)return e.classList.add("has-error"),void(r&&r.focus());var s=e.closest(".rbe-output-signature-flow");(function(e){var r=t.authorizationToken||c("bwai_authorization_token");if(!r||!e||"function"!=typeof fetch)return Promise.resolve(null);var i={action:"lookup",authorization_token:r,match_signer_value:e,signer_name:e},n=t.sessionToken||c("bwai_session_token")||c("blockwriteai_session_token");return n&&(i.session_token=n),fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)}).then(function(e){return e.ok?e.json():null}).then(function(t){return t&&t.matched&&t.signature?{name:t.signature.signer_name||e,email:t.signature.signer_email||"",role:t.signature.signer_role||"",ipAddress:t.signature.ip_address||"",signatureHash:t.signature.signature_hash||"",date:t.signature.created_at||(new Date).toISOString(),dateLabel:t.signature.created_at?l(new Date(t.signature.created_at)):l(new Date)}:null}).catch(function(){return null})})(n).then(function(t){t?function(e,t,r){return r=o(r).toLowerCase(),!(!e||!r)&&Array.prototype.slice.call(e.querySelectorAll(".rbe-flow-signature-card")).some(function(e){return e!==t&&"true"===e.dataset.signed&&o(e.dataset.signatureHash).toLowerCase()===r})}(s,e,t.signatureHash)?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,r):(d(i+(s&&s.dataset.flowId||"")+":"+(e.dataset.stepId||""),t),m(e,t),s&&b(s)):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,r)})}}n.addEventListener("click",function(e){var t=e.target.closest(".rbe-signature-apply");if(t)p(t.closest(".rbe-output-signature"));else{var r=e.target.closest(".rbe-flow-signature-apply");r&&h(r.closest(".rbe-flow-signature-card"))}}),n.addEventListener("input",function(e){var t=e.target.closest(".has-error");t&&t.classList.remove("has-error")}),n.addEventListener("keydown",function(e){if("Enter"===e.key){var t=e.target.closest(".rbe-signature-input");if(t)return e.preventDefault(),void p(t.closest(".rbe-output-signature"));var r=e.target.closest(".rbe-flow-signature-input");r&&(e.preventDefault(),h(r.closest(".rbe-flow-signature-card")))}}),Array.prototype.slice.call(n.querySelectorAll(".rbe-signature-watermark,.rbe-flow-signature-watermark")).forEach(function(t){t.src=e}),function(){var e={};Array.prototype.slice.call(n.querySelectorAll(".rbe-output-signature")).forEach(function(t){var r=t.dataset.signatureId||"signature";e[r]=(e[r]||0)+1});var t={};Array.prototype.slice.call(n.querySelectorAll(".rbe-output-signature")).forEach(function(i){var a=i.dataset.signatureId||"signature";t[a]=(t[a]||0)+1;var n=e[a]>1?a+":"+t[a]:a;i.dataset.signatureStorageKey=n;var o=s(r+n);o&&o.name&&u(i,o)}),Array.prototype.slice.call(n.querySelectorAll(".rbe-output-signature-flow")).forEach(function(e){Array.prototype.slice.call(e.querySelectorAll(".rbe-flow-signature-card")).forEach(function(t){var r=s(i+(e.dataset.flowId||"")+":"+(t.dataset.stepId||""));r&&r.name&&r.signatureHash&&m(t,r)}),b(e)})}()}.toString()+")("+JSON.stringify(e)+","+JSON.stringify(t)+");<\/script>"},He.prototype.buildExportDocument=function(){var e=He.normalizePreviewData(this.savedExportData),t=He.toHTML(e,{fontAwesome:this.options.fontAwesome,select2:!1}),r=this.collectExportStyles(),i=this.buildExportPreviewRuntime();return["<!doctype html>",'<html lang="en">',"<head>",'<meta charset="utf-8">','<meta name="viewport" content="width=device-width, initial-scale=1">',"<title>BlockWriteAI Report</title>",r,"<style>"+["@page{margin:18mm 14mm 20mm;}","body{margin:0;background:#eef3f8;color:#172033;font:16px/1.58 Arial,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;}",".blockwriteai-export-page{max-width:1040px;margin:24px auto;padding:28px;background:#fff;border:1px solid #d7dee8;border-radius:8px;}",".blockwriteai-export-page .rbe-output-latex{font-style:italic;}","@media print{html,body{background:#fff!important;}.blockwriteai-export-page{max-width:none;margin:0;padding:0;border:0;border-radius:0;}.blockwriteai-export-pages{gap:0;}.blockwriteai-export-sheet{margin:0;box-shadow:none;border:0;}.blockwriteai-export-sheet:last-child{break-after:auto;page-break-after:auto;}}"].join("")+"</style>","</head>","<body>",'<main class="blockwriteai-export-page blockwriteai-preview">'+t+"</main>",i,"</body>","</html>"].join("\n")},He.prototype.handleExport=function(e){if(!this.readOnly&&this.hasExplicitSave&&this.savedExportData){this.hideExportMenu();var t=He.normalizePreviewData(this.savedExportData);"json"!==e||this.downloadBlob(JSON.stringify(t,null,2),this.getExportFilename("json"),"application/json;charset=utf-8")}},He.prototype.handleExportHTML=function(){!this.readOnly&&this.hasExplicitSave&&this.savedExportData&&this.showExportHTMLPreview(this.buildExportDocument())},He.prototype.showExportHTMLPreview=function(e){var t=document.querySelector(".rbe-html-preview-modal");t&&t.remove();var r=S("iframe","rbe-html-preview-frame",{title:"BlockWriteAI HTML preview",sandbox:"allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox allow-downloads"}),i=S("div","rbe-html-preview-modal",{role:"dialog","aria-modal":"true","aria-label":"BlockWriteAI HTML preview",html:'<div class="rbe-html-preview-shell"><header class="rbe-html-preview-header"><strong>HTML Preview</strong><button type="button" class="rbe-html-preview-close" aria-label="Close preview">'+T("xmark","Close preview")+'</button></header><div class="rbe-html-preview-body"></div></div>'});i.querySelector(".rbe-html-preview-body").appendChild(r),i.addEventListener("click",function(e){(e.target===i||e.target.closest(".rbe-html-preview-close"))&&i.remove()}),document.body.appendChild(i),r.srcdoc=e},He.prototype.exportHTML=function(){var e=this,t=function(e){return"left"===(e=me(e))?"":' style="text-align:'+e+'"'},r=function(e){var t=N((e=e||{}).source||e.embed),r=t.embed||e.embed;return r?'<figure class="rbe-output-embed-figure"><iframe class="rbe-output-embed" src="'+C(r)+'" title="'+C(t.service||e.service||"Embedded content")+' embed" frameborder="0" referrerpolicy="strict-origin-when-cross-origin" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>'+(e.caption?"<figcaption>"+C(e.caption)+"</figcaption>":"")+"</figure>":'<p class="rbe-output-embed-link"><a href="'+C(e.source||"")+'">'+C(e.source||"")+"</a></p>"},i=function(n){var o=n&&n.data||{};if(!n)return"";if("paragraph"===n.type)return"<p"+t(o.alignment)+">"+Pe(o.text||"")+"</p>";if("heading"===n.type)return"<h"+(o.level||2)+t(o.alignment)+">"+Pe(o.text||"")+"</h"+(o.level||2)+">";if("quote"===n.type)return'<blockquote class="rbe-output-quote"'+t(o.alignment)+">"+Pe(o.text||"")+(o.caption?"<footer>"+C(o.caption)+"</footer>":"")+"</blockquote>";if("list"===n.type)return _e(o.items||[],o.style,o.alignment);if("checklist"===n.type)return ze(o.items||[]);if("code"===n.type)return Le(o);if("raw"===n.type)return E(o.html||"");if("image"===n.type)return'<figure class="rbe-output-image-figure"><div class="rbe-image-gallery">'+ie(o).map(function(e){return se(e)}).join("")+"</div></figure>";if("attaches"===n.type)return'<div class="rbe-attachment-grid">'+de(o).map(function(e){return'<a class="rbe-attachment-card" data-kind="'+C(re(e.type,e.name))+'" href="'+C(e.url)+'" target="_blank" rel="noopener noreferrer"><span class="rbe-attachment-card-icon">'+T(ee(e.type,e.name),"Attachment")+'</span><strong class="rbe-attachment-card-type">'+C(te(e.type,e.name))+'</strong><span class="rbe-attachment-card-name">'+C(e.name||"Attachment")+"</span></a>"}).join("")+"</div>";if("table"===n.type){var l="center"===o.align||"right"===o.align?o.align:"left",s=Math.min(100,Math.max(40,Number(o.width||100))),d="center"===l?"margin-left:auto;margin-right:auto;":"right"===l?"margin-left:auto;margin-right:0;":"margin-left:0;margin-right:auto;",c=ge(o);return'<div class="rbe-output-table-wrap"><table style="width:'+s+"%;"+d+'border-collapse:collapse;table-layout:fixed;">'+(o.rows||[]).map(function(e,t){return"<tr>"+e.map(function(e){var r=o.withHeadings&&0===t?"th":"td",i=je(e),a="border:"+c+";padding:8px;vertical-align:top;text-align:"+i+";";return"th"===r&&(a+="background:#eef5ff;font-weight:720;"),"<"+r+' style="'+a+'">'+Pe(De(e))+"</"+r+">"}).join("")+"</tr>"}).join("")+"</table></div>"}if("callout"===n.type){var u=fe(o.tone);return'<aside class="rbe-output-callout rbe-output-callout-'+C(u)+'" style="'+ye(u,o.alignment)+'">'+Pe(o.text||"")+"</aside>"}return"embed"===n.type?r(o):a[n.type]&&"function"==typeof a[n.type].toHTML?a[n.type].toHTML.call(e,o,Object.assign(Ne(),{renderBlock:i})):""};return this.getData().blocks.map(function(e){var n=e.data||{};if("paragraph"===e.type)return"<p"+t(n.alignment)+">"+Pe(n.text||"")+"</p>";if("heading"===e.type)return"<h"+(n.level||2)+t(n.alignment)+">"+Pe(n.text||"")+"</h"+(n.level||2)+">";if("quote"===e.type)return'<blockquote class="rbe-output-quote"'+t(n.alignment)+">"+Pe(n.text||"")+(n.caption?"<footer>"+C(n.caption)+"</footer>":"")+"</blockquote>";if("list"===e.type)return _e(n.items||[],n.style,n.alignment);if("checklist"===e.type)return ze(n.items||[]);if("code"===e.type)return Le(n);if("image"===e.type)return'<figure class="rbe-output-image-figure"><div class="rbe-image-gallery">'+ie(n).map(function(e){return se(e)}).join("")+"</div></figure>";if("table"===e.type){var o="center"===n.align||"right"===n.align?n.align:"left",l=Math.min(100,Math.max(40,Number(n.width||100))),s="center"===o?"margin-left:auto;margin-right:auto;":"right"===o?"margin-left:auto;margin-right:0;":"margin-left:0;margin-right:auto;",d=ge(n);return'<div class="rbe-output-table-wrap"><table style="width:'+l+"%;"+s+'border-collapse:collapse;table-layout:fixed;">'+(n.rows||[]).map(function(e,t){return"<tr>"+e.map(function(e){var r=n.withHeadings&&0===t?"th":"td",i=je(e),a="border:"+d+";padding:8px;vertical-align:top;text-align:"+i+";";return"th"===r&&(a+="background:#eef5ff;font-weight:720;"),"<"+r+' style="'+a+'">'+Pe(De(e))+"</"+r+">"}).join("")+"</tr>"}).join("")+"</table></div>"}if("embed"===e.type)return r(n);if("callout"===e.type){var c=fe(n.tone);return'<aside class="rbe-output-callout rbe-output-callout-'+C(c)+'" style="'+ye(c,n.alignment)+'">'+Pe(n.text||"")+"</aside>"}if("delimiter"===e.type)return'<hr class="rbe-output-delimiter rbe-output-delimiter-'+C("dashed"===n.style||"dotted"===n.style||"thick"===n.style?n.style:"line")+'">';if("button"===e.type){var u=me(n.alignment),p=q(n.url||"")?n.url:"#",m=n.background||"#2563eb",b=n.color||"#ffffff";return'<p class="rbe-output-button-wrap" style="text-align:'+u+'"><a class="rbe-button-link" style="background-color:'+C(m)+";color:"+C(b)+'" href="'+C(p)+'" target="_blank" rel="noopener noreferrer">'+C(n.text||"Button")+"</a></p>"}if("toggle"===e.type){var h=Array.isArray(n.blocks)&&n.blocks.length?n.blocks.map(i).join("\n"):Pe(n.text||"");return'<details class="rbe-output-toggle"'+(!1===n.open?"":" open")+"><summary>"+C(n.title||"Details")+"</summary><div>"+h+"</div></details>"}return"linkPreview"===e.type?'<a class="rbe-output-link-preview" href="'+C(q(n.url||"")?n.url:"#")+'" target="_blank" rel="noopener noreferrer"><span class="rbe-link-preview-icon">'+T("arrow-up-right-from-square","Open link")+"</span><strong>"+C(n.title||n.url||"Link preview")+"</strong><span>"+C(n.description||"")+"</span></a>":"raw"===e.type?E(n.html||""):"attaches"===e.type?'<div class="rbe-attachment-grid">'+de(n).map(function(e){return'<a class="rbe-attachment-card" data-kind="'+C(re(e.type,e.name))+'" href="'+C(e.url)+'" target="_blank" rel="noopener noreferrer"><span class="rbe-attachment-card-icon">'+T(ee(e.type,e.name),"Attachment")+'</span><strong class="rbe-attachment-card-type">'+C(te(e.type,e.name))+'</strong><span class="rbe-attachment-card-name">'+C(e.name||"Attachment")+"</span></a>"}).join("")+"</div>":a[e.type]&&"function"==typeof a[e.type].toHTML?a[e.type].toHTML.call(this,n,Object.assign(Ne(),{renderBlock:i})):""},this).join("\n")},He.normalizePreviewData=function(e){return e?e.data&&Array.isArray(e.data.blocks)?e.data:Array.isArray(e.blocks)?e:{time:Date.now(),blocks:[]}:{time:Date.now(),blocks:[]}},He.toHTML=function(e,t){if("undefined"==typeof document||!document.body)return"";var r=S("div","rbe-preview-renderer",{hidden:!0});document.body.appendChild(r);var i=new He(Object.assign({holder:r,data:He.normalizePreviewData(e),readOnly:!0,minHeight:"0px",autosave:null,saveButton:!1,exportButton:!1,shell:!1,select2:!1},t||{})),a=i.exportHTML();return i.destroy(),r.remove(),a},He.initPreviewPlugins=function(e){var t="undefined"!=typeof window?window:null;return t?(t.BlockWriteAISignature&&"function"==typeof t.BlockWriteAISignature.init&&t.BlockWriteAISignature.init(e||document),t.BlockWriteAISignatureFlow&&"function"==typeof t.BlockWriteAISignatureFlow.init&&t.BlockWriteAISignatureFlow.init(e||document),e):e},He.primeSignatureData=function(e){if(!e||"undefined"==typeof localStorage)return e;var t=e.items||e.signatures||{};Array.isArray(t)?t.forEach(function(e){var t=e&&(e.storageKey||e.signatureId||e.id);t&&localStorage.setItem("blockwriteai-signature:"+t,JSON.stringify(e))}):Object.keys(t).forEach(function(e){t[e]&&localStorage.setItem("blockwriteai-signature:"+e,JSON.stringify(t[e]))});var r=e.flows||{};return Object.keys(r).forEach(function(e){var t=r[e]&&(r[e].steps||r[e])||{};Object.keys(t).forEach(function(r){t[r]&&localStorage.setItem("blockwriteai-signature-flow:"+e+":"+r,JSON.stringify(t[r]))})}),e},He.renderPreview=function(e,t,r){var i="string"==typeof e?document.querySelector(e):e;if(!i)return null;var a=He.normalizePreviewData(t);return He.primeSignatureData(a&&a.signatures),i.innerHTML=He.toHTML(a,r),i.dataset.blockwriteaiPreviewMounted="true",He.initPreviewPlugins(i),i},He.mountPreviews=function(e){var t=(e=e||{}).selector||".blockwriteai-preview, [data-blockwriteai-preview]",r=Array.prototype.slice.call(document.querySelectorAll(t));return Promise.all(r.map(function(t){if(!e.force&&"true"===t.dataset.blockwriteaiPreviewMounted)return Promise.resolve(t);var r=t.dataset.blockwriteaiJson||"",i=t.querySelector('script[type="application/json"]'),a=t.dataset.source||t.dataset.blockwriteaiSource||"",n=function(r){return He.renderPreview(t,r,e.editor||{}),t};if(r)try{return Promise.resolve(n(JSON.parse(r)))}catch(e){return t.innerHTML="<p>Invalid BlockWriteAI preview JSON.</p>",Promise.resolve(t)}if(i&&i.textContent.trim())try{return Promise.resolve(n(JSON.parse(i.textContent)))}catch(e){return t.innerHTML="<p>Invalid BlockWriteAI preview JSON.</p>",Promise.resolve(t)}return a?fetch(a,{headers:{Accept:"application/json"},cache:"no-store"}).then(function(e){if(!e.ok)throw new Error("Unable to load BlockWriteAI preview JSON");return e.json()}).then(n).catch(function(e){return t.innerHTML="<p>"+C(e.message||"Unable to load BlockWriteAI preview.")+"</p>",t}):e.data?Promise.resolve(n(e.data)):window.BlockWriteAIPreviewData||window.BlockWriteAIPreviewData?Promise.resolve(n(window.BlockWriteAIPreviewData)):(t.innerHTML="<p>No preview content available.</p>",t.dataset.blockwriteaiPreviewMounted="true",Promise.resolve(t))}))},He.prototype.exportMarkdown=function(){return this.getData().blocks.map(function(e){var t=e.data||{},r=function(e){var t=document.createElement("div");return t.innerHTML=O(e||""),t.textContent||""};if("paragraph"===e.type)return r(t.text);if("heading"===e.type)return Array(Number(t.level||2)+1).join("#")+" "+r(t.text);if("quote"===e.type)return"> "+r(t.text)+(t.caption?"\n> -- "+t.caption:"");if("list"===e.type){var i=[0,0,0,0,0];return(t.items||[]).map(Ie).filter(function(e){return!Be(e)}).map(function(e){var a=qe(e);i[a]+=1;for(var n=a+1;n<i.length;n+=1)i[n]=0;return Array(a+1).join(" ")+("ordered"===t.style?i[a]+". ":"- ")+r(e.text)}).join("\n")}return"checklist"===e.type?(t.items||[]).map(Oe).filter(function(e){return!Be(e)}).map(function(e){var t=qe(e);return Array(t+1).join(" ")+"- ["+(e.checked?"x":" ")+"] "+r(e.text)}).join("\n"):"code"===e.type?"```"+(t.language||"")+"\n"+(t.code||"")+"\n```":"image"===e.type?ie(t).map(function(e){return"!["+(e.alt||e.caption||"")+"]("+e.url+")"}).join("\n"):"delimiter"===e.type?"---":"embed"===e.type?t.source||t.embed||"":"callout"===e.type?"> "+r(t.text):"button"===e.type?"["+(t.text||"Button")+"]("+(t.url||"#")+")":"toggle"===e.type?"<details>\n<summary>"+(t.title||"Details")+"</summary>\n\n"+r(t.text)+"\n</details>":"linkPreview"===e.type?"["+(t.title||t.url||"Link preview")+"]("+(t.url||"#")+")"+(t.description?"\n"+t.description:""):"raw"===e.type?t.html||"":"attaches"===e.type?de(t).map(function(e){return"["+(e.name||"Attachment")+"]("+e.url+")"}).join("\n"):a[e.type]&&"function"==typeof a[e.type].toMarkdown?a[e.type].toMarkdown.call(this,t,Object.assign(Ne(),{text:r})):""},this).join("\n\n")},He.prototype.importHTML=function(e){var t=document.createElement("template");t.innerHTML=e;var r=[];Array.prototype.slice.call(t.content.children).forEach(function(e){var t=e.tagName.toLowerCase();/h[1-4]/.test(t)?r.push({type:"heading",data:{level:Number(t.slice(1)),text:O(e.innerHTML)}}):"blockquote"===t?r.push({type:"quote",data:{text:O(e.innerHTML),caption:""}}):"ul"===t||"ol"===t?r.push({type:"list",data:{style:"ol"===t?"ordered":"unordered",items:Array.prototype.slice.call(e.children).map(function(e){return O(e.innerHTML)})}}):"figure"===t&&e.querySelector("img")?r.push({type:"image",data:{url:e.querySelector("img").src,caption:(e.querySelector("figcaption")||{}).textContent||""}}):"pre"===t?r.push({type:"code",data:{code:e.textContent||"",language:""}}):"hr"===t?r.push({type:"delimiter",data:{}}):r.push({type:"paragraph",data:{text:O(e.innerHTML||e.textContent)}})}),this.render({blocks:r})},He}),function(e){"use strict";var t=e.BlockWriteAI;if(t&&!t.__advancedBlocksInstalled){t.__advancedBlocksInstalled=!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.sanitizeHTML||function(e){return String(e||"")},o=r.renderOutputInline||n,l=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>"},s=["#2563eb","#16a34a","#f59e0b","#dc2626","#7c3aed","#0891b2","#db2777","#65a30d"];t.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,t){u();var r=this,o=i("div","rbe-plugin-card rbe-chart-block");o.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">'+l("chart-column","Bar chart")+'</button><button type="button" class="rbe-chart-type-btn" data-chart-type="line" title="Line chart">'+l("chart-line","Line chart")+'</button><button type="button" class="rbe-chart-type-btn" data-chart-type="pie" title="Pie chart">'+l("chart-pie","Pie chart")+'</button></div><div class="rbe-plugin-preview rbe-chart-preview"></div></div><div class="rbe-chart-caption rbe-editable" contenteditable="'+!r.readOnly+'" data-placeholder="Chart caption"></div>',e.appendChild(o),o.querySelector(".rbe-chart-type").value="line"===t.type||"pie"===t.type?t.type:"bar",o.querySelector(".rbe-chart-title").value=t.title||"",o.querySelector(".rbe-chart-caption").innerHTML=n(t.caption||""),o.querySelector(".rbe-chart-caption").style.textAlign=S(t.captionAlignment||"center"),o.querySelector(".rbe-chart-color").value=t.color||"#2563eb",o.querySelector(".rbe-chart-colors").value=t.colors||"#2563eb,#16a34a,#f59e0b,#dc2626",o.querySelector(".rbe-chart-labels").value=t.labels||"",o.querySelector(".rbe-chart-values").value=t.values||"";var s=function(){var e,t,r,i,n,l;l=o.querySelector(".rbe-chart-type").value||"bar",Array.prototype.slice.call(o.querySelectorAll(".rbe-chart-type-btn")).forEach(function(e){e.classList.toggle("is-active",e.dataset.chartType===l)}),o.querySelector(".rbe-chart-series-color").hidden="pie"===l,o.querySelector(".rbe-chart-slice-colors").hidden="pie"!==l,"pie"===l&&(e=m(o.querySelector(".rbe-chart-labels").value),t=p(o.querySelector(".rbe-chart-values").value),r=Math.max(1,e.length,t.length),n=h((i=o.querySelector(".rbe-chart-colors")).value,r),o.querySelector(".rbe-chart-slice-list").innerHTML=n.map(function(t,r){return'<label class="rbe-chart-slice-chip"><span>'+a(e[r]||"Q"+(r+1))+'</span><input type="color" value="'+a(t)+'" data-slice-index="'+r+'"></label>'}).join(""),i.value=n.join(",")),o.querySelector(".rbe-chart-preview").innerHTML=f({type:o.querySelector(".rbe-chart-type").value,title:o.querySelector(".rbe-chart-title").value,color:o.querySelector(".rbe-chart-color").value,colors:o.querySelector(".rbe-chart-colors").value,labels:o.querySelector(".rbe-chart-labels").value,values:o.querySelector(".rbe-chart-values").value})};o.addEventListener("click",function(e){var t=e.target.closest(".rbe-chart-type-btn");t&&(e.preventDefault(),o.querySelector(".rbe-chart-type").value=t.dataset.chartType||"bar",s(),r.changed(!0))}),o.addEventListener("input",function(e){if(e.target.closest(".rbe-chart-slice-chip input")){var t=Array.prototype.slice.call(o.querySelectorAll(".rbe-chart-slice-chip input"));o.querySelector(".rbe-chart-colors").value=t.map(function(e){return e.value}).join(",")}}),k(r,o,s),s()},serialize:function(e){var t=e.querySelector(".rbe-chart-caption");return{type:(e.querySelector(".rbe-chart-type")||{}).value||"bar",title:(e.querySelector(".rbe-chart-title")||{}).value||"",caption:t?n(t.innerHTML||""):"",captionAlignment:S(t&&t.style?t.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 t=S(e.captionAlignment||"center");return'<figure class="rbe-output-chart">'+(e.title?'<figcaption class="rbe-output-chart-title">'+a(e.title)+"</figcaption>":"")+f(e)+(e.caption?'<figcaption class="rbe-output-chart-caption" style="text-align:'+t+'">'+o(e.caption)+"</figcaption>":"")+"</figure>"},toMarkdown:function(e){return"Chart: "+(e.title||"")+(e.caption?"\n"+(t=e.caption,(r=document.createElement("template")).innerHTML=n(t||""),r.content.textContent||""):"")+"\nLabels: "+(e.labels||"")+"\nValues: "+(e.values||"");var t,r}}),t.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,t){u();var r=i("div","rbe-plugin-card rbe-latex-block");r.innerHTML='<textarea class="rbe-latex-code" spellcheck="false"></textarea><div class="rbe-plugin-preview rbe-latex-preview"></div>',e.appendChild(r),r.querySelector(".rbe-latex-code").value=t.code||"";var a=function(){w(r.querySelector(".rbe-latex-preview"),r.querySelector(".rbe-latex-code").value,!0)};k(this,r,a),a()},serialize:function(e){return{code:(e.querySelector(".rbe-latex-code")||{}).value||"",display:!0}},toHTML:function(e){var t=e.code||"";return'<div class="rbe-output-latex" data-display="true" data-latex="'+a(t)+'">'+x(t)+"</div>"},toMarkdown:function(e){return"$$"+(e.code||"")+"$$"}}),t.registerTool("audio",{label:"Audio",hint:"Upload or link audio",icon:"volume-high",defaultData:{url:"",title:""},render:function(e,t){u();var r=this,n=i("div","rbe-plugin-card rbe-audio-block");n.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/*" '+(r.readOnly?"disabled":"")+'><span class="rbe-upload-icon">'+l("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(n),n.querySelector(".rbe-audio-title").value=t.title||"",n.querySelector(".rbe-audio-url").value=t.url||"";var o=function(){var e=n.querySelector(".rbe-audio-url").value,t=n.querySelector(".rbe-audio-title").value||"Audio";n.querySelector(".rbe-audio-preview").innerHTML=e?'<div class="rbe-audio-card"><strong>'+a(t)+'</strong><audio controls src="'+a(e)+'"></audio><small>Drop or click above to replace audio</small></div>':""};function s(e){e&&(/^audio\//.test(e.type||"")||/\.(mp3|wav|ogg|m4a|aac|flac|webm)$/i.test(e.name||""))?r.uploadFile(e,"file").then(function(t){n.querySelector(".rbe-audio-url").value=t.url||"",n.querySelector(".rbe-audio-title").value=t.name||e.name||"Audio",o(),r.changed(!0)}).catch(function(e){n.querySelector(".rbe-audio-preview").innerHTML='<div class="rbe-audio-error">'+a(e&&e.message?e.message:"Audio upload failed")+"</div>"}):n.querySelector(".rbe-audio-preview").innerHTML='<div class="rbe-audio-error">Please upload an audio file.</div>'}n.querySelector(".rbe-audio-file").addEventListener("change",function(e){s(e.target.files&&e.target.files[0])}),n.querySelector(".rbe-audio-dropzone").addEventListener("dragover",function(e){e.preventDefault()}),n.querySelector(".rbe-audio-dropzone").addEventListener("drop",function(e){e.preventDefault(),s(e.dataTransfer&&e.dataTransfer.files&&e.dataTransfer.files[0])}),k(r,n,o),o()},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="'+a(e.url)+'"></audio>':"")+"</figure>"},toMarkdown:function(e){return"["+(e.title||"Audio")+"]("+(e.url||"#")+")"}}),t.registerTool("columns",{label:"Columns",hint:"Multi-column layout",icon:"table-columns",defaultData:{count:2,headers:["Column 1","Column 2"],columns:["",""]},render:function(e,t){u();var r=this,a=Math.min(8,Math.max(2,Number(t.count||2))),o=Array.isArray(t.headers)?t.headers:[],l=Array.isArray(t.columns)?t.columns:[],s=Array.isArray(t.headerAlignments)?t.headerAlignments:[],d=Array.isArray(t.columnAlignments)?t.columnAlignments:[],c=i("div","rbe-plugin-card rbe-columns-block");c.innerHTML='<div class="rbe-plugin-toolbar"><label>Columns <select class="rbe-columns-count"></select></label></div><div class="rbe-columns-grid"></div>',e.appendChild(c);for(var p=c.querySelector(".rbe-columns-count"),m=c.querySelector(".rbe-columns-grid"),b=2;b<=8;b+=1)p.appendChild(i("option","",{value:String(b),text:String(b)}));function h(e){return"center"===(e=String(e||"").toLowerCase())||"right"===e?e:"left"}function g(){var e=Number(p.value||2),t=Array.prototype.slice.call(m.querySelectorAll(".rbe-column-header")).map(function(e){return e.innerHTML}),a=Array.prototype.slice.call(m.querySelectorAll(".rbe-column-editor")).map(function(e){return e.innerHTML}),c=Array.prototype.slice.call(m.querySelectorAll(".rbe-column-header")).map(function(e){return h(e.style.textAlign)}),u=Array.prototype.slice.call(m.querySelectorAll(".rbe-column-editor")).map(function(e){return h(e.style.textAlign)});m.innerHTML="",m.style.gridTemplateColumns="repeat("+e+", minmax(220px, 1fr))";for(var b=0;b<e;b+=1){var g=i("div","rbe-column-field"),f=i("div","rbe-column-header rbe-editable",{contentEditable:!r.readOnly,html:n(t[b]||o[b]||"Column "+(b+1)),dataset:{placeholder:"Column "+(b+1)+" header"}});f.style.textAlign=h(c[b]||s[b]),g.appendChild(f);var y=i("div","rbe-column-editor rbe-editable",{contentEditable:!r.readOnly,html:n(a[b]||l[b]||""),dataset:{placeholder:"Column "+(b+1)}});y.style.textAlign=h(u[b]||d[b]),g.appendChild(y),m.appendChild(g)}}p.value=String(a),p.addEventListener("change",function(){g(),r.changed(!0)}),m.addEventListener("input",function(){r.changed()}),g()},serialize:function(e){function t(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 n(e.innerHTML||"")}),columns:Array.prototype.slice.call(e.querySelectorAll(".rbe-column-editor")).map(function(e){return n(e.innerHTML||"")}),headerAlignments:Array.prototype.slice.call(e.querySelectorAll(".rbe-column-header")).map(function(e){return t(e.style.textAlign)}),columnAlignments:Array.prototype.slice.call(e.querySelectorAll(".rbe-column-editor")).map(function(e){return t(e.style.textAlign)})}},toHTML:function(e){function t(e){return"center"===(e=String(e||"").toLowerCase())||"right"===e?e:"left"}for(var r=Math.min(8,Math.max(2,Number(e.count||2))),i=Array.isArray(e.headers)?e.headers:[],a=Array.isArray(e.columns)?e.columns.slice(0,r):[],n=Array.isArray(e.headerAlignments)?e.headerAlignments:[],l=Array.isArray(e.columnAlignments)?e.columnAlignments:[];a.length<r;)a.push("");return'<div class="rbe-output-columns" style="--rbe-columns:'+r+'">'+a.map(function(e,r){var a=i[r]||"Column "+(r+1),s=t(n[r]),d=t(l[r]);return'<div class="rbe-output-column"><div class="rbe-output-column-header" style="text-align:'+s+'">'+o(a)+'</div><div class="rbe-output-column-body" style="text-align:'+d+'">'+o(e||"")+"</div></div>"}).join("")+"</div>"},toMarkdown:function(e,t){return(e.columns||[]).map(function(r,i){return((Array.isArray(e.headers)?e.headers:[])[i]||"Column "+(i+1))+"\n"+(t.text?t.text(r):r)}).join("\n\n")}});var d=t.prototype.renderImage;t.prototype.renderImage=function(e,t){d.call(this,e,t||{}),function(e,t,r){var i=Array.isArray(r&&r.items)?r.items:r&&r.url?[r]:[];Array.prototype.slice.call(t.querySelectorAll(".rbe-image-stage")).forEach(function(t,r){var a=i[r]||{};if(t.dataset.rotation=a.rotation||t.dataset.rotation||"0",t.dataset.crop="custom"===a.crop?"custom":t.dataset.crop||"free",C(t,e),t.querySelector(".rbe-media-gear-menu")&&!t.querySelector(":scope > .rbe-image-transform-panel")){var n=document.createElement("div");n.className="rbe-image-transform-panel",n.innerHTML='<button type="button" class="rbe-media-action rbe-image-transform" data-transform="rotate-left" title="Rotate left">'+l("rotate-left","Rotate left")+'</button><button type="button" class="rbe-media-action rbe-image-transform" data-transform="rotate-right" title="Rotate right">'+l("rotate-right","Rotate right")+"</button>",t.appendChild(n)}})}(this,e,t||{})};var c=t.prototype.serializeBlock;t.prototype.serializeBlock=function(e){var t=c.call(this,e);if(t&&"image"===t.type){var r=Array.prototype.slice.call(e.querySelectorAll(".rbe-image-stage"));t.data.items=(t.data.items||[]).map(function(e,t){var i=r[t];return i?(e.rotation=Number(i.dataset.rotation||0),e.crop="custom"===i.dataset.crop?"custom":"free",e):e})}return t},document.addEventListener("click",function(e){var t=e.target.closest(".rbe-image-transform");if(t){var r=t.closest(".rbe-image-stage"),i=t.closest(".rbe-block");if(r&&i){e.preventDefault();var a=t.dataset.transform||"";"rotate-left"===a&&(r.dataset.rotation=String((Number(r.dataset.rotation||0)-90)%360)),"rotate-right"===a&&(r.dataset.rotation=String((Number(r.dataset.rotation||0)+90)%360));var n=i.closest(".rbe");n&&n.__blockwriteaiInstance?(C(r,n.__blockwriteaiInstance),n.__blockwriteaiInstance.updateMediaActionAvailability(r.closest(".rbe-image-gallery")||i),n.__blockwriteaiInstance.changed(!0)):C(r)}}}),u(),function(){var t=function(){var t;t=(t=document)||document,Array.prototype.slice.call(t.querySelectorAll(".rbe-output-latex")).forEach(function(e){var t=e.dataset.latex||e.textContent||"",r="false"!==e.dataset.display;"true"===e.dataset.renderedLatex&&e.dataset.lastLatex===t&&e.dataset.lastDisplay===String(r)||(e.dataset.renderedLatex="true",e.dataset.lastLatex=t,e.dataset.lastDisplay=String(r),w(e,t,r))}),Array.prototype.slice.call(t.querySelectorAll(".rbe-output-mermaid")).forEach(function(t){var r=t.dataset.mermaid||t.textContent||"";"true"===t.dataset.renderedMermaid&&t.dataset.lastMermaid===r||(t.dataset.renderedMermaid="true",t.dataset.lastMermaid=r,function(t,r){t.innerHTML="<pre>"+a(r||"")+"</pre>",r&&r.trim()&&y(v("vendor/mermaid/mermaid.min.js"),"mermaid",function(){if(e.mermaid)try{e.mermaid.initialize({startOnLoad:!1,securityLevel:"strict"});var i=function(){e.mermaid.render("rbe-mermaid-"+Math.random().toString(36).slice(2),r).then(function(e){t.innerHTML=e.svg}).catch(function(){t.innerHTML='<pre class="rbe-output-mermaid-error">'+a(r||"")+"</pre>"})};e.mermaid.parse?Promise.resolve(e.mermaid.parse(r)).then(i).catch(function(){t.innerHTML='<pre class="rbe-output-mermaid-error">'+a(r||"")+"</pre>"}):i()}catch(e){}})}(t,r))})};if("loading"===document.readyState?document.addEventListener("DOMContentLoaded",t,{once:!0}):setTimeout(t,0),document.body){var r=0;new MutationObserver(function(){clearTimeout(r),r=setTimeout(t,60)}).observe(document.body,{childList:!0,subtree:!0})}}()}function u(){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:'\u203a';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:14px/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;width:fit-content;max-width:100%;max-height:560px;margin:0 auto;overflow:auto;border:1px solid #d7dee8;border-radius:8px;background:#fff;}.rbe-output-mermaid-diagram svg{display:block;width:100%;max-width:100%;height:auto;min-width:0;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 p(e){return String(e||"").split(/[\s,]+/).map(function(e){return Number(e)}).filter(function(e){return Number.isFinite(e)})}function m(e){return String(e||"").split(",").map(function(e){return e.trim()}).filter(Boolean)}function b(e,t){return e=String(e||"").trim(),/^#[0-9a-f]{3}([0-9a-f]{3})?$/i.test(e)?e:t}function h(e,t){for(var r=String(e||"").split(",").map(function(e,t){return b(e,s[t%s.length])}).filter(Boolean);r.length<t;)r.push(s[r.length%s.length]);return r.slice(0,t)}function g(e){return Number.isFinite(e)?String(Math.round(100*e)/100):"0"}function f(e){var t="line"===e.type||"pie"===e.type?e.type:"bar",r=m(e.labels||"Q1,Q2,Q3,Q4"),i=p(e.values||"12,19,7,14");i.length||(i=[12,19,7,14]);for(var n=Math.max(r.length,i.length),o=0;o<n;o+=1)r[o]||(r[o]="Item "+(o+1)),Number.isFinite(i[o])||(i[o]=0);var l=e.color||"#2563eb",s=Math.max.apply(null,i.map(function(e){return Math.max(0,e)}).concat([1]));if("pie"===t){var d=i.reduce(function(e,t){return e+Math.max(0,t)},0)||1,c=-Math.PI/2,u=h(e.colors,i.length),f=i.map(function(e,t){var i=Math.max(0,e)/d*Math.PI*2,n=c+i,o=c+i/2,l=320+105*Math.cos(c),s=145+105*Math.sin(c),p=320+105*Math.cos(n),m=145+105*Math.sin(n),b=320+64*Math.cos(o),h=145+64*Math.sin(o),f=i>Math.PI?1:0;return c=n,'<g><path d="M320 145 L'+l+" "+s+" A105 105 0 "+f+" 1 "+p+" "+m+' Z" fill="'+a(u[t%u.length])+'"><title>'+a((r[t]||"")+": "+e)+"</title></path>"+(e>0?'<text x="'+b+'" 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">'+a(g(e))+"</text>":"")+"</g>"}).join("");return'<svg viewBox="0 0 640 300" role="img" aria-label="'+a(e.title||"Pie chart")+'">'+f+"</svg>"}var y=554/i.length,v=function(e){return 252-Math.max(0,e)/s*222},x=i.map(function(e,t){return[58+y*t+y/2,v(e)]}),w='<path d="M58 252H612M58 30V252" stroke="#cbd5e1" fill="none"/>'+function(e){for(var t=[],r=0;r<=4;r+=1)t.push(e/4*r);return t}(s).map(function(e){var t=v(e);return'<g><path d="M58 '+t+'H612" stroke="#e8eef6" fill="none"/><text x="48" y="'+(t+4)+'" text-anchor="end" font-size="12" fill="#64748b">'+a(g(e))+"</text></g>"}).join("")+r.map(function(e,t){return'<text x="'+(58+y*t+y/2)+'" y="282" text-anchor="middle" font-size="12" fill="#64748b">'+a(e)+"</text>"}).join("");return"line"===t?'<svg viewBox="0 0 640 300" role="img" aria-label="'+a(e.title||"Line chart")+'">'+w+'<polyline points="'+x.map(function(e){return e.join(",")}).join(" ")+'" fill="none" stroke="'+a(b(l,"#2563eb"))+'" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>'+x.map(function(e,t){return'<g><circle cx="'+e[0]+'" cy="'+e[1]+'" r="5" fill="'+a(b(l,"#2563eb"))+'"><title>'+a((r[t]||"")+": "+i[t])+'</title></circle><text x="'+e[0]+'" y="'+(e[1]-10)+'" text-anchor="middle" font-size="12" fill="#344054" font-weight="700">'+a(g(i[t]))+"</text></g>"}).join("")+"</svg>":'<svg viewBox="0 0 640 300" role="img" aria-label="'+a(e.title||"Bar chart")+'">'+w+i.map(function(e,t){var i=Math.max(0,e)/s*222,n=58+y*t+.18*y,o=252-i,d=.64*y,c=o+i/2+5;return'<g><rect x="'+n+'" y="'+o+'" width="'+d+'" height="'+i+'" rx="5" fill="'+a(b(l,"#2563eb"))+'"><title>'+a((r[t]||"")+": "+e)+'</title></rect><text x="'+(n+d/2)+'" y="'+c+'" text-anchor="middle" font-size="13" fill="#fff" stroke="#0f172a" stroke-opacity=".25" stroke-width="2" paint-order="stroke fill" font-weight="800">'+a(g(e))+"</text></g>"}).join("")+"</svg>"}function y(e,t,r){var i=document.querySelector("script[data-blockwriteai-lib='"+t+"']");if(i)"true"===i.dataset.loaded?r():i.addEventListener("load",r,{once:!0});else{var a=document.createElement("script");a.src=e,a.dataset.blockwriteaiLib=t,a.onload=function(){a.dataset.loaded="true",r()},a.onerror=r,document.head.appendChild(a)}}function v(e){var t="";if("undefined"!=typeof document&&!(t=document.currentScript&&document.currentScript.src||""))for(var r=document.getElementsByTagName?document.getElementsByTagName("script"):[],i=r.length-1;i>=0;i-=1){var a=r[i].src||"";if(/blockwriteai-advanced-blocks(?:\.min)?\.js(?:\?|#|$)/.test(a)){t=a;break}}var n=-1!==t.indexOf("/blockwriteai_editor/static/blockwriteai/plugins/")?"../../../../":"../../";try{return t?new URL(n+e,t).href:e}catch(t){return n+e}}function x(e){return a(e||"").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 w(t,r,i){t.innerHTML=x(r||""),r&&r.trim()&&(function(e,t){if(!document.querySelector("link[data-blockwriteai-lib='"+t+"']")){var r=document.createElement("link");r.rel="stylesheet",r.href=e,r.dataset.blockwriteaiLib=t,document.head.appendChild(r)}}(v("vendor/katex/css/katex.min.css"),"katex-css"),y(v("vendor/katex/js/katex.min.js"),"katex",function(){if(e.katex)try{e.katex.render(r,t,{throwOnError:!1,displayMode:!!i})}catch(e){}}))}function k(e,t,r){t.addEventListener("input",function(){r(),e.changed()}),t.addEventListener("change",function(){r(),e.changed()})}function S(e){return"left"===(e=String(e||"").toLowerCase())||"right"===e?e:"center"}function C(e,t){if(e){var r=e.querySelector(".rbe-image-preview"),i=Number(e.dataset.rotation||0);e.dataset.rotation=String(i),t&&"function"==typeof t.applyImageStageState?t.applyImageStageState(e):r&&(r.style.transform="rotate("+i+"deg)")}}}("undefined"!=typeof window?window:this),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){o();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=l(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 s=a.querySelector("canvas"),d=s.getContext("2d");function c(e){if(d.clearRect(0,0,s.width,s.height),e){var t=new Image;t.onload=function(){d.drawImage(t,0,0,s.width,s.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 u=!1;function p(e){var t=s.getBoundingClientRect();return{x:(e.clientX-t.left)/t.width*s.width,y:(e.clientY-t.top)/t.height*s.height}}s.addEventListener("pointerdown",function(e){u=!0,a.dataset.drawingDirty="true",s.setPointerCapture(e.pointerId);var t=p(e);d.beginPath(),d.moveTo(t.x,t.y)}),s.addEventListener("pointermove",function(e){if(u){var t=p(e);d.strokeStyle=a.querySelector(".rbe-drawing-color").value,d.lineWidth=Number(a.querySelector(".rbe-drawing-size").value||4),d.lineCap="round",d.lineJoin="round",d.lineTo(t.x,t.y),d.stroke()}}),s.addEventListener("pointerup",function(){u=!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=l(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="",d.clearRect(0,0,s.width,s.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=l(e.text,e.color||"#2f1830")),t?'<figure class="rbe-output-drawing"><img src="'+a(t)+'" alt="Drawing"></figure>':""},toMarkdown:function(){return"![Drawing](drawing.png)"}}),o()}function o(){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 l(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(" "),o=i.slice(Math.ceil(i.length/2)).join(" "),l=!!o,s=['<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="'+(l?"138":"176")+"\" text-anchor=\"middle\" font-family=\"Mabriella, 'Brush Script MT', 'Segoe Script', 'Lucida Handwriting', cursive\" font-size=\""+(l?"104":"118")+'" font-weight="400" fill="'+a(r)+'">'+a(n)+"</text>",l?'<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(o)+"</text>":"","</svg>"].join("");return"data:image/svg+xml;charset=UTF-8,"+encodeURIComponent(s)}}("undefined"!=typeof window?window:this),function(e){"use strict";var t=e.BlockWriteAI;if(t&&!t.__mermaidPluginInstalled){t.__mermaidPluginInstalled=!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.sanitizeHTML,r.renderOutputInline,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>"}),o=/^(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)$/,s=6e3,d=240;t.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,t){c();var r=this,o=i("div","rbe-plugin-card rbe-mermaid-block rbe-mermaid-card");o.tabIndex=0;var l="left"===t.alignment||"right"===t.alignment?t.alignment:"center",s=f(t);o.innerHTML='<input type="hidden" class="rbe-mermaid-alignment" value="'+a(l)+'"><input type="hidden" class="rbe-mermaid-diagram-json"><textarea class="rbe-mermaid-code" hidden></textarea><input class="rbe-mermaid-workspace-w" type="hidden" value="'+a(s.width)+'"><input class="rbe-mermaid-workspace-h" type="hidden" value="'+a(s.height)+'"><input class="rbe-mermaid-zoom" type="hidden" value="'+a(s.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"'+(r.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=t.code||"",o.querySelector(".rbe-mermaid-diagram-json").value=JSON.stringify(C(t)),z(o),o.addEventListener("click",function(e){e.target.closest(".rbe-mermaid-edit-btn")&&(e.preventDefault(),r.readOnly||P(r,o))}),r.readOnly||!0!==t.openOnInsert||setTimeout(function(){P(r,o)},80)},serialize:function(e){var t=[];try{t=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:t.map(S),workspace:I(e)}}},toHTML:function(e){var t="left"===e.alignment||"right"===e.alignment?e.alignment:"center",r=C(e);return'<figure class="rbe-output-mermaid-wrap rbe-output-align-'+a(t)+'"><div class="rbe-output-mermaid-diagram">'+M(r,"",f(e),null)+"</div></figure>"},toMarkdown:function(e){return"```mermaid\n"+(e.code||"")+"\n```"}}),c(),function(){var t=function(){var t;t=(t=document)||document,Array.prototype.slice.call(t.querySelectorAll(".rbe-output-latex")).forEach(function(t){var r=t.dataset.latex||t.textContent||"",i="false"!==t.dataset.display;"true"===t.dataset.renderedLatex&&t.dataset.lastLatex===r&&t.dataset.lastDisplay===String(i)||(t.dataset.renderedLatex="true",t.dataset.lastLatex=r,t.dataset.lastDisplay=String(i),function(t,r,i){t.innerHTML=function(e){return a(e||"").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," ")}(r||""),r&&r.trim()&&(function(e,t){if(!document.querySelector("link[data-blockwriteai-lib='"+t+"']")){var r=document.createElement("link");r.rel="stylesheet",r.href=e,r.dataset.blockwriteaiLib=t,document.head.appendChild(r)}}(m("vendor/katex/css/katex.min.css"),"katex-css"),p(m("vendor/katex/js/katex.min.js"),"katex",function(){if(e.katex)try{e.katex.render(r,t,{throwOnError:!1,displayMode:!!i})}catch(e){}}))}(t,r,i))}),Array.prototype.slice.call(t.querySelectorAll(".rbe-output-mermaid")).forEach(function(t){var r=t.dataset.mermaid||t.textContent||"";"true"===t.dataset.renderedMermaid&&t.dataset.lastMermaid===r||(t.dataset.renderedMermaid="true",t.dataset.lastMermaid=r,function(t,r){t.innerHTML="<pre>"+a(r||"")+"</pre>",r&&r.trim()&&p(m("vendor/mermaid/mermaid.min.js"),"mermaid",function(){if(e.mermaid)try{e.mermaid.initialize({startOnLoad:!1,securityLevel:"strict"});var i=function(){e.mermaid.render("rbe-mermaid-"+Math.random().toString(36).slice(2),r).then(function(e){t.innerHTML=e.svg}).catch(function(){t.innerHTML='<pre class="rbe-output-mermaid-error">'+a(r||"")+"</pre>"})};e.mermaid.parse?Promise.resolve(e.mermaid.parse(r)).then(i).catch(function(){t.innerHTML='<pre class="rbe-output-mermaid-error">'+a(r||"")+"</pre>"}):i()}catch(e){}})}(t,r))})};if("loading"===document.readyState?document.addEventListener("DOMContentLoaded",t,{once:!0}):setTimeout(t,0),document.body){var r=0;new MutationObserver(function(){clearTimeout(r),r=setTimeout(t,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:14px/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;width:fit-content;max-width:100%;max-height:560px;margin:0 auto;overflow:auto;border:1px solid #d7dee8;border-radius:8px;background:#fff;}.rbe-output-mermaid-diagram svg{display:block;width:100%;max-width:100%;height:auto;min-width:0;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 u(e,t){return e=String(e||"").trim(),/^#[0-9a-f]{3}([0-9a-f]{3})?$/i.test(e)?e:t}function p(e,t,r){var i=document.querySelector("script[data-blockwriteai-lib='"+t+"']");if(i)"true"===i.dataset.loaded?r():i.addEventListener("load",r,{once:!0});else{var a=document.createElement("script");a.src=e,a.dataset.blockwriteaiLib=t,a.onload=function(){a.dataset.loaded="true",r()},a.onerror=r,document.head.appendChild(a)}}function m(e){var t="";if("undefined"!=typeof document&&!(t=document.currentScript&&document.currentScript.src||""))for(var r=document.getElementsByTagName?document.getElementsByTagName("script"):[],i=r.length-1;i>=0;i-=1){var a=r[i].src||"";if(/blockwriteai-mermaid(?:\.min)?\.js(?:\?|#|$)/.test(a)){t=a;break}}var n=-1!==t.indexOf("/blockwriteai_editor/static/blockwriteai/plugins/")?"../../../../":"../../";try{return t?new URL(n+e,t).href:e}catch(t){return n+e}}function b(e){return o.test(e||"")}function h(e){return"text"===e||"wordart"===e}function g(e,t,r,i){return e=Number(e),Number.isFinite(e)||(e=i),Math.min(r,Math.max(t,e))}function f(e){var t=e&&e.diagram&&e.diagram.workspace?e.diagram.workspace:e&&e.workspace?e.workspace:{};return{width:g(t.width,640,s,1100),height:g(t.height,360,s,620),zoom:g(t.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 x(e){return e=Number(e),Number.isFinite(e)||(e=1.25),g(e,1,2.5,1.25)}function w(e){return"bullet"===e||"number"===e?e:"none"}function k(e,t){return"bullet"===e?"circle"===t||"square"===t||"none"===t?t:"disc":"number"===e?"lower-alpha"===t||"upper-alpha"===t||"lower-roman"===t||"upper-roman"===t||"none"===t?t:"decimal":"none"}function S(e,t){e=e||{};var r=l.test(e.type)||o.test(e.type)?e.type:"roundedRect",i=b(r),a=e.text||"";a||"wordart"!==r||(a="WordArt"),!a&&/^(plus|minus|multiply|divide|equal|brackets)$/.test(r)&&(a={plus:"+",minus:"-",multiply:"x",divide:"/",equal:"=",brackets:"[ ]"}[r]||"");var n=String(e.fill||"").trim(),s="wordart"===r?"#f59e0b":"text"===r?"transparent":"#eef5ff";return{id:e.id||"diagram-"+t+"-"+Math.random().toString(36).slice(2),type:r,x:g(e.x,-500,4e3,80),y:g(e.y,-500,4e3,80),w:g(e.w,20,2e3,h(r)?180:150),h:g(e.h,20,2e3,h(r)?70:80),x1:g(null==e.x1?e.x:e.x1,-500,4e3,80),y1:g(null==e.y1?e.y:e.y1,-500,4e3,80),x2:g(null==e.x2?Number(e.x||80)+160:e.x2,-500,4e3,240),y2:g(null==e.y2?e.y:e.y2,-500,4e3,80),text:a,fill:i||"transparent"===n?"transparent":u(n,s),stroke:u(e.stroke,i?"#475467":"#111827"),strokeWidth:g(e.strokeWidth,1,16,1),dash:y(e.dash),opacity:g(e.opacity,.1,1,1),fontFamily:e.fontFamily||"Arial",fontSize:g(e.fontSize,8,96,"wordart"===r?36:16),bold:!!e.bold||"wordart"===r,italic:!!e.italic,underline:!!e.underline,textColor:u(e.textColor,"#172033"),highlightColor:"transparent"===String(e.highlightColor||"").trim()?"transparent":u(e.highlightColor,"transparent"),textAlign:"left"===e.textAlign||"right"===e.textAlign||"justify"===e.textAlign?e.textAlign:"center",lineHeight:x(e.lineHeight),spacingBefore:g(e.spacingBefore,0,48,0),spacingAfter:g(e.spacingAfter,0,48,0),indent:g(e.indent,0,8,0),listType:w(e.listType),listStyle:k(w(e.listType),e.listStyle),rotation:g(e.rotation,-360,360,0),group:e.group||"",flipX:!!e.flipX,flipY:!!e.flipY,image:e.image||"",name:e.name||""}}function C(e){var t,r,i=e&&e.diagram&&Array.isArray(e.diagram.elements)?e.diagram.elements:Array.isArray(e&&e.diagram)?e.diagram:null;return!i&&e&&e.code&&(t=e.code,i=(r=String(t||"").match(/([A-Za-z0-9_]+)\[([^\]]+)\]\s*-+>\s*([A-Za-z0-9_]+)\[([^\]]+)\]/))?[{id:"shape-"+r[1],type:"roundedRect",x:120,y:140,w:170,h:76,text:r[2],fill:"#eef5ff",stroke:"#111827",fontSize:16,strokeWidth:1},{id:"shape-"+r[3],type:"roundedRect",x:560,y:140,w:190,h:76,text:r[4],fill:"#ecfdf3",stroke:"#111827",fontSize:16,strokeWidth:1},{id:"line-"+r[1]+"-"+r[3],type:"arrow",x1:290,y1:178,x2:560,y2:178,stroke:"#475467",strokeWidth:1}]:null),(i||[{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(S)}function A(e){return String(e||"").split(",").map(function(e){return e.trim()}).filter(Boolean)}function E(e,t,r,i,a,n){for(var o=[],l=0;l<a;l+=1){var s=(n||-Math.PI/2)+l/a*Math.PI*2;o.push(e+Math.cos(s)*r+","+(t+Math.sin(s)*i))}return o.join(" ")}function T(e){if(!e.text)return"";if("wordart"===e.type){var t="left"===e.textAlign?"start":"right"===e.textAlign?"end":"middle",r="left"===e.textAlign?e.x+12:"right"===e.textAlign?e.x+e.w-12:e.x+e.w/2,i=e.y+e.h/2,n=e.underline?' text-decoration="underline"':"",o=' stroke="'+a(e.stroke)+'" stroke-width="'+Math.max(1,e.strokeWidth)+'" paint-order="stroke fill"';return'<text x="'+r+'" y="'+i+'" text-anchor="'+t+'" dominant-baseline="middle" font-family="'+a(e.fontFamily)+', Arial, sans-serif" font-size="'+a(e.fontSize)+'" font-weight="'+(e.bold?"800":"400")+'" font-style="'+(e.italic?"italic":"normal")+'"'+n+o+' fill="'+a(e.textColor)+'">'+a(e.text||"")+"</text>"}var l={x:e.x,y:e.y,w:e.w,h:e.h};"callout"===e.type&&(l.h=.72*e.h),"roundCallout"===e.type&&(l.h=.7*e.h),"thought"===e.type&&(l.h=.72*e.h);var s=e.textAlign||"center",d="left"===s?"flex-start":"right"===s?"flex-end":"center",c=e.underline?"text-decoration:underline;":"",u="box-sizing:border-box;width:100%;height:100%;display:flex;align-items:center;justify-content:"+d+";overflow:hidden;padding:4px 8px 4px "+(8+10*e.indent)+"px;color:"+a(e.textColor)+";font-family:"+a(e.fontFamily)+",Arial,sans-serif;font-size:"+a(e.fontSize)+"px;font-weight:"+(e.bold?"800":"400")+";font-style:"+(e.italic?"italic":"normal")+";"+c+"text-align:"+a(s)+";line-height:"+a(e.lineHeight)+";white-space:normal;overflow-wrap:anywhere;word-break:break-word;",p="max-width:100%;";return"justify"===s&&(p+="text-align:justify;"),'<foreignObject class="rbe-mermaid-text-layer" x="'+a(l.x)+'" y="'+a(l.y)+'" width="'+a(l.w)+'" height="'+a(l.h)+'"><div xmlns="http://www.w3.org/1999/xhtml" style="'+u+'"><div style="'+p+'">'+function(e){var t=String(e.text||"").split(/\r?\n/),r=e.highlightColor&&"transparent"!==e.highlightColor?"background-color:"+a(e.highlightColor)+";":"",i=r?' style="'+r+'box-decoration-break:clone;-webkit-box-decoration-break:clone;"':"",n=t.map(function(e){return"<span"+i+">"+(e?a(e):"&nbsp;")+"</span>"}),o=a(k(e.listType,e.listStyle));return"bullet"===e.listType?'<ul style="margin:0;list-style-type:'+o+";padding-left:"+(18+18*e.indent)+'px;">'+n.map(function(e){return"<li>"+e+"</li>"}).join("")+"</ul>":"number"===e.listType?'<ol style="margin:0;list-style-type:'+o+";padding-left:"+(22+18*e.indent)+'px;">'+n.map(function(e){return"<li>"+e+"</li>"}).join("")+"</ol>":n.map(function(r,i){var n="margin:0;";return 0===i&&e.spacingBefore&&(n+="padding-top:"+a(e.spacingBefore)+"px;"),i===t.length-1&&e.spacingAfter&&(n+="padding-bottom:"+a(e.spacingAfter)+"px;"),'<div style="'+n+'">'+r+"</div>"}).join("")}(e)+"</div></div></foreignObject>"}function L(e){return b(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 M(e,t,r,i){e=(e||[]).map(S),r=r||{width:1100,height:620,zoom:1};var n=A(t),o=e.map(function(e){var t=-1!==n.indexOf(e.id),r=t?function(e,t){var r=L(e),i='<rect class="rbe-mermaid-selected-stroke" x="'+r.x+'" y="'+r.y+'" width="'+r.w+'" height="'+r.h+'" rx="6"></rect>',a=' style="--rbe-handle-color:#2563eb"';if(!t||b(e.type))return t&&b(e.type)&&(i+='<circle class="rbe-mermaid-handle" data-handle="start" cx="'+e.x1+'" cy="'+e.y1+'" r="5"'+a+'></circle><circle class="rbe-mermaid-handle" data-handle="end" cx="'+e.x2+'" cy="'+e.y2+'" r="5"'+a+"></circle>"),i;[["nw",r.x,r.y],["ne",r.x+r.w,r.y],["se",r.x+r.w,r.y+r.h],["sw",r.x,r.y+r.h]].forEach(function(e){i+='<circle class="rbe-mermaid-handle" data-handle="'+e[0]+'" cx="'+e[1]+'" cy="'+e[2]+'" r="5"'+a+"></circle>"}),[["n",r.x+r.w/2,r.y,24,6],["e",r.x+r.w,r.y+r.h/2,6,24],["s",r.x+r.w/2,r.y+r.h,24,6],["w",r.x,r.y+r.h/2,6,24]].forEach(function(e){i+='<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"'+a+"></rect>"});var n=r.x+r.w/2,o=r.y-28;return i+='<g class="rbe-mermaid-rotate" data-handle="rotate"><circle cx="'+n+'" cy="'+o+'" r="9"></circle><path d="M'+(n+2)+" "+(o-3)+" A4 4 0 1 0 "+(n+4)+" "+(o+2)+'" fill="none" stroke="#fff" stroke-width="1.6" stroke-linecap="round"></path><path d="M'+(n+3)+" "+(o-6)+" L"+(n+7)+" "+(o-3)+" L"+(n+3)+" "+o+' Z" fill="#fff"></path></g>'}(e,1===n.length):"",i="";if(!b(e.type)&&(e.rotation||e.flipX||e.flipY)){var o=e.x+e.w/2,l=e.y+e.h/2;i=' transform="'+(e.rotation?"rotate("+a(e.rotation)+" "+o+" "+l+") ":"")+(e.flipX||e.flipY?"translate("+o+" "+l+") scale("+(e.flipX?-1:1)+" "+(e.flipY?-1:1)+") translate("+-o+" "+-l+")":"")+'"'}if(b(e.type)){var s="leftArrow"===e.type||"biArrow"===e.type?' marker-start="url(#rbe-arrow-head-start)"':"",d=/^(arrow|rightArrow|upArrow|downArrow|biArrow|elbow|curved)$/.test(e.type)?' marker-end="url(#rbe-arrow-head)"':"",c=v(e.dash),u=t&&(s||d)?'<circle class="rbe-mermaid-arrow-origin" cx="'+a(e.x1)+'" cy="'+a(e.y1)+'" r="4"></circle>':"";return'<g data-el-id="'+a(e.id)+'">'+r+u+'<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 t=(e.x1+e.x2)/2;return"M"+e.x1+" "+e.y1+" C"+t+" "+e.y1+" "+t+" "+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 r="M"+e.x1+" "+e.y1,i=1;i<=8;i+=1){var a=i/8;r+=" L"+(e.x1+(e.x2-e.x1)*a)+" "+(e.y1+(e.y2-e.y1)*a+(i%2?8:-8))}return r}return"M"+e.x1+" "+e.y1+" L"+e.x2+" "+e.y2}(e)+'" fill="none" stroke="'+a(e.stroke)+'" stroke-width="'+a(e.strokeWidth)+'" stroke-linecap="round" stroke-linejoin="round"'+(c?' stroke-dasharray="'+c+'"':"")+' opacity="'+a(e.opacity)+'"'+s+d+"></path></g>"}return'<g data-el-id="'+a(e.id)+'"'+i+">"+r+function(e){var t=e.x,r=e.y,i=e.w,n=e.h,o=t+i/2,l=r+n/2,s=a(e.fill),d=a(e.stroke),c=a(e.strokeWidth),u=v(e.dash),p=' fill="'+s+'" stroke="'+d+'" stroke-width="'+c+'"'+(u?' stroke-dasharray="'+u+'"':"")+' opacity="'+a(e.opacity)+'"';return"circle"===e.type?'<circle cx="'+o+'" cy="'+l+'" r="'+Math.min(i,n)/2+'"'+p+"></circle>":"oval"===e.type?'<ellipse cx="'+o+'" cy="'+l+'" rx="'+i/2+'" ry="'+n/2+'"'+p+"></ellipse>":"triangle"===e.type?'<polygon points="'+o+","+r+" "+(t+i)+","+(r+n)+" "+t+","+(r+n)+'"'+p+"></polygon>":"diamond"===e.type?'<polygon points="'+o+","+r+" "+(t+i)+","+l+" "+o+","+(r+n)+" "+t+","+l+'"'+p+"></polygon>":"pentagon"===e.type?'<polygon points="'+E(o,l,i/2,n/2,5)+'"'+p+"></polygon>":"hexagon"===e.type?'<polygon points="'+E(o,l,i/2,n/2,6,0)+'"'+p+"></polygon>":"octagon"===e.type?'<polygon points="'+E(o,l,i/2,n/2,8,Math.PI/8)+'"'+p+"></polygon>":"parallelogram"===e.type?'<polygon points="'+(t+.18*i)+","+r+" "+(t+i)+","+r+" "+(t+.82*i)+","+(r+n)+" "+t+","+(r+n)+'"'+p+"></polygon>":"trapezoid"===e.type?'<polygon points="'+(t+.18*i)+","+r+" "+(t+.82*i)+","+r+" "+(t+i)+","+(r+n)+" "+t+","+(r+n)+'"'+p+"></polygon>":"heart"===e.type?'<path d="M'+o+" "+(r+.86*n)+" C"+(t-.1*i)+" "+(r+.35*n)+" "+(t+.12*i)+" "+r+" "+o+" "+(r+.28*n)+" C"+(t+.88*i)+" "+r+" "+(t+1.1*i)+" "+(r+.35*n)+" "+o+" "+(r+.86*n)+' Z"'+p+"></path>":"cloud"===e.type?'<path d="M'+(t+.22*i)+" "+(r+.72*n)+" C"+(t+.02*i)+" "+(r+.68*n)+" "+(t+.04*i)+" "+(r+.37*n)+" "+(t+.28*i)+" "+(r+.4*n)+" C"+(t+.34*i)+" "+(r+.12*n)+" "+(t+.68*i)+" "+(r+.1*n)+" "+(t+.74*i)+" "+(r+.38*n)+" C"+(t+1.02*i)+" "+(r+.36*n)+" "+(t+1.02*i)+" "+(r+.72*n)+" "+(t+.78*i)+" "+(r+.72*n)+' Z"'+p+"></path>":"cylinder"===e.type?'<path d="M'+t+" "+(r+.18*n)+" C"+t+" "+r+" "+(t+i)+" "+r+" "+(t+i)+" "+(r+.18*n)+" V"+(r+.82*n)+" C"+(t+i)+" "+(r+n)+" "+t+" "+(r+n)+" "+t+" "+(r+.82*n)+' Z"'+p+'></path><ellipse cx="'+o+'" cy="'+(r+.18*n)+'" rx="'+i/2+'" ry="'+.18*n+'"'+p+"></ellipse>":"cube"===e.type?'<path d="M'+t+" "+(r+.2*n)+" L"+(t+.2*i)+" "+r+" H"+(t+i)+" V"+(r+.8*n)+" L"+(t+.8*i)+" "+(r+n)+" H"+t+' Z"'+p+'></path><path d="M'+(t+.2*i)+" "+r+" V"+(r+.8*n)+" H"+(t+i)+'" stroke="'+d+'" stroke-width="'+c+'" fill="none" opacity="'+a(e.opacity)+'"></path>':"callout"===e.type?'<polygon points="'+t+","+r+" "+(t+i)+","+r+" "+(t+i)+","+(r+.75*n)+" "+(t+.62*i)+","+(r+.75*n)+" "+(t+.5*i)+","+(r+n)+" "+(t+.38*i)+","+(r+.75*n)+" "+t+","+(r+.75*n)+'"'+p+"></polygon>":"roundCallout"===e.type?'<rect x="'+t+'" y="'+r+'" width="'+i+'" height="'+.78*n+'" rx="18"'+p+'></rect><path d="M'+(t+.44*i)+" "+(r+.78*n)+" L"+(t+.5*i)+" "+(r+n)+" L"+(t+.58*i)+" "+(r+.78*n)+' Z"'+p+"></path>":"thought"===e.type?'<ellipse cx="'+o+'" cy="'+(r+.42*n)+'" rx="'+i/2+'" ry="'+.36*n+'"'+p+'></ellipse><circle cx="'+(t+.62*i)+'" cy="'+(r+.82*n)+'" r="'+.08*Math.min(i,n)+'"'+p+'></circle><circle cx="'+(t+.72*i)+'" cy="'+(r+.96*n)+'" r="'+.05*Math.min(i,n)+'"'+p+"></circle>":"text"===e.type?'<rect x="'+t+'" y="'+r+'" width="'+i+'" height="'+n+'" rx="4" fill="transparent" stroke="transparent"></rect>':"wordart"===e.type?'<rect x="'+t+'" y="'+r+'" width="'+i+'" height="'+n+'" fill="transparent" stroke="transparent"></rect>':"image"===e.type?'<rect x="'+t+'" y="'+r+'" width="'+i+'" height="'+n+'" rx="8" fill="#f8fafc" stroke="#d7dee8"></rect>'+(e.image?'<image href="'+a(e.image)+'" xlink:href="'+a(e.image)+'" x="'+t+'" y="'+r+'" width="'+i+'" height="'+n+'" preserveAspectRatio="xMidYMid slice"></image>':T(e)):'<rect x="'+t+'" y="'+r+'" width="'+i+'" height="'+n+'" rx="'+("roundedRect"===e.type?14:6)+'"'+p+"></rect>"}(e)+("image"!==e.type?T(e):"")+"</g>"}).join("");return i&&(o+='<rect class="rbe-mermaid-marquee" x="'+i.x+'" y="'+i.y+'" width="'+i.w+'" height="'+i.h+'"></rect>'),'<svg class="rbe-mermaid-canvas" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+r.width*r.zoom+'" height="'+r.height*r.zoom+'" viewBox="0 0 '+r.width+" "+r.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>'+o+"</svg>"}function q(e){var t=e.querySelector(".rbe-mermaid-diagram-json"),r=[];try{r=JSON.parse(t.value||"[]")}catch(e){r=[{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 i=I(e),a=null;try{a=e.dataset.marquee?JSON.parse(e.dataset.marquee):null}catch(e){}e.querySelector(".rbe-mermaid-stage").innerHTML=M(r,e.dataset.selectedIds||"",i,a)}function I(e){return{width:g((e.querySelector(".rbe-mermaid-workspace-w")||{}).value,640,s,1100),height:g((e.querySelector(".rbe-mermaid-workspace-h")||{}).value,360,s,620),zoom:g((e.querySelector(".rbe-mermaid-zoom")||{}).value,.35,2.5,1)}}function O(e){return'<div class="rbe-mermaid-choice-grid">'+e.map(function(e){return t=e[0],r=e[1],i=e[2],r=/^[a-z0-9-]+$/i.test(String(r||""))?r:{Rectangle:"square","Rounded rectangle":"square",Circle:"circle",Oval:"circle",Triangle:"play",Diamond:"diamond",Pentagon:"draw-polygon",Hexagon:"draw-polygon",Parallelogram:"draw-polygon",Trapezoid:"draw-polygon",Octagon:"draw-polygon",Heart:"heart",Cloud:"cloud",Cylinder:"database",Cube:"cube","Right arrow":"arrow-right-long","Left arrow":"arrow-left-long","Up arrow":"arrow-up-long","Down arrow":"arrow-down-long","Bidirectional arrow":"arrows-left-right",Callout:"comment","Rounded callout":"comment-dots","Thought bubble":"comments",Plus:"plus",Minus:"minus",Multiply:"xmark",Divide:"divide",Equal:"equals",Brackets:"code"}[i]||"square",'<button type="button" class="rbe-mermaid-choice" data-tool="'+a(t)+'" title="'+a(i)+'">'+n(r,i)+"</button>";var t,r,i}).join("")+"</div>"}function B(e,t,r){return'<div class="rbe-mermaid-menu-row"><span class="rbe-mermaid-menu-row-icon">'+n(t,e)+"</span><span>"+a(e)+'</span><div class="rbe-mermaid-submenu">'+r+"</div></div>"}function _(e,t,r){return'<button type="button" class="rbe-mermaid-line-choice" data-tool="'+a(e)+'"><span class="rbe-mermaid-menu-row-icon">'+n(t,r)+"</span><span>"+a(r)+"</span></button>"}function z(e){var t=e.querySelector(".rbe-mermaid-card-preview");if(t){var r=[];try{r=JSON.parse((e.querySelector(".rbe-mermaid-diagram-json")||{}).value||"[]").map(S)}catch(e){}r.length?t.innerHTML='<div class="rbe-output-mermaid-diagram">'+M(r,"",I(e),null)+"</div>":t.innerHTML='<span class="rbe-mermaid-card-empty">Open the designer to draw a diagram.</span>'}}function P(e,t){var r=document.querySelector(".rbe-mermaid-modal");r&&(r.remove(),document.body.classList.remove("rbe-mermaid-modal-open"));var i,a,c,p,m=document.createElement("div");m.className="rbe-mermaid-modal",m.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><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>"+(i=O([["rect","square","Rectangle"],["roundedRect","square","Rounded rectangle"],["circle","circle","Circle"],["oval","circle","Oval"],["triangle","play","Triangle"],["diamond","diamond","Diamond"],["pentagon","draw-polygon","Pentagon"],["hexagon","draw-polygon","Hexagon"],["parallelogram","draw-polygon","Parallelogram"],["trapezoid","draw-polygon","Trapezoid"],["octagon","draw-polygon","Octagon"],["heart","heart","Heart"],["cloud","cloud","Cloud"],["cylinder","database","Cylinder"],["cube","cube","Cube"]]),a=O([["arrow","arrow-right-long","Right arrow"],["leftArrow","arrow-left-long","Left arrow"],["upArrow","arrow-up-long","Up arrow"],["downArrow","arrow-down-long","Down arrow"],["biArrow","arrows-left-right","Bidirectional arrow"]]),c=O([["callout","comment","Callout"],["roundCallout","comment-dots","Rounded callout"],["thought","comments","Thought bubble"]]),p=O([["plus","plus","Plus"],["minus","minus","Minus"],["multiply","xmark","Multiply"],["divide","divide","Divide"],["equal","equals","Equal"],["brackets","code","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">'+B("Shapes","square",i)+B("Arrows","arrow-right",a)+B("Callouts","comment",c)+B("Equation","plus",p)+'</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">'+_("line","minus","Line")+_("arrow","arrow-right-long","Arrow")+_("elbow","share-nodes","Elbow Connector")+_("curved","code-branch","Curved Connector")+_("curve","bezier-curve","Curve")+_("polyline","draw-polygon","Polyline")+_("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><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="",t="",r=1;r<=10;r+=1)e+='<span style="left:'+100*r+'px">'+r+"</span>";for(var i=1;i<=7;i+=1)t+='<span style="top:'+100*i+'px">'+i+"</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">'+t+'</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(m);var h=m.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 r=t.querySelector(e),i=h.querySelector(e);r&&i&&(i.value=r.value||"")}),q(h),function(e,t){var r=null,i={id:"",time:0};function a(){try{return JSON.parse(t.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 n(e,r){var i=I(t),a=r?r.x:0,n=r?r.y:0;(e||[]).forEach(function(e){var t=L(e);a=Math.max(a,t.x+t.w),n=Math.max(n,t.y+t.h)});var o=Math.min(s,Math.max(1100,Math.ceil((a+260)/d)*d)),l=Math.min(s,Math.max(620,Math.ceil((n+260)/d)*d));o!==i.width&&(t.querySelector(".rbe-mermaid-workspace-w").value=o),l!==i.height&&(t.querySelector(".rbe-mermaid-workspace-h").value=l)}function c(e,r,i){var a=e.map(S);n(a,i||null),t.querySelector(".rbe-mermaid-diagram-json").value=JSON.stringify(a),r||(q(t),P())}function p(e){try{return JSON.parse(t.dataset[e]||"[]")}catch(e){return[]}}function m(e,r){t.dataset[e]=JSON.stringify(r.slice(-60))}function h(){return JSON.stringify({elements:a(),workspace:I(t)})}function f(e){var r=JSON.parse(e);c(r.elements||[]),r.workspace&&(t.querySelector(".rbe-mermaid-workspace-w").value=r.workspace.width||1100,t.querySelector(".rbe-mermaid-workspace-h").value=r.workspace.height||620,t.querySelector(".rbe-mermaid-zoom").value=r.workspace.zoom||1),q(t),P()}function v(){var e=p("undoStack");e.push(h()),m("undoStack",e),m("redoStack",[]),w()}function w(){var e=t.querySelector("[data-diagram-action='undo']"),r=t.querySelector("[data-diagram-action='redo']");e&&(e.disabled=!p("undoStack").length),r&&(r.disabled=!p("redoStack").length)}function C(){var t=p("undoStack");if(t.length){var r=p("redoStack");r.push(h()),f(t.pop()),m("undoStack",t),m("redoStack",r),w(),e.changed(!0)}}function E(){var t=p("redoStack");if(t.length){var r=p("undoStack");r.push(h()),f(t.pop()),m("undoStack",r),m("redoStack",t),w(),e.changed(!0)}}function T(){return A(t.dataset.selectedIds||"")}function O(e){t.dataset.selectedIds=(e||[]).filter(Boolean).join(","),q(t),P()}function B(){var e=T();return a().filter(function(t){return-1!==e.indexOf(t.id)})}function _(e,r){t.dataset.tool=e,Array.prototype.slice.call(t.querySelectorAll(".rbe-mermaid-tool[data-tool]")).forEach(function(t){t.classList.toggle("is-active",t.dataset.tool===e)}),Array.prototype.slice.call(t.querySelectorAll(".rbe-mermaid-menu-select")).forEach(function(e){e!==r&&(e.value="")})}function z(e){var r=t.querySelector(".rbe-mermaid-canvas").getBoundingClientRect(),i=I(t),a={x:(e.clientX-r.left)/r.width*i.width,y:(e.clientY-r.top)/r.height*i.height};return e.altKey?a:{x:10*Math.round(a.x/10),y:10*Math.round(a.y/10)}}function P(){var e=B(),r=t.querySelector(".rbe-mermaid-stylebar");if(r&&t.querySelector(".rbe-mermaid-option-text")&&(r.hidden=!e.length,e.length)){var i=e[0],a=e.every(function(e){return b(e.type)}),n=e.some(function(e){return!b(e.type)&&"image"!==e.type});r.classList.toggle("is-line-selection",a),r.classList.toggle("is-text-capable",n),t.querySelector(".rbe-mermaid-option-text").value=1===e.length?i.text||"":e.length+" objects selected",t.querySelector(".rbe-mermaid-option-text").disabled=1!==e.length,t.querySelector(".rbe-mermaid-option-font").value=i.fontFamily||"Arial",t.querySelector(".rbe-mermaid-option-size").value=i.fontSize||16;var o="transparent"===i.fill?"#ffffff":u(i.fill,"#eef5ff"),l=u(i.stroke,"#111827"),s=u(i.textColor,"#172033"),d="transparent"===i.highlightColor?"#fff3b0":u(i.highlightColor,"#fff3b0");t.querySelector(".rbe-mermaid-option-fill").value=o,t.querySelector(".rbe-mermaid-option-stroke").value=l,t.querySelector(".rbe-mermaid-option-text-color").value=s,t.querySelector(".rbe-mermaid-option-highlight").value=d,t.querySelector(".rbe-mermaid-option-align").value=i.textAlign||"center",t.querySelector(".rbe-mermaid-option-line-height").value=String(x(i.lineHeight)),t.querySelector(".rbe-mermaid-option-bullet").value="bullet"===i.listType?k("bullet",i.listStyle):"none",t.querySelector(".rbe-mermaid-option-number").value="number"===i.listType?k("number",i.listStyle):"none",r.style.setProperty("--rbe-mermaid-fill",o),r.style.setProperty("--rbe-mermaid-stroke",l),r.style.setProperty("--rbe-mermaid-text",s),r.style.setProperty("--rbe-mermaid-highlight","transparent"===i.highlightColor?"transparent":d),t.querySelector(".rbe-mermaid-option-weight").value=i.strokeWidth||1,t.querySelector(".rbe-mermaid-option-dash").value=y(i.dash),t.querySelector(".rbe-mermaid-option-opacity").value=i.opacity||1,Array.prototype.slice.call(t.querySelectorAll("[data-format-toggle]")).forEach(function(e){var t=e.dataset.formatToggle;e.classList.toggle("is-active",!!i[t])}),[[".rbe-mermaid-bullet-control","bullet"===i.listType],[".rbe-mermaid-number-control","number"===i.listType],[".rbe-mermaid-spacing-before",!!i.spacingBefore],[".rbe-mermaid-spacing-after",!!i.spacingAfter]].forEach(function(e){var r=t.querySelector(e[0]);r&&r.classList.toggle("is-active",!!e[1])})}}function N(t,r){var i=T();i.length&&(r||v(),c(a().map(function(e){return-1!==i.indexOf(e.id)&&t(e),e})),e.changed(!0))}function D(e){if(!e.target.closest(".rbe-mermaid-stylebar"))return!1;var r=e.target.classList.contains("rbe-mermaid-option-bullet"),i=e.target.classList.contains("rbe-mermaid-option-number");return N(function(a){if(e.target.classList.contains("rbe-mermaid-option-text")&&(a.text=e.target.value),a.fontFamily=t.querySelector(".rbe-mermaid-option-font").value||"Arial",a.fontSize=Number(t.querySelector(".rbe-mermaid-option-size").value||16),b(a.type)||(a.fill=t.querySelector(".rbe-mermaid-option-fill").value),a.stroke=t.querySelector(".rbe-mermaid-option-stroke").value,a.textColor=t.querySelector(".rbe-mermaid-option-text-color").value,a.highlightColor=e.target.classList.contains("rbe-mermaid-option-highlight")?t.querySelector(".rbe-mermaid-option-highlight").value:a.highlightColor,a.textAlign=t.querySelector(".rbe-mermaid-option-align").value||"center",a.lineHeight=x(t.querySelector(".rbe-mermaid-option-line-height").value),r){var n=t.querySelector(".rbe-mermaid-option-bullet").value||"none";a.listType="none"===n?"none":"bullet",a.listStyle="none"===n?"none":n,t.querySelector(".rbe-mermaid-option-number").value="none"}if(i){var o=t.querySelector(".rbe-mermaid-option-number").value||"none";a.listType="none"===o?"none":"number",a.listStyle="none"===o?"none":o,t.querySelector(".rbe-mermaid-option-bullet").value="none"}a.strokeWidth=Number(t.querySelector(".rbe-mermaid-option-weight").value||1),a.dash=t.querySelector(".rbe-mermaid-option-dash").value,a.opacity=Number(t.querySelector(".rbe-mermaid-option-opacity").value||1)},!0),!0}function j(e,t,r){var i=b(e),a="";return"wordart"===e?a="WordArt":/^(plus|minus|multiply|divide|equal|brackets)$/.test(e)&&(a={plus:"+",minus:"-",multiply:"x",divide:"/",equal:"=",brackets:"[ ]"}[e]||""),S({id:"diagram-"+Date.now().toString(36)+"-"+Math.random().toString(36).slice(2,6),type:e,x:t.x,y:t.y,w:"image"===e?220:"wordart"===e?240:"text"===e?190:10,h:"image"===e?150:"wordart"===e?78:"text"===e?70:10,x1:t.x,y1:t.y,x2:t.x,y2:t.y,text:a,image:r&&r.url?r.url:"",name:r&&r.name?r.name:"",fill:i||"text"===e?"transparent":"wordart"===e?"#f59e0b":"#eef5ff",stroke:i?"#475467":"#111827",strokeWidth:1,fontSize:"wordart"===e?36:16})}function R(e){return e&&!b(e.type)&&"image"!==e.type}function H(){Array.prototype.slice.call(t.querySelectorAll(".rbe-mermaid-hidden-text")).forEach(function(e){e.classList.remove("rbe-mermaid-hidden-text")})}function F(e){if(e){e.focus();try{e.setSelectionRange(e.value.length,e.value.length,"none")}catch(e){}}}function W(r){var i=t.querySelector(".rbe-mermaid-text-editor");if(i){var n=i.dataset.editId||"",o=i.value||i.textContent||"";H(),i.remove(),r&&n&&(v(),c(a().map(function(e){return e.id===n&&(e.text=o.trim()),e})),O([n]),e.changed(!0))}}function U(e,r){var i=a().filter(function(t){return t.id===e})[0];if(R(i)){W(!0);var n=t.querySelector(".rbe-mermaid-stage"),o=I(t),l=t.querySelector(".rbe-mermaid-canvas"),s=l?l.getBoundingClientRect():null,d=s&&s.width?s.width/o.width:o.zoom,c=s&&s.height?s.height/o.height:o.zoom,u=Math.min(d,c),p=document.createElement("textarea"),m=null!=r?r:i.text||"";p.className="rbe-mermaid-text-editor",p.dataset.editId=e,p.spellcheck=!1,p.wrap="soft",p.setAttribute("role","textbox"),p.setAttribute("aria-label","Shape text"),"text"===i.type&&p.setAttribute("placeholder","Text");var b={x:i.x,y:i.y,w:i.w,h:i.h};"callout"===i.type&&(b.h=.72*i.h),"roundCallout"===i.type&&(b.h=.7*i.h),"thought"===i.type&&(b.h=.72*i.h);var h=b.x*d,g=b.y*c,f=Math.max(42,b.w*d),y=Math.max(32,b.h*c);p.style.left=h+"px",p.style.top=g+"px",p.style.width=f+"px",p.style.height=y+"px",p.style.fontFamily=i.fontFamily||"Arial";var v=Math.max(18,(i.fontSize||16)*u),w=Math.round(1.25*v);p.style.fontSize=v+"px",w=Math.round(v*x(i.lineHeight)),p.style.lineHeight=w+"px",p.style.padding=Math.max(4,Math.floor((y-w)/2))+"px 8px 4px",p.style.fontWeight=i.bold?"800":"700",p.style.fontStyle=i.italic?"italic":"normal",p.style.color=i.textColor||"#172033",p.style.textAlign=i.textAlign||"center",p.style.backgroundColor=i.highlightColor&&"transparent"!==i.highlightColor?i.highlightColor:"transparent",p.value=m,function(e){H();var r=Array.prototype.slice.call(t.querySelectorAll(".rbe-mermaid-canvas [data-el-id]")).filter(function(t){return t.getAttribute("data-el-id")===e})[0];r&&Array.prototype.slice.call(r.querySelectorAll("text,.rbe-mermaid-text-layer")).forEach(function(e){e.classList.add("rbe-mermaid-hidden-text")})}(e),n.appendChild(p),function(e){e&&(e.dataset.forceCaretEnd="true",F(e),window.requestAnimationFrame&&window.requestAnimationFrame(function(){F(e)}),[0,40,120].forEach(function(t){setTimeout(function(){F(e)},t)}))}(p),setTimeout(function(){p.dataset.allowPointerCaret="true"},250),p.addEventListener("pointerdown",function(){"true"===p.dataset.allowPointerCaret&&(p.dataset.forceCaretEnd="")}),p.addEventListener("keydown",function(e){if(e.stopPropagation(),e.ctrlKey||e.metaKey||e.altKey)p.dataset.forceCaretEnd="";else{if("true"===p.dataset.forceCaretEnd&&(1===e.key.length||"Backspace"===e.key||"Delete"===e.key)&&(F(p),p.dataset.forceCaretEnd="",1===e.key.length&&/^[A-Za-z0-9]$/.test(e.key)&&p.value&&!/\s$/.test(p.value)))return e.preventDefault(),void p.setRangeText(" "+e.key,p.value.length,p.value.length,"end");"Enter"!==e.key||e.shiftKey||(e.preventDefault(),W(!0)),"Escape"===e.key&&(e.preventDefault(),W(!1))}}),p.addEventListener("blur",function(){W(!0)},{once:!0})}}function $(r){var i=a(),n=T();if("image"!==r){if(n.length||/^(paste|downloadSvg|downloadPng|downloadJpeg|downloadPdf|fit|zoomIn|zoomOut)$/.test(r)){if("undo"===r)return C();if("redo"===r)return E();if("copy"===r||"cut"===r)return t.dataset.clipboard=JSON.stringify(B()),void("cut"===r&&(v(),c(i.filter(function(e){return-1===n.indexOf(e.id)})),O([]),e.changed(!0)));if("paste"===r){var o=[];try{o=JSON.parse(t.dataset.clipboard||"[]")}catch(e){}if(!o.length)return;v();var l=o.map(function(e){return(e=S(e)).id="diagram-"+Date.now().toString(36)+"-"+Math.random().toString(36).slice(2,6),b(e.type)?(e.x1+=30,e.x2+=30,e.y1+=30,e.y2+=30):(e.x+=30,e.y+=30),e});return c(i.concat(l)),O(l.map(function(e){return e.id})),void e.changed(!0)}if("duplicate"===r)return t.dataset.clipboard=JSON.stringify(B()),$("paste");if("delete"===r)return v(),c(i.filter(function(e){return-1===n.indexOf(e.id)})),O([]),void e.changed(!0);if(/^download/.test(r))return function(e,t){var r=M(a(),"",I(e),null),i="image/svg+xml";if("downloadSvg"!==t)if("downloadPdf"!==t){var n=new Image,o="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(r);n.onload=function(){var r=I(e),a=document.createElement("canvas");a.width=r.width,a.height=r.height;var o=a.getContext("2d");o.fillStyle="#ffffff",o.fillRect(0,0,a.width,a.height),o.drawImage(n,0,0),i="downloadJpeg"===t?"image/jpeg":"image/png",K("blockwriteai-diagram."+("downloadJpeg"===t?"jpg":"png"),a.toDataURL(i,.92))},n.src=o}else{var l=window.open("","_blank");l&&(l.document.write("<!doctype html><title>BlockWriteAI Diagram</title><style>body{margin:24px;font-family:Arial,sans-serif}svg{max-width:100%;height:auto}</style>"+r+"<script>setTimeout(function(){window.print();},250);<\/script>"),l.document.close())}else K("blockwriteai-diagram.svg","data:image/svg+xml;charset=utf-8,"+encodeURIComponent(r))}(t,r);if("zoomIn"===r||"zoomOut"===r||"fit"===r){var s=t.querySelector(".rbe-mermaid-zoom");return s.value="fit"===r?1:g(Number(s.value||1)+("zoomIn"===r?.1:-.1),.35,2.5,1),q(t),void e.changed(!0)}if(v(),"bringFront"===r)i=i.filter(function(e){return-1===n.indexOf(e.id)}).concat(i.filter(function(e){return-1!==n.indexOf(e.id)}));else if("sendBack"===r)i=i.filter(function(e){return-1!==n.indexOf(e.id)}).concat(i.filter(function(e){return-1===n.indexOf(e.id)}));else if("bringForward"===r||"sendBackward"===r){var d="bringForward"===r?1:-1;n.forEach(function(e){var t=i.findIndex(function(t){return t.id===e}),r=t+d;if(!(t<0||r<0||r>=i.length)){var a=i[t];i.splice(t,1),i.splice(r,0,a)}})}else{var u=function(){var e=B();if(!e.length)return null;var t=e.map(L),r=Math.min.apply(null,t.map(function(e){return e.x})),i=Math.min.apply(null,t.map(function(e){return e.y}));return{x:r,y:i,w:Math.max.apply(null,t.map(function(e){return e.x+e.w}))-r,h:Math.max.apply(null,t.map(function(e){return e.y+e.h}))-i}}();if("group"===r){var p="group-"+Date.now().toString(36);i.forEach(function(e){-1!==n.indexOf(e.id)&&(e.group=p)})}if("ungroup"===r&&i.forEach(function(e){-1!==n.indexOf(e.id)&&(e.group="")}),"distributeH"===r&&n.length>2){var m=i.filter(function(e){return-1!==n.indexOf(e.id)&&!b(e.type)}).sort(function(e,t){return e.x-t.x}),h=m[0].x,f=(m[m.length-1].x-h)/(m.length-1);m.forEach(function(e,t){e.x=h+f*t})}if("distributeV"===r&&n.length>2){var y=i.filter(function(e){return-1!==n.indexOf(e.id)&&!b(e.type)}).sort(function(e,t){return e.y-t.y}),x=y[0].y,w=(y[y.length-1].y-x)/(y.length-1);y.forEach(function(e,t){e.y=x+w*t})}i.forEach(function(e){-1!==n.indexOf(e.id)&&("rotateClockwise"===r&&(e.rotation=(e.rotation||0)+15),"rotateCounter"===r&&(e.rotation=(e.rotation||0)-15),"flipH"!==r||b(e.type)||(e.flipX=!e.flipX),"flipV"!==r||b(e.type)||(e.flipY=!e.flipY),u&&!b(e.type)&&("alignLeft"===r&&(e.x=u.x),"alignCenter"===r&&(e.x=u.x+u.w/2-e.w/2),"alignRight"===r&&(e.x=u.x+u.w-e.w),"alignTop"===r&&(e.y=u.y),"alignMiddle"===r&&(e.y=u.y+u.h/2-e.h/2),"alignBottom"===r&&(e.y=u.y+u.h-e.h)))})}c(i),e.changed(!0)}}else t.querySelector(".rbe-mermaid-image-input").click()}function K(e,t){var r=document.createElement("a");r.href=t,r.download=e,document.body.appendChild(r),r.click(),r.remove()}function X(e){return new Promise(function(t,r){var i=new FileReader;i.onload=function(){t({url:i.result,name:e.name})},i.onerror=function(){r(i.error||new Error("Image read failed"))},i.readAsDataURL(e)})}t.addEventListener("click",function(r){var i=r.target.closest(".rbe-mermaid-choice[data-tool],.rbe-mermaid-line-choice[data-tool]");if(i)return r.preventDefault(),void _(i.dataset.tool||"select");var a=r.target.closest(".rbe-mermaid-tool[data-tool]");if(a)return r.preventDefault(),void _(a.dataset.tool||"select");var n=r.target.closest("[data-text-action]");if(n){r.preventDefault();var o=n.dataset.textAction||"";return N(function(e){b(e.type)||"image"===e.type||("indent"===o&&(e.indent=g(Number(e.indent||0)+1,0,8,0)),"outdent"===o&&(e.indent=g(Number(e.indent||0)-1,0,8,0)),"spacing-before"===o&&(e.spacingBefore=e.spacingBefore?0:10),"spacing-after"===o&&(e.spacingAfter=e.spacingAfter?0:10),"reset-highlight"===o&&(e.highlightColor="transparent"))}),void P()}var l=r.target.closest(".rbe-mermaid-align");if(l)return r.preventDefault(),t.querySelector(".rbe-mermaid-alignment").value=l.dataset.align||"center",Array.prototype.slice.call(t.querySelectorAll(".rbe-mermaid-align")).forEach(function(e){e.classList.toggle("is-active",e===l)}),void e.changed(!0);var s=r.target.closest("[data-style-action]");if(s){r.preventDefault();var d=t.querySelector(".rbe-mermaid-option-size"),c=Number(d.value||16)+("font-size-up"===s.dataset.styleAction?2:-2);return d.value=g(c,8,96,16),D({target:d}),void P()}var u=r.target.closest("[data-diagram-action]");u&&(r.preventDefault(),$(u.dataset.diagramAction))}),t.addEventListener("change",function(r){if(!D(r)){var i=r.target.closest(".rbe-mermaid-menu-select");if(i&&i.value)_(i.value,i);else{var a=r.target.closest(".rbe-mermaid-action-select");if(a&&a.value)return $(a.value),void(a.value="");r.target.closest(".rbe-mermaid-workspace")&&(v(),q(t),e.changed(!0))}}}),t.addEventListener("input",function(e){D(e)}),t.addEventListener("click",function(e){var t=e.target.closest("[data-format-toggle]");if(t){e.preventDefault();var r=t.dataset.formatToggle;N(function(e){e[r]=!e[r]})}}),t.addEventListener("dblclick",function(e){var t=e.target.closest("[data-el-id]");if(t){var r=a().filter(function(e){return e.id===t.dataset.elId})[0];R(r)&&(e.preventDefault(),O([r.id]),U(r.id))}}),t.addEventListener("pointerdown",function(e){var n=e.target.closest(".rbe-mermaid-canvas");if(n&&(!t.querySelector(".rbe-mermaid-text-editor")||e.target.closest(".rbe-mermaid-text-editor")||(W(!0),n=t.querySelector(".rbe-mermaid-canvas")))){t.focus(),e.preventDefault();var s=z(e),d=e.target.closest("[data-handle]"),u=e.target.closest("[data-el-id]"),p=t.dataset.tool||"select";if(u&&"select"===p&&!d){var m=u.dataset.elId,b=Date.now(),h=i.id===m&&b-i.time<430;if(i={id:m,time:b},Number(e.detail||0)>=2||h){var g=a().filter(function(e){return e.id===m})[0];if(R(g))return r=null,O([g.id]),void U(g.id)}}else u||(i={id:"",time:0});if(d&&1===T().length)return v(),r={mode:"rotate"===d.dataset.handle?"rotate":"resize",handle:d.dataset.handle,start:s,ids:T(),snapshot:a()},void n.setPointerCapture(e.pointerId);if(u&&"select"===p){var f=u.dataset.elId,y=a().filter(function(e){return e.id===f})[0],x=y&&y.group?a().filter(function(e){return e.group===y.group}).map(function(e){return e.id}):[f],w=T();return e.shiftKey||e.ctrlKey?(x.forEach(function(e){-1===w.indexOf(e)?w.push(e):w=w.filter(function(t){return t!==e})}),O(w)):-1===w.indexOf(f)&&O(x),v(),r={mode:"move",ids:T(),start:s,snapshot:a()},void n.setPointerCapture(e.pointerId)}if("select"===p)return O([]),r={mode:"marquee",start:s},void n.setPointerCapture(e.pointerId);var k=p;if(l.test(k)||o.test(k)){v();var S=j(k,s);c(a().concat([S])),O([S.id]),r={mode:"draw",id:S.id,start:s},n.setPointerCapture(e.pointerId)}}}),t.addEventListener("pointermove",function(e){if(r){!function(e){var r=t.querySelector(".rbe-mermaid-stage");if(r){var i=r.getBoundingClientRect(),a=0,n=0;e.clientX>i.right-56?a=30:e.clientX<i.left+56&&(a=-30),e.clientY>i.bottom-56?n=30:e.clientY<i.top+56&&(n=-30),(a||n)&&(r.scrollLeft+=a,r.scrollTop+=n)}}(e);var i=z(e);if(n(a(),i),"marquee"===r.mode){var o={x:Math.min(r.start.x,i.x),y:Math.min(r.start.y,i.y),w:Math.abs(i.x-r.start.x),h:Math.abs(i.y-r.start.y)};return t.dataset.marquee=JSON.stringify(o),void q(t)}c(a().map(function(t){if("move"===r.mode&&-1!==r.ids.indexOf(t.id)){var a=r.snapshot.filter(function(e){return e.id===t.id})[0]||t,n=i.x-r.start.x,o=i.y-r.start.y;b(t.type)?(t.x1=a.x1+n,t.y1=a.y1+o,t.x2=a.x2+n,t.y2=a.y2+o):(t.x=a.x+n,t.y=a.y+o)}else if("draw"===r.mode&&t.id===r.id)if(b(t.type)){var l=e.shiftKey?function(e,t){var r=t.x-e.x,i=t.y-e.y;if(!r&&!i)return t;var a=Math.sqrt(r*r+i*i),n=Math.round(Math.atan2(i,r)/(Math.PI/4))*(Math.PI/4);return{x:10*Math.round((e.x+Math.cos(n)*a)/10),y:10*Math.round((e.y+Math.sin(n)*a)/10)}}(r.start,i):i;t.x2=l.x,t.y2=l.y}else t.x=Math.min(r.start.x,i.x),t.y=Math.min(r.start.y,i.y),t.w=Math.max(40,Math.abs(i.x-r.start.x)),t.h=Math.max(32,Math.abs(i.y-r.start.y));else if(("resize"===r.mode||"rotate"===r.mode)&&-1!==r.ids.indexOf(t.id)){var s=r.snapshot.filter(function(e){return e.id===t.id})[0]||t;if(b(t.type))"start"===r.handle&&(t.x1=i.x,t.y1=i.y),"end"===r.handle&&(t.x2=i.x,t.y2=i.y);else if("rotate"===r.mode){var d=s.x+s.w/2,c=s.y+s.h/2;t.rotation=Math.round(180*Math.atan2(i.y-c,i.x-d)/Math.PI+90)}else{var u=s.x+s.w,p=s.y+s.h;/w/.test(r.handle)&&(t.x=i.x),/n/.test(r.handle)&&(t.y=i.y),/e/.test(r.handle)&&(u=i.x),/s/.test(r.handle)&&(p=i.y),t.w=Math.max(24,u-t.x),t.h=Math.max(24,p-t.y)}}return t}),!1,i)}}),t.addEventListener("pointerup",function(){if(r){var i="draw"===r.mode?r.id:"";if("marquee"===r.mode){var n=JSON.parse(t.dataset.marquee||"{}"),o=a().filter(function(e){return t=L(e),r=n,t.x<=r.x+r.w&&t.x+t.w>=r.x&&t.y<=r.y+r.h&&t.y+t.h>=r.y;var t,r}).map(function(e){return e.id});t.dataset.marquee="",O(o)}"draw"===r.mode&&_("select"),r=null,w(),e.changed(!0),i&&R(a().filter(function(e){return e.id===i})[0])&&setTimeout(function(){U(i)},0)}}),t.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 t=B();if(1===t.length&&R(t[0])){e.preventDefault();var r=String(t[0].text||"").trim(),i=r?r+(" "===e.key?"":" ")+e.key:e.key;return void U(t[0].id,i)}}"Delete"!==e.key&&"Backspace"!==e.key||(e.preventDefault(),$("delete")),(e.ctrlKey||e.metaKey)&&"z"===e.key.toLowerCase()&&(e.preventDefault(),e.shiftKey?E():C()),(e.ctrlKey||e.metaKey)&&"y"===e.key.toLowerCase()&&(e.preventDefault(),E()),(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"))}}),t.querySelector(".rbe-mermaid-image-input").addEventListener("change",function(r){var i=r.target.files&&r.target.files[0];i&&/^image\//.test(i.type||"")&&(function(t){return e&&"function"==typeof e.uploadFile?e.uploadFile(t,"image").catch(function(){return X(t)}):X(t)}(i).then(function(r){if(r&&r.url){v();var n=j("image",{x:I(t).width/2-140,y:80},{url:r.url,name:r.name||i.name});n.w=280,n.h=190,c(a().concat([n])),O([n.id]),_("select"),e.changed(!0)}}).catch(function(){alert("Image upload failed.")}),r.target.value="")}),_("select"),w(),P()}(e,h),h.focus(),m.addEventListener("click",function(r){var i=r.target.closest("[data-modal-action]"),a=i?i.dataset.modalAction:"";if(a){if(r.preventDefault(),"save"===a){var n=h.querySelector(".rbe-mermaid-text-editor");if(n&&n.dataset.editId){var o=n.dataset.editId,l=n.value||n.textContent||"",s=[];try{s=JSON.parse((h.querySelector(".rbe-mermaid-diagram-json")||{}).value||"[]")}catch(e){}h.querySelector(".rbe-mermaid-diagram-json").value=JSON.stringify(s.map(function(e){return(e=S(e)).id===o&&(e.text=l.trim()),e})),n.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 r=h.querySelector(e),i=t.querySelector(e);r&&i&&(i.value=r.value||"")}),z(t),e.changed(!0)}document.body.classList.remove("rbe-mermaid-modal-open"),m.remove()}})}}("undefined"!=typeof window?window:this),function(e){"use strict";var t=e.BlockWriteAI;if(t&&!t.__codeAssistPluginInstalled){t.__codeAssistPluginInstalled=!0;var r={prettier:!0,suggestions:!0,prettierVersion:"3.8.1",tabWidth:2,prettierBase:"",extraSuggestions:{}},i=null,a=t.prototype.renderCode,n=t.prototype.formatCodeBlock,o={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"],s={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"}]},d={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){a.call(this,e,t),u();var r=e.querySelector(".rbe-code-wrap");r&&x(this,r)},t.prototype.formatCodeBlock=function(e){if(e&&"code"===e.dataset.type){var t=e.querySelector(".rbe-code-wrap"),r=e.querySelector(".rbe-code-input"),i=p(e);if(r)if(h(i)){var a=this,o=e.querySelector(".rbe-code-format");o&&(o.disabled=!0),b(t,"Formatting..."),f(r.value,i).then(function(i){r.value=String(i||"").replace(/\n+$/g,""),a.refreshCodeBlock(e),a.changed(!0),b(t,"Formatted")}).catch(function(){n.call(a,e),b(t,"Prettier unavailable, fallback used",!0)}).finally(function(){o&&(o.disabled=!1)})}else n.call(this,e)}},e.BlockWriteAICodeAssist={configure:function(e){(r=Object.assign({},r,e||{})).extraSuggestions=Object.assign({},r.extraSuggestions||{}),i=null},formatWithPrettier:f,enhanceAll:function(t){u(),Array.prototype.slice.call((t||document).querySelectorAll(".rbe-code-wrap")).forEach(function(t){x(e.editor||{formatCodeBlock:function(){}},t)})}}}function c(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 m(e){return r.prettierBase?r.prettierBase+e:function(e){var t="";if("undefined"!=typeof document&&!(t=document.currentScript&&document.currentScript.src||""))for(var r=document.getElementsByTagName?document.getElementsByTagName("script"):[],i=r.length-1;i>=0;i-=1){var a=r[i].src||"";if(/blockwriteai-code-assist(?:\.min)?\.js(?:\?|#|$)/.test(a)){t=a;break}}var n=-1!==t.indexOf("/blockwriteai_editor/static/blockwriteai/plugins/")?"../../../../":"../../";try{return t?new URL(n+e,t).href:e}catch(t){return n+e}}("vendor/prettier/"+e)}function b(e,t,r){var i=e&&e.querySelector(".rbe-code-assist-status");i&&(i.textContent=t||"",i.classList.toggle("is-error",!!r),t&&(clearTimeout(i._rbeTimer),i._rbeTimer=setTimeout(function(){i.textContent="",i.classList.remove("is-error")},r?3600:1800)))}function h(e){return o[e]||""}function g(e){return String(d[e]||"").split(/\s+/).filter(Boolean).map(function(e){return{label:e,detail:"Keyword",insert:e}})}function f(e,t){var a=h(t);return a?(r.prettier?i||(i=Promise.all([import(m("standalone.mjs")),import(m("plugins/babel.mjs")),import(m("plugins/estree.mjs")),import(m("plugins/typescript.mjs")),import(m("plugins/html.mjs")),import(m("plugins/postcss.mjs")),import(m("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(i){return i.prettier.format(e,{parser:a,plugins:i.plugins,tabWidth:r.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 r=e.selectionStart||0,i=e.value.slice(0,r);if("html"===t){var a=i.match(/<!([\w-]*)$/i);if(a)return{text:"!"+(a[1]||""),start:r-a[0].length,end:r,trigger:"html-declaration",force:!0};var n=i.match(/<\/?([\w:-]*)$/);if(n)return{text:n[1]||"",start:r-n[0].length,end:r,trigger:"html-tag",force:!0}}if("css"===t){var o=i.match(/(?:^|[;{]\s*)([a-z-]*)$/i);if(o)return{text:o[1]||"",start:r-(o[1]||"").length,end:r,trigger:"css-property",force:!o[1]}}if("json"===t){var l=i.match(/(?:^|[{,]\s*)"?([\w-]*)$/);if(l)return{text:l[1]||"",start:r-(l[1]||"").length,end:r,trigger:"json-key",force:!l[1]}}var s=i.match(/[A-Za-z_$][\w$-]*$/);return s?{text:s[0],start:r-s[0].length,end:r}:{text:"",start:r,end:r}}function v(e,t,r){var i=r.insert||r.label,a=i.indexOf("$0"),n=i.replace("$0",""),o=e.value;e.value=o.slice(0,t.start)+n+o.slice(t.end);var l=t.start+(a>=0?a:n.length);e.focus(),e.setSelectionRange(l,l),e.dispatchEvent(new Event("input",{bubbles:!0}))}function x(t,i){if(r.suggestions&&i&&"true"!==i.dataset.codeAssistEnhanced){i.dataset.codeAssistEnhanced="true";var a=i.querySelector(".rbe-code-input"),n=i.querySelector(".rbe-code-editor"),o=i.querySelector(".rbe-code-header"),d=i.querySelector(".rbe-code-language");if(a&&n&&o){o.querySelector(".rbe-code-assist-status")||(o.appendChild(document.createElement("span")).className="rbe-code-assist-status");var u=document.createElement("div");u.className="rbe-code-assist-panel",u.hidden=!0,n.appendChild(u);var m=0,h=null,f=[],x=!1;d&&d.addEventListener("change",function(){x||(d.dataset.codeAssistUserLanguage="true",d.dataset.codeAssistAutoLanguage="")}),a.addEventListener("keydown",function(e){return(e.ctrlKey||e.metaKey)&&"Space"===e.code?(e.preventDefault(),void S(!0)):e.altKey&&e.shiftKey&&"f"===e.key.toLowerCase()?(e.preventDefault(),void t.formatCodeBlock(i.closest(".rbe-block"))):void(u.hidden||("ArrowDown"===e.key?(e.preventDefault(),m=(m+1)%f.length,k(f)):"ArrowUp"===e.key?(e.preventDefault(),m=(m-1+f.length)%f.length,k(f)):"Enter"===e.key||"Tab"===e.key?(e.preventDefault(),v(a,h,f[m]),w()):"Escape"===e.key&&(e.preventDefault(),w())))}),a.addEventListener("input",function(){m=0,setTimeout(function(){S(!1)},0)}),a.addEventListener("scroll",w),a.addEventListener("blur",function(){setTimeout(w,180)}),u.addEventListener("mousedown",function(e){var t=e.target.closest(".rbe-code-assist-item");if(t){e.preventDefault();var r=f[Number(t.dataset.index||0)];r&&v(a,h||y(a,p(i.closest(".rbe-block"))),r),w()}})}}function w(){u.hidden=!0,f=[]}function k(e){u.innerHTML=e.map(function(e,t){return'<button type="button" class="rbe-code-assist-item'+(t===m?" is-active":"")+'" data-index="'+t+'"><strong>'+c(e.label)+"</strong><small>"+c(e.detail||"")+"</small></button>"}).join("")+'<div class="rbe-code-assist-hint">Tab/Enter to insert, Ctrl+Space for all suggestions</div>'}function S(t){var o=function(){if(!d)return p(i.closest(".rbe-block"));var t,r,n,o,s,c=(t=a.value,(n=(r=String(t||"")).trim())?(n.toLowerCase(),/^<\?php\b/i.test(n)||/\$\w+\s*=/.test(n)||/\b(echo|namespace|use)\s+[\w\\]+;/.test(n)?"php":/^(<!|<\/?html\b|<\/?head\b|<\/?body\b|<\/?(div|section|article|span|button|table|form|input|script|style|img|a)\b)/i.test(n)||/<\/[a-z][\w:-]*>\s*$/i.test(n)?"html":/^\s*[{[]/.test(r)&&(/"[^"]+"\s*:/.test(r)||/^[\s{\["\]},:0-9.truefalsnul-]+$/i.test(r))?"json":/^#{1,6}\s/.test(n)||/^```/.test(n)||/^\s*[-*]\s+\[[ x]\]/i.test(n)||/\[[^\]]+\]\([^)]+\)/.test(n)?"markdown":/^#include\b/.test(n)||/\bstd::\w+/.test(n)||/\bcout\s*<</.test(n)||/\bint\s+main\s*\(/.test(n)?"cpp":/\busing\s+System\s*;/.test(n)||/\bConsole\.Write(Line)?\s*\(/.test(n)||/\bnamespace\s+\w+/.test(n)?"csharp":/\bpublic\s+(class|static)\b/.test(n)||/\bSystem\.out\.println\s*\(/.test(n)||/\bpackage\s+[\w.]+;/.test(n)?"java":/\binterface\s+\w+/.test(n)||/\btype\s+\w+\s*=/.test(n)||/:\s*(string|number|boolean|unknown|any)\b/.test(n)?"typescript":/\b(const|let|var)\s+\w+\s*=/.test(n)||/\bfunction\s+\w*\s*\(/.test(n)||/=>/.test(n)||/\b(console|document|window)\./.test(n)||/\b(import|export)\s+/.test(n)?"javascript":/^\s*(def|class)\s+\w+/.test(n)||/\bprint\s*\(/.test(n)||/\bfrom\s+\w+\s+import\b/.test(n)||/\bimport\s+\w+/.test(n)||/:\s*(#.*)?$/.test(n)?"python":/\b(SELECT|INSERT\s+INTO|UPDATE|DELETE\s+FROM|CREATE\s+TABLE|ALTER\s+TABLE|DROP\s+TABLE)\b/i.test(n)?"sql":/^#!/.test(n)||/\b(echo|chmod|sudo|grep|sed)\b/.test(n)||/^\s*(if|for|while)\s+.*;\s*do\b/.test(n)?"bash":/@media\b/.test(n)||/[#.][\w-]+\s*\{/.test(n)||/\b[a-z-]+\s*:\s*[^;{}]+;/.test(n)?"css":""):""),u=d.value||"plaintext";if(!c&&"true"===d.dataset.codeAssistAutoLanguage&&"plaintext"!==u){x=!0,d.value="plaintext";try{e.jQuery&&e.jQuery.fn&&e.jQuery.fn.select2&&e.jQuery(d).val("plaintext").trigger("change.select2")}catch(e){}return d.dispatchEvent(new Event("change",{bubbles:!0})),x=!1,d.dataset.codeAssistAutoLanguage="","plaintext"}if(!c||(s=d,!(o=c)||!(s?Array.prototype.some.call(s.options||[],function(e){return e.value===o}):-1!==l.indexOf(o))))return u;if("true"===d.dataset.codeAssistUserLanguage&&"plaintext"!==u)return u;if("plaintext"!==u&&"true"!==d.dataset.codeAssistAutoLanguage&&u!==c)return u;if(u===c)return d.dataset.codeAssistAutoLanguage="true",u;x=!0,d.value=c,d.dataset.codeAssistAutoLanguage="true";try{e.jQuery&&e.jQuery.fn&&e.jQuery.fn.select2&&e.jQuery(d).val(c).trigger("change.select2")}catch(e){}return d.dispatchEvent(new Event("change",{bubbles:!0})),x=!1,b(i,"Detected "+function(e,t){if(t){var r=Array.prototype.find.call(t.options||[],function(t){return t.value===e});if(r)return r.textContent||e}return String(e||"Plain text").replace(/^\w/,function(e){return e.toUpperCase()})}(c,d)),c}();if(h=y(a,o),!(f=function(e,t,i){t="string"==typeof t?{text:t}:t||{text:""};var a=[];"plaintext"===e?(Object.keys(s).forEach(function(e){"plaintext"!==e&&(a=a.concat(s[e]||[],g(e)))}),a=a.concat(s.plaintext||[],g("plaintext"))):a=(s[e]||[]).concat(g(e),r.extraSuggestions[e]||[]),"html-declaration"===t.trigger&&(a=[{label:"!DOCTYPE",detail:"HTML document type",insert:"<!DOCTYPE html>"},{label:"!--",detail:"HTML comment",insert:"\x3c!-- $0 --\x3e"}].concat(a)),a.length||(a=s.plaintext.concat(g("plaintext"))),a=function(e){var t=Object.create(null);return e.filter(function(e){var r=(e.label||"")+"\0"+(e.insert||e.label||"");return!(!e.label||t[r]||(t[r]=!0,0))})}(a);var n=(t.text||"").toLowerCase();return a.filter(function(e){return i||!n||0===e.label.toLowerCase().indexOf(n)}).slice(0,9)}(o,h,t)).length||!t&&h.text.length<1&&!h.force)w();else{m=Math.min(m,f.length-1),k(f);var c=function(e,t){var r=getComputedStyle(e),i=parseFloat(r.lineHeight)||19,a=parseFloat(r.paddingLeft)||12,n=parseFloat(r.paddingTop)||12,o=document.createElement("span");o.style.cssText="position:absolute;visibility:hidden;font:"+r.font+";white-space:pre;",o.textContent="mmmmmmmmmm",document.body.appendChild(o);var l=o.getBoundingClientRect().width/10||8;o.remove();var s=e.value.slice(0,e.selectionStart||0).split("\n"),d=s.length-1,c=s[s.length-1].length;return{left:Math.max(8,Math.min(t.clientWidth-288,a+c*l-e.scrollLeft)),top:Math.max(8,Math.min(t.clientHeight-220,n+(d+1)*i-e.scrollTop))}}(a,n);u.style.left=c.left+"px",u.style.top=c.top+"px",u.hidden=!1}}}}("undefined"!=typeof window?window:this),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 i=document.createElement(e);return t&&(i.className=t),Object.keys(r||{}).forEach(function(e){"html"===e?i.innerHTML=r[e]:"text"===e?i.textContent=r[e]:"dataset"===e?Object.keys(r[e]||{}).forEach(function(t){i.dataset[t]=r[e][t]}):!1!==r[e]&&null!=r[e]&&i.setAttribute(e,!0===r[e]?"":r[e])}),i},i=t.escapeHTML||function(e){return String(null==e?"":e).replace(/[&<>"]/g,function(e){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"}[e]})},a=t.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>"},n=[["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 o(){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,.rbe-ai-toolbar-btn{position:relative;}.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-lock-icon{position:absolute;right:-5px;top:-5px;width:16px;height:16px;border:1px solid #fbbf24;border-radius:999px;background:#fff7ed;color:#92400e;display:none;place-items:center;font-size:8px;box-shadow:0 2px 8px rgba(146,64,14,.2);}.rbe-ai-inline-btn.is-premium-locked .rbe-ai-lock-icon,.rbe-ai-toolbar-btn.is-premium-locked .rbe-ai-lock-icon{display:grid;}.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 l(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 s(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:e.platformEndpoints&&"string"==typeof e.platformEndpoints.aiGenerate?e.platformEndpoints.aiGenerate:"api/ai.php"}function d(e){return e=String(e||""),/\/api\/ai_generate\.php(?:[?#].*)?$/i.test(e)||/[?&]route=ai_generate(?:[&#]|$)/i.test(e)}function c(e){if(!e||"function"!=typeof e.isPremiumFeatureEnabled)return!0;try{return e.isPremiumFeatureEnabled.call(e,"ai")}catch(e){return!1}}function u(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 p(e){if(c(e))return!0;if(w(0,u(e),"warning"),e&&"function"==typeof e.showPremiumUpgradeModal)try{e.showPremiumUpgradeModal.call(e,"ai","locked")}catch(e){}return!1}function m(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 h(e,t,r,i){var a=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),n=e&&e.premiumOptions?e.premiumOptions:{},o=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(!a||!o||!n.licenseKey||"function"!=typeof fetch)return Promise.resolve();var l=Object.assign({action:"update",authorization_token:n.authorizationToken||void 0,license_key:n.authorizationToken?void 0:n.licenseKey,event_id:a,route:m(r&&r.route,80),prompt:m(r&&r.prompt,4e3),selected_text:m(r&&r.text,3e3)},i||{});return n.sessionToken&&(l.session_token=n.sessionToken),fetch(o,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(l)}).catch(function(){})}function g(e){if(e&&e.root){var t=!c(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?u(e):"BlockWriteAI";var i=r.querySelector(".rbe-ai-lock-icon");t&&!i?r.insertAdjacentHTML("beforeend",'<span class="rbe-ai-lock-icon">'+a("lock","Locked premium feature")+"</span>"):!t&&i&&i.remove()}),t&&A(e)&&T(e)}}function f(e,t){var r=s(e),i=Date.now();t=function(e,t,r){if(t=Object.assign({},t||{}),!d(r))return t;var i=e&&e.premiumOptions?e.premiumOptions:{};return i.authorizationToken&&!t.authorization_token?t.authorization_token=i.authorizationToken:i.licenseKey&&!t.license_key&&(t.license_key=i.licenseKey),i.sessionToken&&!t.session_token&&(t.session_token=i.sessionToken),t}(e,t,r);var a=null;return function(e,t){if(d(s(e)))return Promise.resolve();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()}(e,t).then(function(n){a=n;var o=n&&(n.usage_result||n.lastPremiumUsageResult);return o&&(o.model&&(t.model=o.model),o.route&&(t.route=o.route),void 0!==o.credits_required&&(t.credits_required=o.credits_required)),fetch(r,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(t)}).then(function(r){return r.json().catch(function(){return{}}).then(function(n){if(!r.ok||!1===n.ok){var o=new Error(n.error||"AI request failed");throw o.httpStatus=r.status,o}return h(e,a,t,{status:"completed",duration_ms:Date.now()-i,model:n.model||"",model_used:n.model_used||n.model||"",input_tokens:n.input_tokens||0,output_tokens:n.output_tokens||0,total_tokens:n.total_tokens||0,estimated_cost:n.estimated_cost||0,response_source:n.response_source||"",response_type:n.type||(Array.isArray(n.blocks)?"blocks":"text"),response:m(b(n),6e3),response_character_count:n.response_character_count||void 0,response_token_count:n.response_token_count||void 0,blocks_generated:Array.isArray(n.blocks)?n.blocks.length:void 0}),n})})}).catch(function(r){throw h(e,a,t,{status:"failed",duration_ms:Date.now()-i,http_status:r&&r.httpStatus?r.httpStatus:0,response_type:"error",error_reason:m(r&&r.message?r.message:"AI request failed",1200)}),r})}function y(e){return e.__blockwriteaiAI||(e.__blockwriteaiAI={drawer:null,lastRange:null,lastText:"",result:"",loading:!1,closeTimer:null,progressTimer:null}),e.__blockwriteaiAI}function v(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 x(e,t,r,i){var a=y(e);a.progressTimer&&(clearTimeout(a.progressTimer),a.progressTimer=null),t?v(e,!0,r||"Working with BlockWriteAI..."):a.progressTimer=setTimeout(function(){v(e,!1,""),a.progressTimer=null},"number"==typeof i?i:0)}function w(e,t,n){if(t&&"undefined"!=typeof document){o();var l=document.querySelector(".rbe-toast-stack");l||(l=r("div","rbe-toast-stack",{role:"status","aria-live":"polite"}),document.body.appendChild(l));var s="error"===n?"error":"warning",d=r("div","rbe-toast is-"+s,{});d.innerHTML=a("error"===s?"circle-exclamation":"triangle-exclamation",s)+"<div><strong>"+i("error"===s?"BlockWriteAI error":"BlockWriteAI warning")+"</strong><span>"+i(t)+"</span></div>",l.appendChild(d),requestAnimationFrame(function(){d.classList.add("is-show")}),setTimeout(function(){d.classList.remove("is-show"),d.classList.add("is-hiding"),setTimeout(function(){d.parentNode&&d.parentNode.removeChild(d),l&&!l.children.length&&l.parentNode&&l.parentNode.removeChild(l)},260)},5e3)}}function k(e,t){var r=y(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 S(e){var t=y(e);if(t.drawer){var r=function(e){var t=function(e){var t=window.getSelection();if(t&&t.rangeCount&&!t.isCollapsed){var r=t.getRangeAt(0);if(l(e,r))return e.savedRange=r.cloneRange(),e.savedRange}return e.savedRange&&l(e,e.savedRange)?e.savedRange:null}(e);return t?t.toString().trim():""}(e);t.lastRange=e.savedRange&&l(e,e.savedRange)?e.savedRange.cloneRange():null,t.lastText=r;var i=t.drawer.querySelector(".rbe-ai-selection");i&&(i.textContent=r||"Select text in the editor, then choose an AI action.",i.classList.toggle("is-empty",!r))}}function C(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 A(e){var t=y(e);return!(!t.drawer||t.drawer.hidden||!t.drawer.classList.contains("is-open"))}function E(e){if(p(e)){var t=y(e),l=function(e){var t=y(e);if(t.drawer)return t.drawer;o();var l=r("aside","rbe-ai-drawer",{hidden:!0,role:"dialog","aria-label":"BlockWriteAI"});return l.innerHTML='<div class="rbe-ai-head"><div class="rbe-ai-title"><span class="rbe-ai-title-icon">'+a("wand-magic-sparkles","BlockWriteAI")+'</span><span>BlockWriteAI</span></div><button type="button" class="rbe-ai-close" title="Close AI">'+a("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">'+n.map(function(e){return'<button type="button" class="rbe-ai-action" data-ai-action="'+i(e[0])+'">'+a(e[1],e[2])+"<span><strong>"+i(e[2])+"</strong><small>"+i(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">'+a("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>'+a("check","Apply")+"<span>Apply</span></button></div></div>",e.root.appendChild(l),t.drawer=l,l}(e);S(e),t.closeTimer&&(clearTimeout(t.closeTimer),t.closeTimer=null),l.hidden=!1,l.getBoundingClientRect(),requestAnimationFrame(function(){l.classList.add("is-open")}),C(e,!0),t.lastText||setTimeout(function(){var e=l.querySelector(".rbe-ai-prompt");e&&e.focus()},0)}}function T(e){var t=y(e);t.drawer&&(t.closeTimer&&clearTimeout(t.closeTimer),t.drawer.classList.remove("is-open"),C(e,!1),t.closeTimer=setTimeout(function(){t.drawer&&(t.drawer.hidden=!0,t.closeTimer=null)},300))}function L(e,t){var r=y(e);if(r.result=String(t||"").trim(),r.drawer){var i=r.drawer.querySelector(".rbe-ai-result"),a=r.drawer.querySelector(".rbe-ai-apply");i&&(i.textContent=r.result),a&&(a.disabled=r.loading||!r.result)}}function M(e){return e&&"object"==typeof e?{type:String(e.type||"paragraph"),data:e.data&&"object"==typeof e.data?e.data:{}}:null}function q(e){e&&e.root&&!e.__blockwriteaiAIRefreshBound&&(e.root.addEventListener("rbe:premium-change",g.bind(null,e)),e.__blockwriteaiAIRefreshBound=!0)}function I(e,t){return t=t||e&&e.topToolbar,e&&!1!==e.options.ai&&t?(o(),t.querySelector(".rbe-ai-toolbar-btn")||t.appendChild(r("button","rbe-toolbar-btn rbe-ai-toolbar-btn",{type:"button",title:"BlockWriteAI",html:a("wand-magic-sparkles","BlockWriteAI"),dataset:{aiToolbar:"true",premiumFeature:"ai",unlockedTitle:"BlockWriteAI"}})),q(e),g(e),t):t}function O(e,t){return t=t||e&&e.inlineToolbar,e&&!1!==e.options.ai&&t?(o(),t.querySelector(".rbe-ai-inline-btn")||t.appendChild(r("button","rbe-ai-inline-btn",{type:"button",title:"BlockWriteAI",html:a("wand-magic-sparkles","AI"),dataset:{aiInline:"true",premiumFeature:"ai",unlockedTitle:"BlockWriteAI"}})),q(e),g(e),t):t}var B=e.prototype.createTopToolbar;e.prototype.createTopToolbar=function(){return I(this,B.call(this))};var _=e.prototype.createInlineToolbar;e.prototype.createInlineToolbar=function(){return O(this,_.call(this))},e.prototype.openAI=function(){return!1===this.options.ai?null:p(this)?(E(this),this):null};var z=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(p(t=this)&&(A(t)?T(t):E(t)));if(r.closest&&r.closest(".rbe-ai-close"))return e.preventDefault(),e.stopPropagation(),void T(this);var i=r.closest&&r.closest(".rbe-ai-action");if(i)return e.preventDefault(),e.stopPropagation(),void function(e,t){if(p(e)){var r=y(e);S(e),r.lastText?(k(e,!0),L(e,""),x(e,!0,"Improving selected text with BlockWriteAI..."),f(e,{action:t,text:r.lastText,document:"function"==typeof e.getData?e.getData():null}).then(function(t){L(e,t.result||"")}).catch(function(e){w(0,e.message||"AI request failed","error")}).finally(function(){k(e,!1),x(e,!1,"",250)})):w(0,"Select text first, then run an AI action.","warning")}}(this,i.dataset.aiAction);if(r.closest&&r.closest(".rbe-ai-generate"))return e.preventDefault(),e.stopPropagation(),void function(e){if(p(e)){var t=y(e),r=t.drawer&&t.drawer.querySelector(".rbe-ai-prompt"),i=r?r.value.trim():"";i?(k(e,!0),L(e,""),x(e,!0,"Generating BlockWriteAI blocks..."),f(e,{action:"generate_blocks",prompt:i,document:"function"==typeof e.getData?e.getData():null}).then(function(t){(function(e,t){if(!(t=(t||[]).map(M).filter(Boolean)).length)return 0;var r="function"==typeof e.getCurrentBlock?e.getCurrentBlock():null,i=r&&"function"==typeof e.indexOfBlock?e.indexOfBlock(r)+1:e.canvas.children.length,a=e.canvas&&1===e.canvas.children.length?e.canvas.children[0]:null;a&&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()}(a)&&(i=0,a.remove());var n=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,i))&&(i+=1):"function"==typeof e.createBlock&&(r=e.createBlock.call(e,t.type,t.data),e.canvas.appendChild(r)),r&&(n+=1)}catch(e){w(0,e&&e.message?e.message:"Unable to insert generated block.","error")}}),n&&"function"==typeof e.changed&&e.changed(!0),n})(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),x(e,!1,"",250)})):w(0,"Write a prompt before generating blocks.","warning")}}(this);if(!r.closest||!r.closest(".rbe-ai-apply"))return z.call(this,e);e.preventDefault(),e.stopPropagation();var a=y(this);a.result&&function(e,t,r){if(!(r=r||e.__blockwriteaiAI&&e.__blockwriteaiAI.lastRange||e.savedRange)||!l(e,r))return!1;var i=window.getSelection();i.removeAllRanges(),i.addRange(r),r.deleteContents();var a=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),n=a.lastChild;if(r.insertNode(a),n&&n.parentNode){var o=document.createRange();o.setStartAfter(n),o.collapse(!0),i.removeAllRanges(),i.addRange(o),e.savedRange=o.cloneRange()}return"function"==typeof e.changed&&e.changed(!0),"function"==typeof e.updateInlineToolbarState&&e.updateInlineToolbarState(),!0}(this,a.result,a.lastRange)?(x(this,!0,"Applying BlockWriteAI result..."),L(this,""),S(this),x(this,!1,"",600)):w(0,"There is no AI result ready to apply.","warning")};var P=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 A(this)&&T(this),P.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&&(I(t),O(t))}),e}),function(e){"use strict";var t=e.BlockWriteAI;if(t&&!t.__signaturePluginInstalled){t.__signaturePluginInstalled=!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.sanitizeHTML,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>"}),o=r.uid||function(e){return(e||"signature")+"-"+Math.random().toString(36).slice(2,9)},l="blockwriteai-signature:";d(),t.registerTool("signature",{label:"Signature",hint:"Digital signature field",icon:"signature",premiumFeature:"signature",defaultData:function(){return{signatureId:o("signature"),label:"Signature",width:70,alignment:"center"}},render:function(e,t){d();var r=i("div","rbe-signature-editor",{dataset:{signatureId:(t=t||{}).signatureId||o("signature"),width:u(t.width),alignment:c(t.alignment)}});r.appendChild(i("img","rbe-signature-watermark",{src:s(),alt:"","aria-hidden":"true"}));var a=i("div","rbe-signature-toolbar");a.appendChild(i("div","rbe-signature-static-label",{text:"Signature"}));var l=i("div","rbe-signature-align-tools",{role:"toolbar","aria-label":"Signature alignment"});[["left","align-left","Align left"],["center","align-center","Align center"],["right","align-right","Align right"]].forEach(function(e){l.appendChild(i("button","rbe-signature-align-btn",{type:"button",title:e[2],html:n(e[1],e[2]),dataset:{align:e[0]},"aria-label":e[2],"aria-pressed":c(t.alignment)===e[0]?"true":"false",disabled:this.readOnly}))},this),a.appendChild(l),r.appendChild(a);var m=i("div","rbe-signature-preview");m.appendChild(i("div","rbe-signature-preview-name",{text:"Casey Jones"})),m.appendChild(i("div","rbe-signature-preview-copy",{html:"<strong>Blank signature input in preview</strong><span>Users type their name once; the signed block becomes read-only with date and time.</span>"})),r.appendChild(m),this.readOnly||r.appendChild(i("button","rbe-signature-resize-handle",{type:"button",title:"Resize signature field","aria-label":"Resize signature field"})),e.appendChild(r),p(r),function(e,t){var r=t&&t.querySelector(".rbe-signature-resize-handle");r&&"true"!==t.dataset.resizeReady&&(t.dataset.resizeReady="true",r.addEventListener("pointerdown",function(r){r.preventDefault(),r.stopPropagation();var i=t.parentElement||t,a=Math.max(1,i.getBoundingClientRect().width),n=r.clientX,o=t.getBoundingClientRect().width;function l(e){var r=o+e.clientX-n;t.dataset.width=String(u(r/a*100)),p(t)}document.addEventListener("pointermove",l),document.addEventListener("pointerup",function t(){document.removeEventListener("pointermove",l),document.removeEventListener("pointerup",t),e&&"function"==typeof e.changed&&e.changed(!0)})}))}(this,r);var b=this;Array.prototype.slice.call(r.querySelectorAll(".rbe-signature-align-btn")).forEach(function(e){e.addEventListener("click",function(){r.dataset.alignment=c(e.dataset.align),p(r),b&&"function"==typeof b.changed&&b.changed(!0)})})},serialize:function(e){var t=e.querySelector(".rbe-signature-editor");return{signatureId:b(e,t),label:"Signature",width:u(t&&t.dataset.width),alignment:c(t&&t.dataset.alignment)}},toHTML:function(e){d();var t,r,i=(e=e||{}).signatureId||o("signature");return'<section class="rbe-output-signature" style="'+a((t=e.width,r=e.alignment,"width:min(100%,"+(t=u(t))+"%);"+("left"===(r=c(r))?"margin-left:0;margin-right:auto;":"right"===r?"margin-left:auto;margin-right:0;":"margin-left:auto;margin-right:auto;")+("left"===r?"justify-self:start;":"right"===r?"justify-self:end;":"justify-self:center;")))+'" data-signature-id="'+a(i)+'" data-signed="false"><span class="'+a("rbe-signature-seal")+'" aria-hidden="true"><svg class="'+a("rbe-signature-seal-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-signature-watermark" src="'+a(s())+'" alt="" aria-hidden="true"><div class="rbe-output-signature-label">'+a("Signature")+'</div><div class="rbe-signature-unsigned"><input class="rbe-signature-input" type="text" autocomplete="name" placeholder="'+a("Enter your name here...")+'"><button type="button" class="rbe-signature-apply">'+n("file-signature","Sign")+'<span>Sign</span></button></div><div class="rbe-signature-signed" hidden><div class="rbe-signature-name"></div><div class="rbe-signature-meta"><strong>Digitally signed by <span class="rbe-signature-by-name"></span></strong><span>Date: <time class="rbe-signature-date"></time></span></div></div></section>'},toMarkdown:function(e){return"[Signature field: "+(e&&e.label?e.label:"Signature")+"]"}}),e.BlockWriteAISignature={init:y,sign:f,formatDate:m},"loading"===document.readyState?document.addEventListener("DOMContentLoaded",function(){y(document)}):setTimeout(function(){y(document)},0)}function s(){return e.BlockWriteAILogoUrl?e.BlockWriteAILogoUrl:function(e){try{var t=document.currentScript&&document.currentScript.src||document.baseURI;return new URL(e,t).href}catch(t){return e}}(document.querySelector(".rbe.rbe-theme-dark, .rbe-shell.rbe-theme-dark")?"../blockwriteai-logo-dark.svg":"../blockwriteai-logo.svg")}function d(){if(!document.querySelector("style[data-blockwriteai-signature-plugin]")){var e=document.createElement("style");e.dataset.blockwriteaiSignaturePlugin="true",e.textContent=".rbe-signature-editor,.rbe-output-signature{position:relative;overflow:hidden;border:1px solid #d7dee8;border-radius:8px;background:#fff;padding:16px;min-height:128px;box-sizing:border-box;max-width:100%;}.rbe-signature-editor{display:grid;gap:12px;width:var(--rbe-signature-width,70%);max-width:100%;min-width:min(180px,100%);resize:none;container-type:inline-size;}.rbe-signature-watermark{position:absolute;left:50%;top:50%;width:min(300px,76%);max-height:150px;object-fit:contain;opacity:.16;transform:translate(-50%,-50%);pointer-events:none;user-select:none;}.rbe-signature-seal{position:absolute;right:14px;top:10px;z-index:4;width:44px;height:44px;background:#d40000;color:#fff;display:none;place-items:center;padding:0;border-radius:4px;box-shadow:0 10px 18px rgba(160,0,0,.22);pointer-events:none;}.rbe-output-signature[data-signed='true'] .rbe-signature-seal{display:grid;}.rbe-signature-seal-logo{display:block;width:32px;height:32px;}.rbe-signature-toolbar{position:relative;z-index:2;display:flex;justify-content:space-between;gap:10px;align-items:center;}.rbe-signature-static-label{font:800 14px/1.3 Arial,sans-serif;color:#344054;}.rbe-signature-align-tools{display:flex;gap:6px;align-items:center;}.rbe-signature-align-btn{width:34px;height:34px;border:1px solid #d7dee8;border-radius:8px;background:#fff;color:#344054;display:inline-grid;place-items:center;cursor:pointer;}.rbe-signature-align-btn:hover,.rbe-signature-align-btn.is-active{border-color:#2563eb;background:#eaf1ff;color:#1d4ed8;}.rbe-signature-preview{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;border:1px dashed #b6c4d6;border-radius:8px;background:rgba(248,251,255,.86);padding:14px;}.rbe-signature-preview-name{font-family:'Brush Script MT','Segoe Script','Lucida Handwriting',cursive;font-size:20px;line-height:1.15;color:#111827;white-space:normal;overflow-wrap:anywhere;}.rbe-signature-preview-copy{display:grid;gap:4px;color:#344054;font:13px/1.35 Arial,sans-serif;min-width:0;}.rbe-signature-preview-copy strong{font-size:15px;color:#172033;}.rbe-signature-resize-handle{position:absolute;right:7px;bottom:7px;z-index:3;width:18px;height:18px;border:0;border-radius:5px;background:#2563eb;color:#fff;box-shadow:0 8px 18px rgba(37,99,235,.22);cursor:nwse-resize;display:grid;place-items:center;padding:0;}.rbe-signature-resize-handle:before{content:'';width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;}.rbe-output-signature{display:grid;gap:14px;margin:0 0 15px;container-type:inline-size;overflow:visible;min-width:0;}.rbe-output-signature-label{position:relative;z-index:1;font:700 14px/1.4 Arial,sans-serif;color:#344054;}.rbe-signature-unsigned{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;width:min(640px,100%);max-width:100%;min-width:0;margin:0 auto;box-sizing:border-box;}.rbe-signature-input{width:100%;min-width:0;min-height:42px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#111827;font:15px/1.15 'Brush Script MT','Segoe Script','Lucida Handwriting',cursive;padding:8px 10px;text-align:center;box-sizing:border-box;}.rbe-signature-input::placeholder{color:#98a2b3;font:13px/1.35 Arial,sans-serif;}.rbe-signature-apply{border:1px solid #1d4ed8;border-radius:8px;background:#2563eb;color:#fff;font:800 14px/1 Arial,sans-serif;padding:13px 16px;cursor:pointer;}.rbe-signature-apply:hover{background:#1d4ed8;}.rbe-output-signature.has-error .rbe-signature-input{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.12);}.rbe-signature-signed{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:center;min-width:0;min-height:80px;}.rbe-signature-signed[hidden],.rbe-signature-unsigned[hidden]{display:none!important;}.rbe-signature-name{min-width:0;font-family:'Brush Script MT','Segoe Script','Lucida Handwriting',cursive;font-size:20px;line-height:1.15;color:#050505;overflow-wrap:anywhere;}.rbe-signature-meta{min-width:0;font-family:Arial,sans-serif;font-size:15px;line-height:1.18;color:#050505;display:grid;gap:2px;overflow-wrap:anywhere;}.rbe-signature-meta strong{font-weight:500;}.rbe-signature-meta strong,.rbe-signature-meta span,.rbe-signature-meta time{min-width:0;overflow-wrap:anywhere;}.rbe-signature-meta time{font:inherit;}.rbe-output-signature.is-compact{padding:10px;gap:10px;}.rbe-output-signature.is-compact .rbe-signature-signed,.rbe-output-signature.is-compact .rbe-signature-unsigned{grid-template-columns:1fr;gap:8px;min-height:0;}.rbe-output-signature.is-compact .rbe-signature-apply{width:100%;}.rbe-output-signature.is-compact .rbe-signature-watermark{width:min(220px,86%);}.rbe-output-signature.is-compact .rbe-signature-seal{right:8px;top:8px;width:36px;height:36px;}.rbe-output-signature.is-compact .rbe-signature-seal-logo{width:26px;height:26px;}.rbe-output-signature.is-compact .rbe-signature-meta{font-size:13px;line-height:1.22;}@container (max-width:320px){.rbe-signature-preview,.rbe-signature-signed{grid-template-columns:1fr;gap:8px;min-height:0;}.rbe-signature-unsigned{grid-template-columns:1fr;}.rbe-signature-apply{width:100%;}}@media (max-width:720px){.rbe-signature-editor{width:100%!important;}.rbe-signature-toolbar,.rbe-signature-preview,.rbe-signature-unsigned,.rbe-signature-signed{grid-template-columns:1fr;}.rbe-signature-toolbar{align-items:flex-start;}.rbe-signature-preview-name,.rbe-signature-name{white-space:normal;}.rbe-signature-apply{width:100%;}}",document.head.appendChild(e)}}function c(e){return"left"===e||"right"===e?e:"center"}function u(e){return e=Number(e||70),Number.isFinite(e)||(e=70),Math.min(100,Math.max(14,Math.round(e)))}function p(e){if(e){var t=u(e.dataset.width),r=c(e.dataset.alignment);e.dataset.width=String(t),e.dataset.alignment=r,e.style.width="min(100%,"+t+"%)",e.style.marginLeft="left"===r?"0":"auto",e.style.marginRight="right"===r?"0":"auto",e.style.justifySelf="left"===r?"start":"right"===r?"end":"center",Array.prototype.slice.call(e.querySelectorAll(".rbe-signature-align-btn")).forEach(function(e){var t=e.dataset.align===r;e.classList.toggle("is-active",t),e.setAttribute("aria-pressed",t?"true":"false")})}}function m(e){return e.toLocaleString()}function b(e,t){var r=t&&t.dataset.signatureId||"",i=e&&e.closest&&e.closest(".rbe")||document,a=Array.prototype.slice.call(i.querySelectorAll(".rbe-signature-editor")),n=r?a.find(function(e){return e.dataset.signatureId===r}):null;if(!r||n&&n!==t){do{r=o("signature")}while(a.some(function(e){return e!==t&&e.dataset.signatureId===r}));t&&(t.dataset.signatureId=r)}return r}function h(e,t){if(e&&t&&t.name){var r=e.querySelector(".rbe-signature-unsigned"),i=e.querySelector(".rbe-signature-signed"),a=e.querySelector(".rbe-signature-name"),n=e.querySelector(".rbe-signature-by-name"),o=e.querySelector(".rbe-signature-date"),l=e.querySelector(".rbe-signature-input");l&&(l.value=t.name,l.readOnly=!0),a&&(a.textContent=t.name),n&&(n.textContent=t.name),o&&(o.textContent=t.dateLabel||m(new Date(t.date||Date.now())),t.date&&o.setAttribute("datetime",t.date)),r&&(r.hidden=!0),i&&(i.hidden=!1),e.dataset.signed="true",e.classList.remove("has-error"),g(e)}}function g(e){if(e&&e.getBoundingClientRect){var t=e.getBoundingClientRect().width;e.classList.toggle("is-compact",t>0&&t<360)}}function f(e){var t,r=e.querySelector(".rbe-signature-input"),i=(t=r&&r.value,String(null==t?"":t).trim());if(!i)return e.classList.add("has-error"),void(r&&r.focus());var a=new Date,n={name:i,date:a.toISOString(),dateLabel:m(a)};!function(e,t){if(e)try{localStorage.setItem(l+e,JSON.stringify(t))}catch(e){}}(e.dataset.signatureStorageKey||e.dataset.signatureId||"",n),h(e,n),e.dispatchEvent(new CustomEvent("blockwriteai:signature-signed",{bubbles:!0,detail:n}))}function y(e){d(),function(e){var t=Array.prototype.slice.call((e||document).querySelectorAll(".rbe-output-signature")),r={};t.forEach(function(e){var t=e.dataset.signatureId||"";r[t]=(r[t]||0)+1});var i={};return t.forEach(function(e){var t=e.dataset.signatureId||o("signature");e.dataset.signatureId=t,i[t]=(i[t]||0)+1,e.dataset.signatureStorageKey=r[t]>1?t+":"+i[t]:t}),t}(e).forEach(function(e){if("true"!==e.dataset.signatureReady){e.dataset.signatureReady="true",function(e){e&&"true"!==e.dataset.signatureResizeObserved&&(e.dataset.signatureResizeObserved="true",g(e),"undefined"!=typeof ResizeObserver?new ResizeObserver(function(){g(e)}).observe(e):window.addEventListener("resize",function(){g(e)}))}(e);var t=function(e){if(!e)return null;try{return JSON.parse(localStorage.getItem(l+e)||"null")}catch(e){return null}}(e.dataset.signatureStorageKey||e.dataset.signatureId||"");t&&t.name&&h(e,t);var r=e.querySelector(".rbe-signature-input"),i=e.querySelector(".rbe-signature-apply");i&&i.addEventListener("click",function(){f(e)}),r&&(r.addEventListener("input",function(){e.classList.remove("has-error")}),r.addEventListener("keydown",function(t){"Enter"===t.key&&(t.preventDefault(),f(e))}))}})}}("undefined"!=typeof window?window:this),function(e){"use strict";var t=e.BlockWriteAI;if(t&&!t.__signatureFlowPluginInstalled){t.__signatureFlowPluginInstalled=!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>"},o=r.uid||function(e){return(e||"signature-flow")+"-"+Math.random().toString(36).slice(2,9)};l(),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){l();var r=i("div","rbe-signature-flow-editor",{dataset:{flowId:(t=t||{}).flowId||o("signature-flow")}}),a=i("div","rbe-signature-flow-top");a.appendChild(i("strong","",{text:"Signature Flow"})),a.appendChild(i("button","rbe-signature-flow-add",{type:"button",title:"Add signer","aria-label":"Add signer",html:n("circle-plus","Add signer"),disabled:this.readOnly})),r.appendChild(a);var s=i("div","rbe-signature-flow-steps");p(t.steps).forEach(function(e,t){s.appendChild(m(this,e,t))},this),r.appendChild(s),e.appendChild(r);var d=this,c=r.querySelector(".rbe-signature-flow-add");c&&c.addEventListener("click",function(){var e=s.querySelectorAll(".rbe-signature-flow-step").length;s.appendChild(m(d,{id:o("signer"),label:"Signer "+(e+1)},e)),b(r),d&&"function"==typeof d.changed&&d.changed(!0)}),s.addEventListener("click",function(e){var t=e.target.closest(".rbe-signature-flow-remove");t&&!d.readOnly&&(s.querySelectorAll(".rbe-signature-flow-step").length<=1||(t.closest(".rbe-signature-flow-step").remove(),b(r),d&&"function"==typeof d.changed&&d.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:s((e.querySelector(".rbe-signature-flow-label")||{}).value)||"Signer "+(t+1)}})}},toHTML:function(t){l();var r=(t=t||{}).flowId||o("signature-flow"),i=p(t.steps);return'<section class="rbe-output-signature-flow" data-flow-id="'+a(r)+'"><div class="rbe-output-signature-flow-title">Signature Flow</div><div class="rbe-flow-signature-track">'+i.map(function(t,r){return'<section class="rbe-flow-signature-card" data-step-id="'+a(t.id)+'" data-signed="false"><span class="'+a("rbe-flow-signature-seal")+'" aria-hidden="true"><svg class="'+a("rbe-flow-signature-seal-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="'+a(e.BlockWriteAILogoUrl?e.BlockWriteAILogoUrl:function(e){try{var t=document.currentScript&&document.currentScript.src||document.baseURI;return new URL(e,t).href}catch(t){return e}}(document.querySelector(".rbe.rbe-theme-dark, .rbe-shell.rbe-theme-dark")?"../blockwriteai-logo-dark.svg":"../blockwriteai-logo.svg"))+'" alt="" aria-hidden="true"><div class="rbe-flow-signature-head"><span class="rbe-flow-signature-label">'+a(r+1+". "+t.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">'+n("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>'+(r<i.length-1?'<span class="rbe-flow-signature-connector is-pending" aria-hidden="true"></span>':"")}).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:x,sign:v,update:y},"loading"===document.readyState?document.addEventListener("DOMContentLoaded",function(){x(document)}):setTimeout(function(){x(document)},0)}function l(){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 s(e){return String(null==e?"":e).trim()}function d(e){try{return sessionStorage.getItem(e)||localStorage.getItem(e)||""}catch(e){return""}}function c(e){return e.toLocaleString()}function u(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:s(e.label)||"Signer "+(t+1)}})}function m(e,t,r){var a=i("div","rbe-signature-flow-step",{dataset:{stepId:t.id||o("signer")}});return a.appendChild(i("span","rbe-signature-flow-index",{text:r+1})),a.appendChild(i("input","rbe-signature-flow-label",{type:"text",value:t.label||"Signer "+(r+1),placeholder:"Signer name or role",disabled:e.readOnly})),a.appendChild(i("button","rbe-signature-flow-remove",{type:"button",title:"Remove signer","aria-label":"Remove signer",html:n("trash-can","Remove signer"),disabled:e.readOnly})),a}function b(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 i=e.querySelector(".rbe-signature-flow-label");i&&!s(i.value)&&(i.placeholder="Signer "+(t+1))})}function h(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)}),function(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")});t.forEach(function(r,i){var a;i<t.length-1&&e.insertBefore(((a=document.createElement("span")).className="rbe-flow-signature-connector is-pending",a.setAttribute("aria-hidden","true"),a),r.nextSibling)})}(t),t}function g(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"),i=e.querySelector(".rbe-flow-signature-signed"),a=e.querySelector(".rbe-flow-signature-status"),n=e.querySelector(".rbe-flow-signature-name"),o=e.querySelector(".rbe-flow-signature-by-name"),l=e.querySelector(".rbe-flow-signature-email"),s=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),i&&(i.hidden=!1),a&&(a.textContent="Signed"),n&&(n.textContent=t.name),o&&(o.textContent=t.name),l&&(l.textContent=t.email||""),s&&(s.textContent=t.ipAddress||""),d&&(d.textContent=t.dateLabel||c(new Date(t.date||Date.now())),t.date&&d.setAttribute("datetime",t.date)),e.dataset.signatureHash=t.signatureHash||"",f(e)}}function f(e){if(e&&e.getBoundingClientRect){var t=e.getBoundingClientRect().width;e.classList.toggle("is-compact",t>0&&t<190)}}function y(e){var t=h(e),r=Array.prototype.slice.call(t.querySelectorAll(".rbe-flow-signature-card")),i=Array.prototype.slice.call(t.querySelectorAll(".rbe-flow-signature-connector")),a=!0;r.forEach(function(e,t){var r="true"===e.dataset.signed,n=a||r;e.classList.toggle("is-locked",!n),e.classList.toggle("is-active",n&&!r),e.classList.toggle("is-pending",!r);var o=e.querySelector(".rbe-flow-signature-input"),l=e.querySelector(".rbe-flow-signature-apply"),s=e.querySelector(".rbe-flow-signature-status");r||(o&&(o.disabled=!n),l&&(l.disabled=!n),s&&(s.textContent=n?"Ready to sign":"Pending")),i[t]&&(i[t].classList.toggle("is-complete",r),i[t].classList.toggle("is-pending",!r)),a=r})}function v(r){if(r&&!r.classList.contains("is-locked")){var i=r.querySelector(".rbe-flow-signature-input"),a=s(i&&i.value);if(!a)return r.classList.add("has-error"),void(i&&i.focus());var n=r.closest(".rbe-output-signature-flow");(function(r,i){var a=e.BlockWriteAIAuthorizationToken||d("bwai_authorization_token");if(!a||!i||"function"!=typeof fetch)return Promise.resolve(null);var n={action:"lookup",authorization_token:a,match_signer_value:i,signer_name:i},o=e.BlockWriteAISessionToken||d("bwai_session_token")||d("blockwriteai_session_token");return o&&(n.session_token=o),fetch(e.BlockWriteAISignatureEventUrl||t.platformEndpoints&&t.platformEndpoints.signatureEvent||"https://blockwriteai.in/api/signature_event.php",{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||i,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?c(new Date(e.signature.created_at)):c(new Date)}:null}).catch(function(){return null})})(0,a).then(function(e){if(e){var t=e;!function(e,t,r){return r=s(r).toLowerCase(),!(!e||!r)&&Array.prototype.slice.call(e.querySelectorAll(".rbe-flow-signature-card")).some(function(e){return e!==t&&"true"===e.dataset.signed&&s(e.dataset.signatureHash).toLowerCase()===r})}(n,r,t.signatureHash)?(function(e,t,r){try{localStorage.setItem(u(e,t),JSON.stringify(r))}catch(e){}}(n.dataset.flowId||"",r.dataset.stepId||"",t),g(r,t),y(n),r.dispatchEvent(new CustomEvent("blockwriteai:signature-flow-signed",{bubbles:!0,detail:t}))):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()}(r,i)}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()}(r,i)})}}function x(e){l(),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,h(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",f(e),"undefined"!=typeof ResizeObserver?new ResizeObserver(function(){f(e)}).observe(e):window.addEventListener("resize",function(){f(e)}))}(e);var r=e.dataset.stepId||o("signer");e.dataset.stepId=r;var i=function(e,t){try{return JSON.parse(localStorage.getItem(u(e,t))||"null")}catch(e){return null}}(t,r);i&&i.name&&i.signatureHash&&g(e,i);var a=e.querySelector(".rbe-flow-signature-input"),n=e.querySelector(".rbe-flow-signature-apply");n&&n.addEventListener("click",function(){v(e)}),a&&(a.addEventListener("input",function(){e.classList.remove("has-error")}),a.addEventListener("keydown",function(t){"Enter"===t.key&&(t.preventDefault(),v(e))}))}),y(e)}})}}("undefined"!=typeof window?window:this);