@qarakash/blockwriteai 1.0.10 → 1.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof module&&module.exports?module.exports=t(require("../blockwriteai")):t(e.BlockWriteAI)}("undefined"!=typeof window?window:this,function(e){"use strict";if(!e||e.__aiPluginInstalled)return e||null;e.__aiPluginInstalled=!0;var t=e.helpers||{},r=t.el||function(e,t,r){var o=document.createElement(e);return t&&(o.className=t),Object.keys(r||{}).forEach(function(e){"html"===e?o.innerHTML=r[e]:"text"===e?o.textContent=r[e]:"dataset"===e?Object.keys(r[e]||{}).forEach(function(t){o.dataset[t]=r[e][t]}):!1!==r[e]&&null!=r[e]&&o.setAttribute(e,!0===r[e]?"":r[e])}),o},o=t.escapeHTML||function(e){return String(null==e?"":e).replace(/[&<>"]/g,function(e){return{"&":"&","<":"<",">":">",'"':"""}[e]})},i=t.faIcon||function(e,t){return'<i class="fa-solid fa-'+o(e)+'" aria-hidden="true"></i><span class="rbe-sr-only">'+o(t||e)+"</span>"},a=[["improve","wand-magic-sparkles","Improve writing","Make selected writing clearer and smoother."],["grammar","spell-check","Fix grammar","Correct grammar, spelling, and punctuation."],["summarize","compress","Summarize","Create a shorter version of the selected text."],["expand","up-right-and-down-left-from-center","Expand","Add helpful detail while keeping the meaning."],["professional","briefcase","Make professional","Rewrite in a polished business tone."]];function n(){if(!document.querySelector("style[data-blockwriteai-ai]")){var e=document.createElement("style");e.dataset.blockwriteaiAi="true",e.textContent=".rbe-ai-inline-btn{width:34px;height:34px;border:1px solid #cbd5e1;border-radius:8px;background:#eef6ff;color:#155eef;display:inline-grid;place-items:center;cursor:pointer;font-weight:800;}.rbe-ai-inline-btn:hover,.rbe-ai-inline-btn:focus-visible{border-color:#2563eb;background:#dbeafe;color:#1d4ed8;}.rbe-ai-inline-btn.is-open{border-color:#16a34a;background:#eafaf1;color:#087443;}.rbe-ai-toolbar-btn{position:absolute;left:50%;top:0;transform:translateX(-50%);width:38px;min-width:38px;padding-left:0;padding-right:0;justify-content:center;border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8;box-shadow:0 8px 24px rgba(37,99,235,.14);}.rbe-ai-toolbar-btn:hover:not(:disabled),.rbe-ai-toolbar-btn:focus-visible{border-color:#2563eb;background:#dbeafe;color:#1d4ed8;}.rbe-ai-toolbar-btn.is-open{border-color:#16a34a;background:#eafaf1;color:#087443;}.rbe-ai-drawer{position:fixed;right:18px;top:18px;z-index:11000;width:390px;max-width:calc(100vw - 24px);height:calc(100vh - 36px);display:grid;grid-template-rows:auto 1fr auto;border:1px solid #cbd5e1;border-radius:14px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.25);overflow:hidden;opacity:0;pointer-events:none;transform:translateX(calc(100% + 34px));transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .2s ease;will-change:transform,opacity;}.rbe-ai-drawer.is-open{opacity:1;pointer-events:auto;transform:translateX(0);}.rbe-ai-drawer[hidden]{display:none!important;}.rbe-ai-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#f8fbff,#eef6ff);}.rbe-ai-title{display:flex;align-items:center;gap:10px;font-weight:850;color:#0f172a;}.rbe-ai-title-icon{width:34px;height:34px;border-radius:10px;background:#eafaf2;color:#12a865;display:grid;place-items:center;}.rbe-ai-close{width:32px;height:32px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#172033;display:grid;place-items:center;cursor:pointer;}.rbe-ai-body{padding:14px 16px;overflow:auto;display:grid;gap:14px;align-content:start;}.rbe-ai-section{display:grid;gap:8px;}.rbe-ai-label{font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.03em;color:#667085;}.rbe-ai-selection,.rbe-ai-result{border:1px solid #d7dee8;border-radius:10px;background:#f8fafc;color:#172033;padding:10px 12px;min-height:54px;max-height:132px;overflow:auto;font:13px/1.45 Arial,sans-serif;white-space:pre-wrap;}.rbe-ai-selection.is-empty{color:#98a2b3;}.rbe-ai-mode{display:flex;align-items:flex-start;gap:10px;border:1px solid #d7dee8;border-radius:10px;background:#fff;padding:10px 12px;cursor:pointer;}.rbe-ai-mode:hover{border-color:#93c5fd;background:#eff6ff;}.rbe-ai-mode input{width:18px;height:18px;margin:1px 0 0;accent-color:#16a34a;flex:0 0 auto;}.rbe-ai-mode strong{display:block;font-size:13px;line-height:1.2;color:#172033;}.rbe-ai-mode small{display:block;margin-top:3px;color:#667085;font-size:11px;line-height:1.3;}.rbe-ai-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}.rbe-ai-action{border:1px solid #d7dee8;border-radius:10px;background:#fff;color:#172033;padding:10px;display:flex;gap:9px;align-items:flex-start;text-align:left;cursor:pointer;}.rbe-ai-action:hover,.rbe-ai-action:focus-visible{border-color:#2563eb;background:#eff6ff;}.rbe-ai-action i{margin-top:2px;color:#1d4ed8;}.rbe-ai-action strong{display:block;font-size:13px;line-height:1.2;}.rbe-ai-action small{display:block;margin-top:3px;color:#667085;font-size:11px;line-height:1.25;}.rbe-ai-prompt{width:100%;min-height:110px;resize:vertical;border:1px solid #d7dee8;border-radius:10px;padding:10px 12px;color:#172033;font:14px/1.45 Arial,sans-serif;}.rbe-ai-prompt:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12);}.rbe-ai-primary,.rbe-ai-secondary{border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#172033;font-weight:850;padding:9px 12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;}.rbe-ai-primary{border-color:#2563eb;background:#2563eb;color:#fff;}.rbe-ai-primary:hover{background:#1d4ed8;}.rbe-ai-secondary:hover{border-color:#2563eb;color:#1d4ed8;background:#eff6ff;}.rbe-ai-primary[disabled],.rbe-ai-secondary[disabled],.rbe-ai-action[disabled]{opacity:.55;cursor:not-allowed;}.rbe-ai-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 16px;border-top:1px solid #e2e8f0;background:#f8fafc;}.rbe-ai-foot-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;min-width:0;width:100%;}.rbe-ai-apply{flex:0 1 112px;min-width:96px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.rbe-toast-stack{position:fixed;right:18px;bottom:18px;z-index:12000;display:grid;gap:10px;width:min(360px,calc(100vw - 24px));pointer-events:none;}.rbe-toast{display:flex;align-items:flex-start;gap:10px;border:1px solid #d7dee8;border-radius:12px;background:#fff;color:#172033;padding:12px 14px;box-shadow:0 18px 48px rgba(15,23,42,.18);opacity:0;transform:translateY(12px) scale(.98);transition:opacity .24s ease,transform .24s ease;pointer-events:auto;}.rbe-toast.is-show{opacity:1;transform:translateY(0) scale(1);}.rbe-toast.is-hiding{opacity:0;transform:translateY(10px) scale(.98);}.rbe-toast i{margin-top:2px;}.rbe-toast strong{display:block;font-size:13px;line-height:1.25;}.rbe-toast span{display:block;margin-top:2px;font-size:12px;line-height:1.4;color:#475467;}.rbe-toast.is-error{border-color:#fecaca;background:#fff7f7;}.rbe-toast.is-error i,.rbe-toast.is-error strong{color:#b42318;}.rbe-toast.is-warning{border-color:#fedf89;background:#fffbeb;}.rbe-toast.is-warning i,.rbe-toast.is-warning strong{color:#b54708;}@media (max-width:900px){.rbe-ai-toolbar-btn{position:static;transform:none;order:-1;}}@media (max-width:700px){.rbe-ai-drawer{inset:10px;width:auto;height:auto;max-height:calc(100dvh - 20px);border-radius:12px;}.rbe-ai-action-grid{grid-template-columns:1fr;}.rbe-ai-head,.rbe-ai-body,.rbe-ai-foot{padding-left:12px;padding-right:12px;}}@media (max-width:520px){.rbe-ai-foot-actions{justify-content:stretch;width:100%;}.rbe-ai-primary,.rbe-ai-secondary{width:100%;}.rbe-ai-apply{flex:1 1 auto;min-width:0;}.rbe-ai-title{min-width:0;}.rbe-ai-title span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.rbe-toast-stack{right:10px;bottom:10px;width:calc(100vw - 20px);}}",document.head.appendChild(e)}}function s(e,t){if(!e||!e.root||!t)return!1;var r=t.commonAncestorContainer;return r&&r.nodeType!==Node.ELEMENT_NODE&&(r=r.parentElement),!(!r||!e.root.contains(r))}function l(e){var t=function(e){var t=window.getSelection();if(t&&t.rangeCount&&!t.isCollapsed){var r=t.getRangeAt(0);if(s(e,r))return e.savedRange=r.cloneRange(),e.savedRange}return e.savedRange&&s(e,e.savedRange)?e.savedRange:null}(e);return t?t.toString().trim():""}function c(e,t,r){if(!(r=r||e.__blockwriteaiAI&&e.__blockwriteaiAI.lastRange||e.savedRange)||!s(e,r))return!1;var o=window.getSelection();o.removeAllRanges(),o.addRange(r),r.deleteContents();var i=function(e){var t=document.createDocumentFragment();return String(e||"").split(/\n/).forEach(function(e,r){r&&t.appendChild(document.createElement("br")),t.appendChild(document.createTextNode(e))}),t}(t),a=i.lastChild;if(r.insertNode(i),a&&a.parentNode){var n=document.createRange();n.setStartAfter(a),n.collapse(!0),o.removeAllRanges(),o.addRange(n),e.savedRange=n.cloneRange()}return"function"==typeof e.noteHistory&&e.noteHistory("AI","Text applied"),"function"==typeof e.changed&&e.changed(!0),"function"==typeof e.updateInlineToolbarState&&e.updateInlineToolbarState(),!0}function d(e){if(!e||"function"!=typeof e.isPremiumFeatureEnabled)return!0;try{return e.isPremiumFeatureEnabled.call(e,"ai")}catch(e){return!1}}function p(e){if(e&&"function"==typeof e.premiumMessage)try{return e.premiumMessage.call(e,"ai")}catch(e){}return"AI is locked. Please add an active BlockWriteAI premium license."}function u(e){if(d(e))return!0;if(w(e,p(e),"warning"),e&&"function"==typeof e.showPremiumUpgradeModal)try{e.showPremiumUpgradeModal.call(e,"ai","locked")}catch(e){}return!1}function f(e,t){return(e=String(null==e?"":e).trim()).length>t?e.slice(0,t):e}function b(e){if(!e)return"";if("string"==typeof e.result)return e.result;if(Array.isArray(e.blocks))return"Generated "+e.blocks.length+" block(s).";if("string"==typeof e.error)return e.error;try{return JSON.stringify(e)}catch(e){return""}}function g(e,t,r,o){var i=function(e,t){return t&&t.usage_event_id?t.usage_event_id:t&&t.usage_result&&t.usage_result.event_id?t.usage_result.event_id:e&&e.lastPremiumUsageResult&&e.lastPremiumUsageResult.event_id?e.lastPremiumUsageResult.event_id:null}(e,t),a=e&&e.premiumOptions?e.premiumOptions:{},n=function(e){var t=e&&e.premiumOptions?e.premiumOptions:{};return t.usageDetailEndpoint?t.usageDetailEndpoint:t.usageEndpoint?t.usageEndpoint.replace(/ai_usage\.php(?:\?.*)?$/i,"ai_usage_detail.php"):""}(e);if(!i||!n||!a.licenseKey||"function"!=typeof fetch)return Promise.resolve();var s=Object.assign({action:"update",license_key:a.licenseKey,event_id:i,route:f(r&&r.route,80),prompt:f(r&&r.prompt,4e3),selected_text:f(r&&r.text,3e3)},o||{});return a.sessionToken&&(s.session_token=a.sessionToken),fetch(n,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(s)}).catch(function(){})}function m(e){if(e&&e.root){var t=!d(e);Array.prototype.slice.call(e.root.querySelectorAll(".rbe-ai-inline-btn,.rbe-ai-toolbar-btn")).forEach(function(r){r.classList.toggle("is-premium-locked",t),r.setAttribute("aria-disabled",t?"true":"false"),r.title=t?p(e):"BlockWriteAI"}),t&&T(e)&&S(e)}}function h(t,r){var o=function(t){var r=t&&t.options?t.options.ai:null;return r&&"string"==typeof r.endpoint&&r.endpoint?r.endpoint:e.ai&&"string"==typeof e.ai.endpoint&&e.ai.endpoint?e.ai.endpoint:"api/ai.php"}(t),i=Date.now();r=Object.assign({},r||{});var a=null;return function(e,t){if(e&&"function"==typeof e.consumePremiumUsage)try{return Promise.resolve(e.consumePremiumUsage.call(e,"ai",{action:t&&t.action?t.action:"generate",source:"ai_plugin",prompt:t&&t.prompt?t.prompt:"",selected_text:t&&t.text?t.text:""}))}catch(e){return Promise.reject(e)}return Promise.resolve()}(t,r).then(function(e){a=e;var n=e&&(e.usage_result||e.lastPremiumUsageResult);return n&&(n.model&&(r.model=n.model),n.route&&(r.route=n.route),void 0!==n.credits_required&&(r.credits_required=n.credits_required)),fetch(o,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(r)}).then(function(e){return e.json().catch(function(){return{}}).then(function(o){if(!e.ok||!1===o.ok){var n=new Error(o.error||"AI request failed");throw n.httpStatus=e.status,n}return g(t,a,r,{status:"completed",duration_ms:Date.now()-i,model:o.model||"",model_used:o.model_used||o.model||"",input_tokens:o.input_tokens||0,output_tokens:o.output_tokens||0,total_tokens:o.total_tokens||0,estimated_cost:o.estimated_cost||0,response_source:o.response_source||"",response_type:o.type||(Array.isArray(o.blocks)?"blocks":"text"),response:f(b(o),6e3),response_character_count:o.response_character_count||void 0,response_token_count:o.response_token_count||void 0,blocks_generated:Array.isArray(o.blocks)?o.blocks.length:void 0}),o})})}).catch(function(e){throw g(t,a,r,{status:"failed",duration_ms:Date.now()-i,http_status:e&&e.httpStatus?e.httpStatus:0,response_type:"error",error_reason:f(e&&e.message?e.message:"AI request failed",1200)}),e})}function x(e){return e.__blockwriteaiAI||(e.__blockwriteaiAI={drawer:null,lastRange:null,lastText:"",result:"",loading:!1,closeTimer:null,progressTimer:null}),e.__blockwriteaiAI}function y(e,t,r){e&&e.root&&"function"==typeof CustomEvent&&e.root.dispatchEvent(new CustomEvent("rbe:ai-progress",{bubbles:!0,detail:{active:!!t,message:r||""}}))}function v(e,t,r,o){var i=x(e);i.progressTimer&&(clearTimeout(i.progressTimer),i.progressTimer=null),t?y(e,!0,r||"Working with BlockWriteAI..."):i.progressTimer=setTimeout(function(){y(e,!1,""),i.progressTimer=null},"number"==typeof o?o:0)}function w(e,t,a){if(t&&"undefined"!=typeof document){n();var s=document.querySelector(".rbe-toast-stack");s||(s=r("div","rbe-toast-stack",{role:"status","aria-live":"polite"}),document.body.appendChild(s));var l="error"===a?"error":"warning",c=r("div","rbe-toast is-"+l,{});c.innerHTML=i("error"===l?"circle-exclamation":"triangle-exclamation",l)+"<div><strong>"+o("error"===l?"BlockWriteAI error":"BlockWriteAI warning")+"</strong><span>"+o(t)+"</span></div>",s.appendChild(c),requestAnimationFrame(function(){c.classList.add("is-show")}),setTimeout(function(){c.classList.remove("is-show"),c.classList.add("is-hiding"),setTimeout(function(){c.parentNode&&c.parentNode.removeChild(c),s&&!s.children.length&&s.parentNode&&s.parentNode.removeChild(s)},260)},5e3)}}function k(e,t){var r=x(e);r.loading=!!t,r.drawer&&Array.prototype.slice.call(r.drawer.querySelectorAll("button")).forEach(function(e){e.classList.contains("rbe-ai-close")||(e.disabled=!!t||e.classList.contains("rbe-ai-apply")&&!r.result)})}function _(e){var t=x(e);if(t.drawer){var r=l(e);t.lastRange=e.savedRange&&s(e,e.savedRange)?e.savedRange.cloneRange():null,t.lastText=r;var o=t.drawer.querySelector(".rbe-ai-selection");o&&(o.textContent=r||"Select text in the editor, then choose an AI action.",o.classList.toggle("is-empty",!r))}}function A(e,t){e&&e.root&&Array.prototype.slice.call(e.root.querySelectorAll(".rbe-ai-inline-btn,.rbe-ai-toolbar-btn")).forEach(function(e){e.classList.toggle("is-open",!!t)})}function T(e){var t=x(e);return!(!t.drawer||t.drawer.hidden||!t.drawer.classList.contains("is-open"))}function I(e){if(u(e)){var t,s,l=x(e),c=function(e){var t=x(e);if(t.drawer)return t.drawer;n();var s=r("aside","rbe-ai-drawer",{hidden:!0,role:"dialog","aria-label":"BlockWriteAI"});return s.innerHTML='<div class="rbe-ai-head"><div class="rbe-ai-title"><span class="rbe-ai-title-icon"><i class="fa-solid fa-wand-magic-sparkles" aria-hidden="true"></i></span><span>BlockWriteAI</span></div><button type="button" class="rbe-ai-close" title="Close AI">'+i("xmark","Close")+'</button></div><div class="rbe-ai-body"><section class="rbe-ai-section"><div class="rbe-ai-label">Selection</div><div class="rbe-ai-selection is-empty"></div></section><section class="rbe-ai-section"><div class="rbe-ai-label">Actions</div><div class="rbe-ai-action-grid">'+a.map(function(e){return'<button type="button" class="rbe-ai-action" data-ai-action="'+o(e[0])+'">'+i(e[1],e[2])+"<span><strong>"+o(e[2])+"</strong><small>"+o(e[3])+"</small></span></button>"}).join("")+'</div></section><section class="rbe-ai-section"><div class="rbe-ai-label">Generate blocks from prompt</div><textarea class="rbe-ai-prompt" placeholder="Example: Create a short project proposal with a heading, summary, checklist, and next steps."></textarea><button type="button" class="rbe-ai-primary rbe-ai-generate">'+i("sparkles","Generate")+'<span>Generate blocks</span></button></section><section class="rbe-ai-section"><div class="rbe-ai-label">Result</div><div class="rbe-ai-result"></div></section></div><div class="rbe-ai-foot"><div class="rbe-ai-foot-actions"><button type="button" class="rbe-ai-secondary rbe-ai-apply" disabled>'+i("check","Apply")+"<span>Apply</span></button></div></div>",e.root.appendChild(s),t.drawer=s,s}(e);_(e),l.closeTimer&&(clearTimeout(l.closeTimer),l.closeTimer=null),c.hidden=!1,c.getBoundingClientRect(),requestAnimationFrame(function(){c.classList.add("is-open")}),A(e,!0),(t="")&&s&&w(0,t,"error"),l.lastText||setTimeout(function(){var e=c.querySelector(".rbe-ai-prompt");e&&e.focus()},0)}}function S(e){var t=x(e);t.drawer&&(t.closeTimer&&clearTimeout(t.closeTimer),t.drawer.classList.remove("is-open"),A(e,!1),t.closeTimer=setTimeout(function(){t.drawer&&(t.drawer.hidden=!0,t.closeTimer=null)},300))}function C(e,t){var r=x(e);if(r.result=String(t||"").trim(),r.drawer){var o=r.drawer.querySelector(".rbe-ai-result"),i=r.drawer.querySelector(".rbe-ai-apply");o&&(o.textContent=r.result),i&&(i.disabled=r.loading||!r.result)}}function R(e){return e&&"object"==typeof e?{type:String(e.type||"paragraph"),data:e.data&&"object"==typeof e.data?e.data:{}}:null}function E(e,t){if(!(t=(t||[]).map(R).filter(Boolean)).length)return 0;var r="function"==typeof e.getCurrentBlock?e.getCurrentBlock():null,o=r&&"function"==typeof e.indexOfBlock?e.indexOfBlock(r)+1:e.canvas.children.length,i=e.canvas&&1===e.canvas.children.length?e.canvas.children[0]:null;i&&function(e){if(!e||!e.dataset||"paragraph"!==e.dataset.type)return!1;var t=e.querySelector(".rbe-paragraph"),r=t?t.textContent:e.textContent;return!String(r||"").trim()}(i)&&(o=0,i.remove());var a=0;return t.forEach(function(t){if(function(t){if(!e||"function"!=typeof e.getPremiumFeatureForTool||"function"!=typeof e.isPremiumFeatureEnabled)return!0;var r=e.getPremiumFeatureForTool.call(e,t);return!(r&&!e.isPremiumFeatureEnabled.call(e,r)&&("function"==typeof e.showPremiumLocked&&e.showPremiumLocked.call(e,r),1))}(t.type))try{var r=null;"function"==typeof e.insertBlock?(r=e.insertBlock.call(e,t.type,t.data,o))&&(o+=1):"function"==typeof e.createBlock&&(r=e.createBlock.call(e,t.type,t.data),e.canvas.appendChild(r)),r&&(a+=1)}catch(e){w(0,e&&e.message?e.message:"Unable to insert generated block.","error")}}),a&&"function"==typeof e.noteHistory&&e.noteHistory("AI","Generated "+a+" blocks"),a&&"function"==typeof e.changed&&e.changed(!0),a}function P(e){e&&e.root&&!e.__blockwriteaiAIRefreshBound&&(e.root.addEventListener("rbe:premium-change",m.bind(null,e)),e.__blockwriteaiAIRefreshBound=!0)}function B(e,t){return t=t||e&&e.topToolbar,e&&!1!==e.options.ai&&t?(n(),t.querySelector(".rbe-ai-toolbar-btn")||t.appendChild(r("button","rbe-history-btn rbe-ai-toolbar-btn",{type:"button",title:"BlockWriteAI",html:i("wand-magic-sparkles","BlockWriteAI"),dataset:{aiToolbar:"true",premiumFeature:"ai",unlockedTitle:"BlockWriteAI"}})),P(e),m(e),t):t}function q(e,t){return t=t||e&&e.inlineToolbar,e&&!1!==e.options.ai&&t?(n(),t.querySelector(".rbe-ai-inline-btn")||t.appendChild(r("button","rbe-ai-inline-btn",{type:"button",title:"BlockWriteAI",html:i("wand-magic-sparkles","AI"),dataset:{aiInline:"true",premiumFeature:"ai",unlockedTitle:"BlockWriteAI"}})),P(e),m(e),t):t}var j=e.prototype.createTopToolbar;e.prototype.createTopToolbar=function(){return B(this,j.call(this))};var D=e.prototype.createInlineToolbar;e.prototype.createInlineToolbar=function(){return q(this,D.call(this))},e.prototype.openAI=function(){return!1===this.options.ai?null:u(this)?(I(this),this):null};var L=e.prototype.handleRootClick;e.prototype.handleRootClick=function(e){var t,r=e.target;if(r.closest&&r.closest(".rbe-ai-inline-btn,.rbe-ai-toolbar-btn"))return e.preventDefault(),e.stopPropagation(),void(u(t=this)&&(T(t)?S(t):I(t)));if(r.closest&&r.closest(".rbe-ai-close"))return e.preventDefault(),e.stopPropagation(),void S(this);var o=r.closest&&r.closest(".rbe-ai-action");if(o)return e.preventDefault(),e.stopPropagation(),void function(e,t){if(u(e)){var r=x(e);_(e),r.lastText?(k(e,!0),C(e,""),v(e,!0,"Improving selected text with BlockWriteAI..."),h(e,{action:t,text:r.lastText,document:"function"==typeof e.getData?e.getData():null}).then(function(t){C(e,t.result||"")}).catch(function(e){w(0,e.message||"AI request failed","error")}).finally(function(){k(e,!1),v(e,!1,"",250)})):w(0,"Select text first, then run an AI action.","warning")}}(this,o.dataset.aiAction);if(r.closest&&r.closest(".rbe-ai-generate"))return e.preventDefault(),e.stopPropagation(),void function(e){if(u(e)){var t=x(e),r=t.drawer&&t.drawer.querySelector(".rbe-ai-prompt"),o=r?r.value.trim():"";o?(k(e,!0),C(e,""),v(e,!0,"Generating BlockWriteAI blocks..."),h(e,{action:"generate_blocks",prompt:o,document:"function"==typeof e.getData?e.getData():null}).then(function(t){E(e,t.blocks||[])||w(0,"AI returned no blocks.","warning")}).catch(function(e){w(0,e.message||"AI generation failed","error")}).finally(function(){k(e,!1),v(e,!1,"",250)})):w(0,"Write a prompt before generating blocks.","warning")}}(this);if(!r.closest||!r.closest(".rbe-ai-apply"))return L.call(this,e);e.preventDefault(),e.stopPropagation();var i=x(this);i.result&&c(this,i.result,i.lastRange)?(v(this,!0,"Applying BlockWriteAI result..."),C(this,""),_(this),v(this,!1,"",600)):w(0,"There is no AI result ready to apply.","warning")};var O=e.prototype.handleDocumentMouseDown;return e.prototype.handleDocumentMouseDown=function(e){if(!e.target.closest||!e.target.closest(".rbe-ai-drawer, .rbe-ai-inline-btn, .rbe-ai-toolbar-btn"))return T(this)&&S(this),O.call(this,e)},e.ai=e.ai||{},e.enableAI=function(t){return e.ai=Object.assign(e.ai||{},t||{}),e.configure({ai:Object.assign({},e.ai)}),e},"undefined"!=typeof document&&Array.prototype.slice.call(document.querySelectorAll(".rbe")).forEach(function(e){var t=e.__blockwriteaiInstance;t&&(B(t),q(t))}),e});
|
|
1
|
+
!function(e,t){"object"==typeof module&&module.exports?module.exports=t(require("../blockwriteai")):t(e.BlockWriteAI)}("undefined"!=typeof window?window:this,function(e){"use strict";if(!e||e.__aiPluginInstalled)return e||null;e.__aiPluginInstalled=!0;var t=e.helpers||{},r=t.el||function(e,t,r){var o=document.createElement(e);return t&&(o.className=t),Object.keys(r||{}).forEach(function(e){"html"===e?o.innerHTML=r[e]:"text"===e?o.textContent=r[e]:"dataset"===e?Object.keys(r[e]||{}).forEach(function(t){o.dataset[t]=r[e][t]}):!1!==r[e]&&null!=r[e]&&o.setAttribute(e,!0===r[e]?"":r[e])}),o},o=t.escapeHTML||function(e){return String(null==e?"":e).replace(/[&<>"]/g,function(e){return{"&":"&","<":"<",">":">",'"':"""}[e]})},i=t.faIcon||function(e,t){return'<i class="fa-solid fa-'+o(e)+'" aria-hidden="true"></i><span class="rbe-sr-only">'+o(t||e)+"</span>"},a=[["improve","wand-magic-sparkles","Improve writing","Make selected writing clearer and smoother."],["grammar","spell-check","Fix grammar","Correct grammar, spelling, and punctuation."],["summarize","compress","Summarize","Create a shorter version of the selected text."],["expand","up-right-and-down-left-from-center","Expand","Add helpful detail while keeping the meaning."],["professional","briefcase","Make professional","Rewrite in a polished business tone."]];function n(){if(!document.querySelector("style[data-blockwriteai-ai]")){var e=document.createElement("style");e.dataset.blockwriteaiAi="true",e.textContent=".rbe-ai-inline-btn{width:34px;height:34px;border:1px solid #cbd5e1;border-radius:8px;background:#eef6ff;color:#155eef;display:inline-grid;place-items:center;cursor:pointer;font-weight:800;}.rbe-ai-inline-btn:hover,.rbe-ai-inline-btn:focus-visible{border-color:#2563eb;background:#dbeafe;color:#1d4ed8;}.rbe-ai-inline-btn.is-open{border-color:#16a34a;background:#eafaf1;color:#087443;}.rbe-ai-toolbar-btn{position:absolute;left:50%;top:0;transform:translateX(-50%);width:38px;min-width:38px;padding-left:0;padding-right:0;justify-content:center;border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8;box-shadow:0 8px 24px rgba(37,99,235,.14);}.rbe-ai-toolbar-btn:hover:not(:disabled),.rbe-ai-toolbar-btn:focus-visible{border-color:#2563eb;background:#dbeafe;color:#1d4ed8;}.rbe-ai-toolbar-btn.is-open{border-color:#16a34a;background:#eafaf1;color:#087443;}.rbe-ai-drawer{position:fixed;right:18px;top:18px;z-index:11000;width:390px;max-width:calc(100vw - 24px);height:calc(100vh - 36px);display:grid;grid-template-rows:auto 1fr auto;border:1px solid #cbd5e1;border-radius:14px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.25);overflow:hidden;opacity:0;pointer-events:none;transform:translateX(calc(100% + 34px));transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .2s ease;will-change:transform,opacity;}.rbe-ai-drawer.is-open{opacity:1;pointer-events:auto;transform:translateX(0);}.rbe-ai-drawer[hidden]{display:none!important;}.rbe-ai-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#f8fbff,#eef6ff);}.rbe-ai-title{display:flex;align-items:center;gap:10px;font-weight:850;color:#0f172a;}.rbe-ai-title-icon{width:34px;height:34px;border-radius:10px;background:#eafaf2;color:#12a865;display:grid;place-items:center;}.rbe-ai-close{width:32px;height:32px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#172033;display:grid;place-items:center;cursor:pointer;}.rbe-ai-body{padding:14px 16px;overflow:auto;display:grid;gap:14px;align-content:start;}.rbe-ai-section{display:grid;gap:8px;}.rbe-ai-label{font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.03em;color:#667085;}.rbe-ai-selection,.rbe-ai-result{border:1px solid #d7dee8;border-radius:10px;background:#f8fafc;color:#172033;padding:10px 12px;min-height:54px;max-height:132px;overflow:auto;font:13px/1.45 Arial,sans-serif;white-space:pre-wrap;}.rbe-ai-selection.is-empty{color:#98a2b3;}.rbe-ai-mode{display:flex;align-items:flex-start;gap:10px;border:1px solid #d7dee8;border-radius:10px;background:#fff;padding:10px 12px;cursor:pointer;}.rbe-ai-mode:hover{border-color:#93c5fd;background:#eff6ff;}.rbe-ai-mode input{width:18px;height:18px;margin:1px 0 0;accent-color:#16a34a;flex:0 0 auto;}.rbe-ai-mode strong{display:block;font-size:13px;line-height:1.2;color:#172033;}.rbe-ai-mode small{display:block;margin-top:3px;color:#667085;font-size:11px;line-height:1.3;}.rbe-ai-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}.rbe-ai-action{border:1px solid #d7dee8;border-radius:10px;background:#fff;color:#172033;padding:10px;display:flex;gap:9px;align-items:flex-start;text-align:left;cursor:pointer;}.rbe-ai-action:hover,.rbe-ai-action:focus-visible{border-color:#2563eb;background:#eff6ff;}.rbe-ai-action i{margin-top:2px;color:#1d4ed8;}.rbe-ai-action strong{display:block;font-size:13px;line-height:1.2;}.rbe-ai-action small{display:block;margin-top:3px;color:#667085;font-size:11px;line-height:1.25;}.rbe-ai-prompt{width:100%;min-height:110px;resize:vertical;border:1px solid #d7dee8;border-radius:10px;padding:10px 12px;color:#172033;font:14px/1.45 Arial,sans-serif;}.rbe-ai-prompt:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12);}.rbe-ai-primary,.rbe-ai-secondary{border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#172033;font-weight:850;padding:9px 12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;}.rbe-ai-primary{border-color:#2563eb;background:#2563eb;color:#fff;}.rbe-ai-primary:hover{background:#1d4ed8;}.rbe-ai-secondary:hover{border-color:#2563eb;color:#1d4ed8;background:#eff6ff;}.rbe-ai-primary[disabled],.rbe-ai-secondary[disabled],.rbe-ai-action[disabled]{opacity:.55;cursor:not-allowed;}.rbe-ai-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 16px;border-top:1px solid #e2e8f0;background:#f8fafc;}.rbe-ai-foot-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;min-width:0;width:100%;}.rbe-ai-apply{flex:0 1 112px;min-width:96px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.rbe-toast-stack{position:fixed;right:18px;bottom:18px;z-index:12000;display:grid;gap:10px;width:min(360px,calc(100vw - 24px));pointer-events:none;}.rbe-toast{display:flex;align-items:flex-start;gap:10px;border:1px solid #d7dee8;border-radius:12px;background:#fff;color:#172033;padding:12px 14px;box-shadow:0 18px 48px rgba(15,23,42,.18);opacity:0;transform:translateY(12px) scale(.98);transition:opacity .24s ease,transform .24s ease;pointer-events:auto;}.rbe-toast.is-show{opacity:1;transform:translateY(0) scale(1);}.rbe-toast.is-hiding{opacity:0;transform:translateY(10px) scale(.98);}.rbe-toast i{margin-top:2px;}.rbe-toast strong{display:block;font-size:13px;line-height:1.25;}.rbe-toast span{display:block;margin-top:2px;font-size:12px;line-height:1.4;color:#475467;}.rbe-toast.is-error{border-color:#fecaca;background:#fff7f7;}.rbe-toast.is-error i,.rbe-toast.is-error strong{color:#b42318;}.rbe-toast.is-warning{border-color:#fedf89;background:#fffbeb;}.rbe-toast.is-warning i,.rbe-toast.is-warning strong{color:#b54708;}@media (max-width:900px){.rbe-ai-toolbar-btn{position:static;transform:none;order:-1;}}@media (max-width:700px){.rbe-ai-drawer{inset:10px;width:auto;height:auto;max-height:calc(100dvh - 20px);border-radius:12px;}.rbe-ai-action-grid{grid-template-columns:1fr;}.rbe-ai-head,.rbe-ai-body,.rbe-ai-foot{padding-left:12px;padding-right:12px;}}@media (max-width:520px){.rbe-ai-foot-actions{justify-content:stretch;width:100%;}.rbe-ai-primary,.rbe-ai-secondary{width:100%;}.rbe-ai-apply{flex:1 1 auto;min-width:0;}.rbe-ai-title{min-width:0;}.rbe-ai-title span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.rbe-toast-stack{right:10px;bottom:10px;width:calc(100vw - 20px);}}",document.head.appendChild(e)}}function s(e,t){if(!e||!e.root||!t)return!1;var r=t.commonAncestorContainer;return r&&r.nodeType!==Node.ELEMENT_NODE&&(r=r.parentElement),!(!r||!e.root.contains(r))}function l(e){var t=function(e){var t=window.getSelection();if(t&&t.rangeCount&&!t.isCollapsed){var r=t.getRangeAt(0);if(s(e,r))return e.savedRange=r.cloneRange(),e.savedRange}return e.savedRange&&s(e,e.savedRange)?e.savedRange:null}(e);return t?t.toString().trim():""}function c(e,t,r){if(!(r=r||e.__blockwriteaiAI&&e.__blockwriteaiAI.lastRange||e.savedRange)||!s(e,r))return!1;var o=window.getSelection();o.removeAllRanges(),o.addRange(r),r.deleteContents();var i=function(e){var t=document.createDocumentFragment();return String(e||"").split(/\n/).forEach(function(e,r){r&&t.appendChild(document.createElement("br")),t.appendChild(document.createTextNode(e))}),t}(t),a=i.lastChild;if(r.insertNode(i),a&&a.parentNode){var n=document.createRange();n.setStartAfter(a),n.collapse(!0),o.removeAllRanges(),o.addRange(n),e.savedRange=n.cloneRange()}return"function"==typeof e.noteHistory&&e.noteHistory("AI","Text applied"),"function"==typeof e.changed&&e.changed(!0),"function"==typeof e.updateInlineToolbarState&&e.updateInlineToolbarState(),!0}function d(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 p(e){return/\/api\/ai_generate\.php(?:[?#].*)?$/i.test(String(e||""))}function u(e){if(!e||"function"!=typeof e.isPremiumFeatureEnabled)return!0;try{return e.isPremiumFeatureEnabled.call(e,"ai")}catch(e){return!1}}function f(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 b(e){if(u(e))return!0;if(_(e,f(e),"warning"),e&&"function"==typeof e.showPremiumUpgradeModal)try{e.showPremiumUpgradeModal.call(e,"ai","locked")}catch(e){}return!1}function g(e,t){return(e=String(null==e?"":e).trim()).length>t?e.slice(0,t):e}function m(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,o){var i=function(e,t){return t&&t.usage_event_id?t.usage_event_id:t&&t.usage_result&&t.usage_result.event_id?t.usage_result.event_id:e&&e.lastPremiumUsageResult&&e.lastPremiumUsageResult.event_id?e.lastPremiumUsageResult.event_id:null}(e,t),a=e&&e.premiumOptions?e.premiumOptions:{},n=function(e){var t=e&&e.premiumOptions?e.premiumOptions:{};return t.usageDetailEndpoint?t.usageDetailEndpoint:t.usageEndpoint?t.usageEndpoint.replace(/ai_usage\.php(?:\?.*)?$/i,"ai_usage_detail.php"):""}(e);if(!i||!n||!a.licenseKey||"function"!=typeof fetch)return Promise.resolve();var s=Object.assign({action:"update",license_key:a.licenseKey,event_id:i,route:g(r&&r.route,80),prompt:g(r&&r.prompt,4e3),selected_text:g(r&&r.text,3e3)},o||{});return a.sessionToken&&(s.session_token=a.sessionToken),fetch(n,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(s)}).catch(function(){})}function y(e){if(e&&e.root){var t=!u(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?f(e):"BlockWriteAI"}),t&&S(e)&&E(e)}}function x(e,t){var r=d(e),o=Date.now();t=function(e,t,r){if(t=Object.assign({},t||{}),!p(r))return t;var o=e&&e.premiumOptions?e.premiumOptions:{};return o.licenseKey&&!t.license_key&&(t.license_key=o.licenseKey),o.sessionToken&&!t.session_token&&(t.session_token=o.sessionToken),t}(e,t,r);var i=null;return function(e,t){if(p(d(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(a){i=a;var n=a&&(a.usage_result||a.lastPremiumUsageResult);return n&&(n.model&&(t.model=n.model),n.route&&(t.route=n.route),void 0!==n.credits_required&&(t.credits_required=n.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(a){if(!r.ok||!1===a.ok){var n=new Error(a.error||"AI request failed");throw n.httpStatus=r.status,n}return h(e,i,t,{status:"completed",duration_ms:Date.now()-o,model:a.model||"",model_used:a.model_used||a.model||"",input_tokens:a.input_tokens||0,output_tokens:a.output_tokens||0,total_tokens:a.total_tokens||0,estimated_cost:a.estimated_cost||0,response_source:a.response_source||"",response_type:a.type||(Array.isArray(a.blocks)?"blocks":"text"),response:g(m(a),6e3),response_character_count:a.response_character_count||void 0,response_token_count:a.response_token_count||void 0,blocks_generated:Array.isArray(a.blocks)?a.blocks.length:void 0}),a})})}).catch(function(r){throw h(e,i,t,{status:"failed",duration_ms:Date.now()-o,http_status:r&&r.httpStatus?r.httpStatus:0,response_type:"error",error_reason:g(r&&r.message?r.message:"AI request failed",1200)}),r})}function v(e){return e.__blockwriteaiAI||(e.__blockwriteaiAI={drawer:null,lastRange:null,lastText:"",result:"",loading:!1,closeTimer:null,progressTimer:null}),e.__blockwriteaiAI}function w(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 k(e,t,r,o){var i=v(e);i.progressTimer&&(clearTimeout(i.progressTimer),i.progressTimer=null),t?w(e,!0,r||"Working with BlockWriteAI..."):i.progressTimer=setTimeout(function(){w(e,!1,""),i.progressTimer=null},"number"==typeof o?o:0)}function _(e,t,a){if(t&&"undefined"!=typeof document){n();var s=document.querySelector(".rbe-toast-stack");s||(s=r("div","rbe-toast-stack",{role:"status","aria-live":"polite"}),document.body.appendChild(s));var l="error"===a?"error":"warning",c=r("div","rbe-toast is-"+l,{});c.innerHTML=i("error"===l?"circle-exclamation":"triangle-exclamation",l)+"<div><strong>"+o("error"===l?"BlockWriteAI error":"BlockWriteAI warning")+"</strong><span>"+o(t)+"</span></div>",s.appendChild(c),requestAnimationFrame(function(){c.classList.add("is-show")}),setTimeout(function(){c.classList.remove("is-show"),c.classList.add("is-hiding"),setTimeout(function(){c.parentNode&&c.parentNode.removeChild(c),s&&!s.children.length&&s.parentNode&&s.parentNode.removeChild(s)},260)},5e3)}}function A(e,t){var r=v(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 T(e){var t=v(e);if(t.drawer){var r=l(e);t.lastRange=e.savedRange&&s(e,e.savedRange)?e.savedRange.cloneRange():null,t.lastText=r;var o=t.drawer.querySelector(".rbe-ai-selection");o&&(o.textContent=r||"Select text in the editor, then choose an AI action.",o.classList.toggle("is-empty",!r))}}function I(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 S(e){var t=v(e);return!(!t.drawer||t.drawer.hidden||!t.drawer.classList.contains("is-open"))}function C(e){if(b(e)){var t,s,l=v(e),c=function(e){var t=v(e);if(t.drawer)return t.drawer;n();var s=r("aside","rbe-ai-drawer",{hidden:!0,role:"dialog","aria-label":"BlockWriteAI"});return s.innerHTML='<div class="rbe-ai-head"><div class="rbe-ai-title"><span class="rbe-ai-title-icon">'+i("wand-magic-sparkles","BlockWriteAI")+'</span><span>BlockWriteAI</span></div><button type="button" class="rbe-ai-close" title="Close AI">'+i("xmark","Close")+'</button></div><div class="rbe-ai-body"><section class="rbe-ai-section"><div class="rbe-ai-label">Selection</div><div class="rbe-ai-selection is-empty"></div></section><section class="rbe-ai-section"><div class="rbe-ai-label">Actions</div><div class="rbe-ai-action-grid">'+a.map(function(e){return'<button type="button" class="rbe-ai-action" data-ai-action="'+o(e[0])+'">'+i(e[1],e[2])+"<span><strong>"+o(e[2])+"</strong><small>"+o(e[3])+"</small></span></button>"}).join("")+'</div></section><section class="rbe-ai-section"><div class="rbe-ai-label">Generate blocks from prompt</div><textarea class="rbe-ai-prompt" placeholder="Example: Create a short project proposal with a heading, summary, checklist, and next steps."></textarea><button type="button" class="rbe-ai-primary rbe-ai-generate">'+i("sparkles","Generate")+'<span>Generate blocks</span></button></section><section class="rbe-ai-section"><div class="rbe-ai-label">Result</div><div class="rbe-ai-result"></div></section></div><div class="rbe-ai-foot"><div class="rbe-ai-foot-actions"><button type="button" class="rbe-ai-secondary rbe-ai-apply" disabled>'+i("check","Apply")+"<span>Apply</span></button></div></div>",e.root.appendChild(s),t.drawer=s,s}(e);T(e),l.closeTimer&&(clearTimeout(l.closeTimer),l.closeTimer=null),c.hidden=!1,c.getBoundingClientRect(),requestAnimationFrame(function(){c.classList.add("is-open")}),I(e,!0),(t="")&&s&&_(0,t,"error"),l.lastText||setTimeout(function(){var e=c.querySelector(".rbe-ai-prompt");e&&e.focus()},0)}}function E(e){var t=v(e);t.drawer&&(t.closeTimer&&clearTimeout(t.closeTimer),t.drawer.classList.remove("is-open"),I(e,!1),t.closeTimer=setTimeout(function(){t.drawer&&(t.drawer.hidden=!0,t.closeTimer=null)},300))}function R(e,t){var r=v(e);if(r.result=String(t||"").trim(),r.drawer){var o=r.drawer.querySelector(".rbe-ai-result"),i=r.drawer.querySelector(".rbe-ai-apply");o&&(o.textContent=r.result),i&&(i.disabled=r.loading||!r.result)}}function P(e){return e&&"object"==typeof e?{type:String(e.type||"paragraph"),data:e.data&&"object"==typeof e.data?e.data:{}}:null}function B(e,t){if(!(t=(t||[]).map(P).filter(Boolean)).length)return 0;var r="function"==typeof e.getCurrentBlock?e.getCurrentBlock():null,o=r&&"function"==typeof e.indexOfBlock?e.indexOfBlock(r)+1:e.canvas.children.length,i=e.canvas&&1===e.canvas.children.length?e.canvas.children[0]:null;i&&function(e){if(!e||!e.dataset||"paragraph"!==e.dataset.type)return!1;var t=e.querySelector(".rbe-paragraph"),r=t?t.textContent:e.textContent;return!String(r||"").trim()}(i)&&(o=0,i.remove());var a=0;return t.forEach(function(t){if(function(t){if(!e||"function"!=typeof e.getPremiumFeatureForTool||"function"!=typeof e.isPremiumFeatureEnabled)return!0;var r=e.getPremiumFeatureForTool.call(e,t);return!(r&&!e.isPremiumFeatureEnabled.call(e,r)&&("function"==typeof e.showPremiumLocked&&e.showPremiumLocked.call(e,r),1))}(t.type))try{var r=null;"function"==typeof e.insertBlock?(r=e.insertBlock.call(e,t.type,t.data,o))&&(o+=1):"function"==typeof e.createBlock&&(r=e.createBlock.call(e,t.type,t.data),e.canvas.appendChild(r)),r&&(a+=1)}catch(e){_(0,e&&e.message?e.message:"Unable to insert generated block.","error")}}),a&&"function"==typeof e.noteHistory&&e.noteHistory("AI","Generated "+a+" blocks"),a&&"function"==typeof e.changed&&e.changed(!0),a}function q(e){e&&e.root&&!e.__blockwriteaiAIRefreshBound&&(e.root.addEventListener("rbe:premium-change",y.bind(null,e)),e.__blockwriteaiAIRefreshBound=!0)}function j(e,t){return t=t||e&&e.topToolbar,e&&!1!==e.options.ai&&t?(n(),t.querySelector(".rbe-ai-toolbar-btn")||t.appendChild(r("button","rbe-history-btn rbe-ai-toolbar-btn",{type:"button",title:"BlockWriteAI",html:i("wand-magic-sparkles","BlockWriteAI"),dataset:{aiToolbar:"true",premiumFeature:"ai",unlockedTitle:"BlockWriteAI"}})),q(e),y(e),t):t}function D(e,t){return t=t||e&&e.inlineToolbar,e&&!1!==e.options.ai&&t?(n(),t.querySelector(".rbe-ai-inline-btn")||t.appendChild(r("button","rbe-ai-inline-btn",{type:"button",title:"BlockWriteAI",html:i("wand-magic-sparkles","AI"),dataset:{aiInline:"true",premiumFeature:"ai",unlockedTitle:"BlockWriteAI"}})),q(e),y(e),t):t}var O=e.prototype.createTopToolbar;e.prototype.createTopToolbar=function(){return j(this,O.call(this))};var L=e.prototype.createInlineToolbar;e.prototype.createInlineToolbar=function(){return D(this,L.call(this))},e.prototype.openAI=function(){return!1===this.options.ai?null:b(this)?(C(this),this):null};var W=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(b(t=this)&&(S(t)?E(t):C(t)));if(r.closest&&r.closest(".rbe-ai-close"))return e.preventDefault(),e.stopPropagation(),void E(this);var o=r.closest&&r.closest(".rbe-ai-action");if(o)return e.preventDefault(),e.stopPropagation(),void function(e,t){if(b(e)){var r=v(e);T(e),r.lastText?(A(e,!0),R(e,""),k(e,!0,"Improving selected text with BlockWriteAI..."),x(e,{action:t,text:r.lastText,document:"function"==typeof e.getData?e.getData():null}).then(function(t){R(e,t.result||"")}).catch(function(e){_(0,e.message||"AI request failed","error")}).finally(function(){A(e,!1),k(e,!1,"",250)})):_(0,"Select text first, then run an AI action.","warning")}}(this,o.dataset.aiAction);if(r.closest&&r.closest(".rbe-ai-generate"))return e.preventDefault(),e.stopPropagation(),void function(e){if(b(e)){var t=v(e),r=t.drawer&&t.drawer.querySelector(".rbe-ai-prompt"),o=r?r.value.trim():"";o?(A(e,!0),R(e,""),k(e,!0,"Generating BlockWriteAI blocks..."),x(e,{action:"generate_blocks",prompt:o,document:"function"==typeof e.getData?e.getData():null}).then(function(t){B(e,t.blocks||[])||_(0,"AI returned no blocks.","warning")}).catch(function(e){_(0,e.message||"AI generation failed","error")}).finally(function(){A(e,!1),k(e,!1,"",250)})):_(0,"Write a prompt before generating blocks.","warning")}}(this);if(!r.closest||!r.closest(".rbe-ai-apply"))return W.call(this,e);e.preventDefault(),e.stopPropagation();var i=v(this);i.result&&c(this,i.result,i.lastRange)?(k(this,!0,"Applying BlockWriteAI result..."),R(this,""),T(this),k(this,!1,"",600)):_(0,"There is no AI result ready to apply.","warning")};var F=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 S(this)&&E(this),F.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&&(j(t),D(t))}),e});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e){"use strict";var t=e.BlockWriteAI;if(t&&!t.__signatureFlowPluginInstalled){t.__signatureFlowPluginInstalled=!0;var r=t.helpers||{},n=r.el,i=r.escapeHTML||function(e){return String(null==e?"":e).replace(/[&<>"]/g,function(e){return{"&":"&","<":"<",">":">",'"':"""}[e]})},a=r.faIcon||function(e,t){return'<i class="fa-solid fa-'+i(e)+'" aria-hidden="true"></i><span class="rbe-sr-only">'+i(t||e)+"</span>"},o=r.uid||function(e){return(e||"signature-flow")+"-"+Math.random().toString(36).slice(2,9)},s=function(e){try{var t=document.currentScript&&document.currentScript.src||document.baseURI;return new URL(e,t).href}catch(t){return e}}("../blockwriteai-logo.svg"),l=e.BlockWriteAISignatureEventUrl||"/blockwriteai-platform/api/signature_event.php";d(),t.registerTool("signatureFlow",{label:"Signature Flow",hint:"Sequential signer approvals",icon:"people-arrows",premiumFeature:"signature_flow",defaultData:function(){return{flowId:o("signature-flow"),title:"Signature Flow",steps:p()}},render:function(e,t){d();var r=n("div","rbe-signature-flow-editor",{dataset:{flowId:(t=t||{}).flowId||o("signature-flow")}}),i=n("div","rbe-signature-flow-top");i.appendChild(n("strong","",{text:"Signature Flow"})),i.appendChild(n("button","rbe-signature-flow-add",{type:"button",title:"Add signer","aria-label":"Add signer",html:a("circle-plus","Add signer"),disabled:this.readOnly})),r.appendChild(i);var s=n("div","rbe-signature-flow-steps");p(t.steps).forEach(function(e,t){s.appendChild(b(this,e,t))},this),r.appendChild(s),e.appendChild(r);var l=this,u=r.querySelector(".rbe-signature-flow-add");u&&u.addEventListener("click",function(){var e=s.querySelectorAll(".rbe-signature-flow-step").length;s.appendChild(b(l,{id:o("signer"),label:"Signer "+(e+1)},e)),w(r),l&&"function"==typeof l.changed&&l.changed(!0)}),s.addEventListener("click",function(e){var t=e.target.closest(".rbe-signature-flow-remove");t&&!l.readOnly&&(s.querySelectorAll(".rbe-signature-flow-step").length<=1||(t.closest(".rbe-signature-flow-step").remove(),w(r),l&&"function"==typeof l.changed&&l.changed(!0)))})},serialize:function(e){var t=e.querySelector(".rbe-signature-flow-editor");return{flowId:t&&t.dataset.flowId||o("signature-flow"),title:"Signature Flow",steps:Array.prototype.slice.call(e.querySelectorAll(".rbe-signature-flow-step")).map(function(e,t){return{id:e.dataset.stepId||o("signer"),label:u((e.querySelector(".rbe-signature-flow-label")||{}).value)||"Signer "+(t+1)}})}},toHTML:function(e){d();var t=(e=e||{}).flowId||o("signature-flow"),r=p(e.steps);return'<section class="rbe-output-signature-flow" data-flow-id="'+i(t)+'"><div class="rbe-output-signature-flow-title">Signature Flow</div><div class="rbe-flow-signature-track">'+r.map(function(e,t){return'<section class="rbe-flow-signature-card" data-step-id="'+i(e.id)+'" data-signed="false">'+('<span class="'+i(n="rbe-flow-signature-seal")+'" aria-hidden="true"><svg class="'+i(n+"-logo")+'" viewBox="0 0 32 32" role="img" focusable="false"><path d="M7 4h12l6 6v15a3 3 0 0 1-3 3H10a3 3 0 0 1-3-3z" fill="#fff"/><path d="M19 4v6h6" fill="#ffe5e5"/><path d="M10 23c2-4 3-4 4 0 1-2 2-2 3 0 1-1 2-1 4 0" fill="none" stroke="#d40000" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/><path d="M22.5 17.5l4.6-4.6 2 2-4.6 4.6-3 .9z" fill="#fff"/><path d="M26.3 13.7l2 2" fill="none" stroke="#d40000" stroke-width="1.1" stroke-linecap="round"/></svg></span><img class="rbe-flow-signature-watermark" src="')+i(s)+'" alt="" aria-hidden="true"><div class="rbe-flow-signature-head"><span class="rbe-flow-signature-label">'+i(t+1+". "+e.label)+'</span><span class="rbe-flow-signature-status">Waiting</span></div><div class="rbe-flow-signature-unsigned"><input class="rbe-flow-signature-input" type="text" autocomplete="name" placeholder="Enter signer name or email..."><button type="button" class="rbe-flow-signature-apply">'+a("file-signature","Sign")+'<span>Sign</span></button></div><div class="rbe-flow-signature-signed" hidden><div class="rbe-flow-signature-name"></div><div class="rbe-flow-signature-meta"><strong>Signer Name: <span class="rbe-flow-signature-by-name"></span></strong><span>Signer Email: <span class="rbe-flow-signature-email"></span></span><span>IP Address: <span class="rbe-flow-signature-ip"></span></span><span>Date & Time: <time class="rbe-flow-signature-date"></time></span></div></div></section>'+(t<r.length-1?'<span class="rbe-flow-signature-connector is-pending" aria-hidden="true"></span>':"");var n}).join("")+"</div></section>"},toMarkdown:function(e){return"Signature Flow\n"+p(e&&e.steps).map(function(e,t){return t+1+". "+e.label}).join("\n")}}),e.BlockWriteAISignatureFlow={init:k,sign:S,update:v},"loading"===document.readyState?document.addEventListener("DOMContentLoaded",function(){k(document)}):setTimeout(function(){k(document)},0)}function d(){if(!document.querySelector("style[data-blockwriteai-signature-flow-plugin]")){var e=document.createElement("style");e.dataset.blockwriteaiSignatureFlowPlugin="true",e.textContent=".rbe-signature-flow-editor{border:1px solid #d7dee8;border-radius:8px;background:#fff;padding:14px;display:grid;gap:12px;}.rbe-signature-flow-top{display:flex;justify-content:space-between;align-items:center;gap:10px;}.rbe-signature-flow-top strong{font:800 14px/1.3 Arial,sans-serif;color:#344054;}.rbe-signature-flow-steps{display:grid;gap:8px;}.rbe-signature-flow-step{display:grid;grid-template-columns:auto minmax(160px,1fr) auto;gap:8px;align-items:center;border:1px solid #e2e8f0;border-radius:8px;background:#fbfdff;padding:8px;}.rbe-signature-flow-index{width:28px;height:28px;border-radius:999px;background:#eaf1ff;color:#1d4ed8;display:grid;place-items:center;font:800 12px/1 Arial,sans-serif;}.rbe-signature-flow-step input{width:100%;border:1px solid #d7dee8;border-radius:8px;background:#fff;color:#172033;font:14px/1.4 Arial,sans-serif;padding:9px 10px;}.rbe-signature-flow-add,.rbe-signature-flow-remove{border:1px solid #d7dee8;border-radius:8px;background:#fff;color:#344054;min-width:34px;height:34px;display:inline-grid;place-items:center;cursor:pointer;}.rbe-signature-flow-add:hover{border-color:#16a34a;background:#ecfdf3;color:#07845f;}.rbe-signature-flow-remove:hover{border-color:#dc2626;background:#fef2f2;color:#b42318;}.rbe-output-signature-flow{display:grid;gap:12px;margin:0 0 15px;}.rbe-output-signature-flow-title{font:800 15px/1.35 Arial,sans-serif;color:#172033;}.rbe-flow-signature-track{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:10px 8px;}.rbe-flow-signature-card{position:relative;overflow:visible;container-type:inline-size;border:1px solid #d7dee8;border-radius:8px;background:#fff;padding:10px;display:grid;gap:8px;flex:1 1 170px;min-width:150px;max-width:230px;min-height:126px;box-sizing:border-box;}.rbe-flow-signature-card.is-locked{opacity:.68;}.rbe-flow-signature-watermark{position:absolute;left:50%;top:52%;width:min(140px,76%);max-height:82px;object-fit:contain;opacity:.14;transform:translate(-50%,-50%);pointer-events:none;user-select:none;}.rbe-flow-signature-seal{position:absolute;right:10px;top:8px;z-index:4;width:34px;height:34px;background:#d40000;color:#fff;display:none;place-items:center;padding:0;border-radius:4px;box-shadow:0 8px 14px rgba(160,0,0,.2);pointer-events:none;}.rbe-flow-signature-card[data-signed='true'] .rbe-flow-signature-seal{display:grid;}.rbe-flow-signature-seal-logo{display:block;width:25px;height:25px;}.rbe-flow-signature-head{position:relative;z-index:1;display:grid;gap:6px;font:800 13px/1.3 Arial,sans-serif;color:#344054;}.rbe-flow-signature-label{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.rbe-flow-signature-status{justify-self:start;border-radius:999px;background:#fffbeb;color:#b45309;padding:4px 7px;font-size:10px;line-height:1;font-weight:800;white-space:nowrap;}.rbe-flow-signature-card.is-signed{border-color:#86efac;background:#f0fdf4;}.rbe-flow-signature-card.is-signed .rbe-flow-signature-status{background:#dcfce7;color:#07845f;}.rbe-flow-signature-card.is-locked .rbe-flow-signature-status{background:#fef3c7;color:#92400e;}.rbe-flow-signature-connector{align-self:center;display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;min-height:34px;color:#b45309;font:900 18px/1 Arial,sans-serif;}.rbe-flow-signature-connector::before{content:'\\2192';}.rbe-flow-signature-connector.is-complete{color:#16a34a;}.rbe-flow-signature-connector.is-pending{color:#d97706;}.rbe-flow-signature-unsigned{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:7px;align-items:center;width:100%;margin:0;}.rbe-flow-signature-input{width:100%;min-width:0;min-height:38px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#111827;font:15px/1.2 'Brush Script MT','Segoe Script','Lucida Handwriting',cursive;padding:7px 9px;text-align:center;box-sizing:border-box;}.rbe-flow-signature-input::placeholder{color:#98a2b3;font:13px/1.35 Arial,sans-serif;}.rbe-flow-signature-apply{border:1px solid #1d4ed8;border-radius:8px;background:#2563eb;color:#fff;font:800 13px/1 Arial,sans-serif;padding:9px 10px;cursor:pointer;}.rbe-flow-signature-apply:disabled,.rbe-flow-signature-input:disabled{cursor:not-allowed;opacity:.7;}.rbe-flow-signature-card.has-error .rbe-flow-signature-input{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.12);}.rbe-flow-signature-signed{position:relative;z-index:1;display:grid;gap:5px;align-items:center;}.rbe-flow-signature-signed[hidden],.rbe-flow-signature-unsigned[hidden]{display:none!important;}.rbe-flow-signature-name{min-width:0;font-family:'Brush Script MT','Segoe Script','Lucida Handwriting',cursive;font-size:15px;line-height:1.1;color:#050505;overflow-wrap:anywhere;}.rbe-flow-signature-meta{min-width:0;font-family:Arial,sans-serif;font-size:12px;line-height:1.2;color:#050505;display:grid;gap:2px;overflow-wrap:anywhere;}.rbe-flow-signature-meta strong{font-weight:500;}.rbe-flow-signature-meta strong,.rbe-flow-signature-meta span,.rbe-flow-signature-meta time{min-width:0;overflow-wrap:anywhere;}.rbe-flow-signature-card.is-compact{padding:8px;gap:6px;}.rbe-flow-signature-card.is-compact .rbe-flow-signature-name{font-size:15px;}.rbe-flow-signature-card.is-compact .rbe-flow-signature-meta{font-size:11px;line-height:1.22;}.rbe-flow-signature-card.is-compact .rbe-flow-signature-seal{right:7px;top:7px;width:30px;height:30px;}.rbe-flow-signature-card.is-compact .rbe-flow-signature-seal-logo{width:22px;height:22px;}@container (max-width:180px){.rbe-flow-signature-meta{font-size:11px;}.rbe-flow-signature-name{font-size:14px;}}@media (max-width:720px){.rbe-signature-flow-step{grid-template-columns:1fr;}.rbe-signature-flow-index{width:100%;border-radius:8px;}.rbe-flow-signature-card{flex-basis:150px;}.rbe-flow-signature-connector{flex-basis:24px;}}",document.head.appendChild(e)}}function u(e){return String(null==e?"":e).trim()}function c(e){try{return sessionStorage.getItem(e)||localStorage.getItem(e)||""}catch(e){return""}}function f(e){return e.toLocaleString()}function g(e,t){return"blockwriteai-signature-flow:"+e+":"+t}function p(e){var t=Array.isArray(e)?e:[];return t.length||(t=[{id:o("signer"),label:"Signer 1"},{id:o("signer"),label:"Signer 2"},{id:o("signer"),label:"Signer 3"}]),t.map(function(e,t){return{id:(e=e||{}).id||o("signer"),label:u(e.label)||"Signer "+(t+1)}})}function b(e,t,r){var i=n("div","rbe-signature-flow-step",{dataset:{stepId:t.id||o("signer")}});return i.appendChild(n("span","rbe-signature-flow-index",{text:r+1})),i.appendChild(n("input","rbe-signature-flow-label",{type:"text",value:t.label||"Signer "+(r+1),placeholder:"Signer name or role",disabled:e.readOnly})),i.appendChild(n("button","rbe-signature-flow-remove",{type:"button",title:"Remove signer","aria-label":"Remove signer",html:a("trash-can","Remove signer"),disabled:e.readOnly})),i}function w(e){Array.prototype.slice.call(e.querySelectorAll(".rbe-signature-flow-step")).forEach(function(e,t){var r=e.querySelector(".rbe-signature-flow-index");r&&(r.textContent=t+1);var n=e.querySelector(".rbe-signature-flow-label");n&&!u(n.value)&&(n.placeholder="Signer "+(t+1))})}function h(e){if(!e)return[];Array.prototype.slice.call(e.querySelectorAll(".rbe-flow-signature-connector")).forEach(function(e){e.remove()});var t=Array.prototype.slice.call(e.children).filter(function(e){return e.classList&&e.classList.contains("rbe-flow-signature-card")});return t.forEach(function(r,n){var i;n<t.length-1&&e.insertBefore(((i=document.createElement("span")).className="rbe-flow-signature-connector is-pending",i.setAttribute("aria-hidden","true"),i),r.nextSibling)}),t}function m(e){var t=null;if(Array.prototype.slice.call(e.children).some(function(e){return!(!e.classList||!e.classList.contains("rbe-flow-signature-track"))&&(t=e,!0)}),!t){(t=document.createElement("div")).className="rbe-flow-signature-track";var r=e.querySelector(".rbe-output-signature-flow-title");r&&r.parentNode===e?e.insertBefore(t,r.nextSibling):e.appendChild(t)}return Array.prototype.slice.call(e.children).forEach(function(e){e!==t&&e.classList&&e.classList.contains("rbe-flow-signature-card")&&t.appendChild(e)}),h(t),t}function x(e,t){if(e&&t&&t.name){e.classList.add("is-signed"),e.classList.remove("is-locked","has-error"),e.dataset.signed="true";var r=e.querySelector(".rbe-flow-signature-unsigned"),n=e.querySelector(".rbe-flow-signature-signed"),i=e.querySelector(".rbe-flow-signature-status"),a=e.querySelector(".rbe-flow-signature-name"),o=e.querySelector(".rbe-flow-signature-by-name"),s=e.querySelector(".rbe-flow-signature-email"),l=e.querySelector(".rbe-flow-signature-ip"),d=e.querySelector(".rbe-flow-signature-date"),u=e.querySelector(".rbe-flow-signature-input");u&&(u.value=t.name,u.readOnly=!0),r&&(r.hidden=!0),n&&(n.hidden=!1),i&&(i.textContent="Signed"),a&&(a.textContent=t.name),o&&(o.textContent=t.name),s&&(s.textContent=t.email||""),l&&(l.textContent=t.ipAddress||""),d&&(d.textContent=t.dateLabel||f(new Date(t.date||Date.now())),t.date&&d.setAttribute("datetime",t.date)),e.dataset.signatureHash=t.signatureHash||"",y(e)}}function y(e){if(e&&e.getBoundingClientRect){var t=e.getBoundingClientRect().width;e.classList.toggle("is-compact",t>0&&t<190)}}function v(e){var t=m(e),r=Array.prototype.slice.call(t.querySelectorAll(".rbe-flow-signature-card")),n=Array.prototype.slice.call(t.querySelectorAll(".rbe-flow-signature-connector")),i=!0;r.forEach(function(e,t){var r="true"===e.dataset.signed,a=i||r;e.classList.toggle("is-locked",!a),e.classList.toggle("is-active",a&&!r),e.classList.toggle("is-pending",!r);var o=e.querySelector(".rbe-flow-signature-input"),s=e.querySelector(".rbe-flow-signature-apply"),l=e.querySelector(".rbe-flow-signature-status");r||(o&&(o.disabled=!a),s&&(s.disabled=!a),l&&(l.textContent=a?"Ready to sign":"Pending")),n[t]&&(n[t].classList.toggle("is-complete",r),n[t].classList.toggle("is-pending",!r)),i=r})}function S(e){if(e&&!e.classList.contains("is-locked")){var t=e.querySelector(".rbe-flow-signature-input"),r=u(t&&t.value);if(!r)return e.classList.add("has-error"),void(t&&t.focus());var n=e.closest(".rbe-output-signature-flow");(function(e,t){var r=c("bwai_license_key")||c("blockwriteai_license_key");if(!r||!t||"function"!=typeof fetch)return Promise.resolve(null);var n={action:"lookup",license_key:r,match_signer_value:t,signer_name:t},i=c("bwai_session_token")||c("blockwriteai_session_token");return i&&(n.session_token=i),fetch(l,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}).then(function(e){return e.ok?e.json():null}).then(function(e){return e&&e.matched&&e.signature?{name:e.signature.signer_name||t,email:e.signature.signer_email||"",role:e.signature.signer_role||"",ipAddress:e.signature.ip_address||"",signatureHash:e.signature.signature_hash||"",date:e.signature.created_at||(new Date).toISOString(),dateLabel:e.signature.created_at?f(new Date(e.signature.created_at)):f(new Date)}:null}).catch(function(){return null})})(0,r).then(function(r){if(r){var i=r;!function(e,t,r){return r=u(r).toLowerCase(),!(!e||!r)&&Array.prototype.slice.call(e.querySelectorAll(".rbe-flow-signature-card")).some(function(e){return e!==t&&"true"===e.dataset.signed&&u(e.dataset.signatureHash).toLowerCase()===r})}(n,e,i.signatureHash)?(!function(e,t,r){try{localStorage.setItem(g(e,t),JSON.stringify(r))}catch(e){}}(n.dataset.flowId||"",e.dataset.stepId||"",i),x(e,i),v(n),e.dispatchEvent(new CustomEvent("blockwriteai:signature-flow-signed",{bubbles:!0,detail:i}))):function(e,t){e.classList.add("has-error");var r=e.querySelector(".rbe-flow-signature-status");r&&(r.textContent="Signature already used in this flow."),t&&t.focus()}(e,t)}else!function(e,t){e.classList.add("has-error");var r=e.querySelector(".rbe-flow-signature-status");r&&(r.textContent="No verified signature found."),t&&t.focus()}(e,t)})}}function k(e){d(),Array.prototype.slice.call((e||document).querySelectorAll(".rbe-output-signature-flow")).forEach(function(e){if("true"!==e.dataset.flowReady){e.dataset.flowReady="true";var t=e.dataset.flowId||o("signature-flow");e.dataset.flowId=t,m(e),Array.prototype.slice.call(e.querySelectorAll(".rbe-flow-signature-card")).forEach(function(e){!function(e){e&&"true"!==e.dataset.flowCardResizeObserved&&(e.dataset.flowCardResizeObserved="true",y(e),"undefined"!=typeof ResizeObserver?new ResizeObserver(function(){y(e)}).observe(e):window.addEventListener("resize",function(){y(e)}))}(e);var r=e.dataset.stepId||o("signer");e.dataset.stepId=r;var n=function(e,t){try{return JSON.parse(localStorage.getItem(g(e,t))||"null")}catch(e){return null}}(t,r);n&&n.name&&n.signatureHash&&x(e,n);var i=e.querySelector(".rbe-flow-signature-input"),a=e.querySelector(".rbe-flow-signature-apply");a&&a.addEventListener("click",function(){S(e)}),i&&(i.addEventListener("input",function(){e.classList.remove("has-error")}),i.addEventListener("keydown",function(t){"Enter"===t.key&&(t.preventDefault(),S(e))}))}),v(e)}})}}("undefined"!=typeof window?window:this);
|
|
1
|
+
!function(e){"use strict";var t=e.BlockWriteAI;if(t&&!t.__signatureFlowPluginInstalled){t.__signatureFlowPluginInstalled=!0;var r=t.helpers||{},n=r.el,i=r.escapeHTML||function(e){return String(null==e?"":e).replace(/[&<>"]/g,function(e){return{"&":"&","<":"<",">":">",'"':"""}[e]})},a=r.faIcon||function(e,t){return'<i class="fa-solid fa-'+i(e)+'" aria-hidden="true"></i><span class="rbe-sr-only">'+i(t||e)+"</span>"},o=r.uid||function(e){return(e||"signature-flow")+"-"+Math.random().toString(36).slice(2,9)};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=n("div","rbe-signature-flow-editor",{dataset:{flowId:(t=t||{}).flowId||o("signature-flow")}}),i=n("div","rbe-signature-flow-top");i.appendChild(n("strong","",{text:"Signature Flow"})),i.appendChild(n("button","rbe-signature-flow-add",{type:"button",title:"Add signer","aria-label":"Add signer",html:a("circle-plus","Add signer"),disabled:this.readOnly})),r.appendChild(i);var s=n("div","rbe-signature-flow-steps");p(t.steps).forEach(function(e,t){s.appendChild(b(this,e,t))},this),r.appendChild(s),e.appendChild(r);var d=this,u=r.querySelector(".rbe-signature-flow-add");u&&u.addEventListener("click",function(){var e=s.querySelectorAll(".rbe-signature-flow-step").length;s.appendChild(b(d,{id:o("signer"),label:"Signer "+(e+1)},e)),w(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(),w(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:d((e.querySelector(".rbe-signature-flow-label")||{}).value)||"Signer "+(t+1)}})}},toHTML:function(e){l();var t=(e=e||{}).flowId||o("signature-flow"),r=p(e.steps);return'<section class="rbe-output-signature-flow" data-flow-id="'+i(t)+'"><div class="rbe-output-signature-flow-title">Signature Flow</div><div class="rbe-flow-signature-track">'+r.map(function(e,t){return'<section class="rbe-flow-signature-card" data-step-id="'+i(e.id)+'" data-signed="false">'+('<span class="'+i(n="rbe-flow-signature-seal")+'" aria-hidden="true"><svg class="'+i(n+"-logo")+'" viewBox="0 0 32 32" role="img" focusable="false"><path d="M7 4h12l6 6v15a3 3 0 0 1-3 3H10a3 3 0 0 1-3-3z" fill="#fff"/><path d="M19 4v6h6" fill="#ffe5e5"/><path d="M10 23c2-4 3-4 4 0 1-2 2-2 3 0 1-1 2-1 4 0" fill="none" stroke="#d40000" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/><path d="M22.5 17.5l4.6-4.6 2 2-4.6 4.6-3 .9z" fill="#fff"/><path d="M26.3 13.7l2 2" fill="none" stroke="#d40000" stroke-width="1.1" stroke-linecap="round"/></svg></span><img class="rbe-flow-signature-watermark" src="')+i(s())+'" alt="" aria-hidden="true"><div class="rbe-flow-signature-head"><span class="rbe-flow-signature-label">'+i(t+1+". "+e.label)+'</span><span class="rbe-flow-signature-status">Waiting</span></div><div class="rbe-flow-signature-unsigned"><input class="rbe-flow-signature-input" type="text" autocomplete="name" placeholder="Enter signer name or email..."><button type="button" class="rbe-flow-signature-apply">'+a("file-signature","Sign")+'<span>Sign</span></button></div><div class="rbe-flow-signature-signed" hidden><div class="rbe-flow-signature-name"></div><div class="rbe-flow-signature-meta"><strong>Signer Name: <span class="rbe-flow-signature-by-name"></span></strong><span>Signer Email: <span class="rbe-flow-signature-email"></span></span><span>IP Address: <span class="rbe-flow-signature-ip"></span></span><span>Date & Time: <time class="rbe-flow-signature-date"></time></span></div></div></section>'+(t<r.length-1?'<span class="rbe-flow-signature-connector is-pending" aria-hidden="true"></span>':"");var n}).join("")+"</div></section>"},toMarkdown:function(e){return"Signature Flow\n"+p(e&&e.steps).map(function(e,t){return t+1+". "+e.label}).join("\n")}}),e.BlockWriteAISignatureFlow={init:k,sign:S,update:v},"loading"===document.readyState?document.addEventListener("DOMContentLoaded",function(){k(document)}):setTimeout(function(){k(document)},0)}function s(){return e.BlockWriteAILogoUrl||function(e){try{var t=document.currentScript&&document.currentScript.src||document.baseURI;return new URL(e,t).href}catch(t){return e}}("../blockwriteai-logo.svg")}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 d(e){return String(null==e?"":e).trim()}function u(e){try{return sessionStorage.getItem(e)||localStorage.getItem(e)||""}catch(e){return""}}function c(e){return e.toLocaleString()}function f(e,t){return"blockwriteai-signature-flow:"+e+":"+t}function g(r,n){var i=u("bwai_license_key")||u("blockwriteai_license_key");if(!i||!n||"function"!=typeof fetch)return Promise.resolve(null);var a={action:"lookup",license_key:i,match_signer_value:n,signer_name:n},o=u("bwai_session_token")||u("blockwriteai_session_token");return o&&(a.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(a)}).then(function(e){return e.ok?e.json():null}).then(function(e){return e&&e.matched&&e.signature?{name:e.signature.signer_name||n,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})}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:d(e.label)||"Signer "+(t+1)}})}function b(e,t,r){var i=n("div","rbe-signature-flow-step",{dataset:{stepId:t.id||o("signer")}});return i.appendChild(n("span","rbe-signature-flow-index",{text:r+1})),i.appendChild(n("input","rbe-signature-flow-label",{type:"text",value:t.label||"Signer "+(r+1),placeholder:"Signer name or role",disabled:e.readOnly})),i.appendChild(n("button","rbe-signature-flow-remove",{type:"button",title:"Remove signer","aria-label":"Remove signer",html:a("trash-can","Remove signer"),disabled:e.readOnly})),i}function w(e){Array.prototype.slice.call(e.querySelectorAll(".rbe-signature-flow-step")).forEach(function(e,t){var r=e.querySelector(".rbe-signature-flow-index");r&&(r.textContent=t+1);var n=e.querySelector(".rbe-signature-flow-label");n&&!d(n.value)&&(n.placeholder="Signer "+(t+1))})}function h(e){if(!e)return[];Array.prototype.slice.call(e.querySelectorAll(".rbe-flow-signature-connector")).forEach(function(e){e.remove()});var t=Array.prototype.slice.call(e.children).filter(function(e){return e.classList&&e.classList.contains("rbe-flow-signature-card")});return t.forEach(function(r,n){var i;n<t.length-1&&e.insertBefore(((i=document.createElement("span")).className="rbe-flow-signature-connector is-pending",i.setAttribute("aria-hidden","true"),i),r.nextSibling)}),t}function m(e){var t=null;if(Array.prototype.slice.call(e.children).some(function(e){return!(!e.classList||!e.classList.contains("rbe-flow-signature-track"))&&(t=e,!0)}),!t){(t=document.createElement("div")).className="rbe-flow-signature-track";var r=e.querySelector(".rbe-output-signature-flow-title");r&&r.parentNode===e?e.insertBefore(t,r.nextSibling):e.appendChild(t)}return Array.prototype.slice.call(e.children).forEach(function(e){e!==t&&e.classList&&e.classList.contains("rbe-flow-signature-card")&&t.appendChild(e)}),h(t),t}function x(e,t){if(e&&t&&t.name){e.classList.add("is-signed"),e.classList.remove("is-locked","has-error"),e.dataset.signed="true";var r=e.querySelector(".rbe-flow-signature-unsigned"),n=e.querySelector(".rbe-flow-signature-signed"),i=e.querySelector(".rbe-flow-signature-status"),a=e.querySelector(".rbe-flow-signature-name"),o=e.querySelector(".rbe-flow-signature-by-name"),s=e.querySelector(".rbe-flow-signature-email"),l=e.querySelector(".rbe-flow-signature-ip"),d=e.querySelector(".rbe-flow-signature-date"),u=e.querySelector(".rbe-flow-signature-input");u&&(u.value=t.name,u.readOnly=!0),r&&(r.hidden=!0),n&&(n.hidden=!1),i&&(i.textContent="Signed"),a&&(a.textContent=t.name),o&&(o.textContent=t.name),s&&(s.textContent=t.email||""),l&&(l.textContent=t.ipAddress||""),d&&(d.textContent=t.dateLabel||c(new Date(t.date||Date.now())),t.date&&d.setAttribute("datetime",t.date)),e.dataset.signatureHash=t.signatureHash||"",y(e)}}function y(e){if(e&&e.getBoundingClientRect){var t=e.getBoundingClientRect().width;e.classList.toggle("is-compact",t>0&&t<190)}}function v(e){var t=m(e),r=Array.prototype.slice.call(t.querySelectorAll(".rbe-flow-signature-card")),n=Array.prototype.slice.call(t.querySelectorAll(".rbe-flow-signature-connector")),i=!0;r.forEach(function(e,t){var r="true"===e.dataset.signed,a=i||r;e.classList.toggle("is-locked",!a),e.classList.toggle("is-active",a&&!r),e.classList.toggle("is-pending",!r);var o=e.querySelector(".rbe-flow-signature-input"),s=e.querySelector(".rbe-flow-signature-apply"),l=e.querySelector(".rbe-flow-signature-status");r||(o&&(o.disabled=!a),s&&(s.disabled=!a),l&&(l.textContent=a?"Ready to sign":"Pending")),n[t]&&(n[t].classList.toggle("is-complete",r),n[t].classList.toggle("is-pending",!r)),i=r})}function S(e){if(e&&!e.classList.contains("is-locked")){var t=e.querySelector(".rbe-flow-signature-input"),r=d(t&&t.value);if(!r)return e.classList.add("has-error"),void(t&&t.focus());var n=e.closest(".rbe-output-signature-flow");g(0,r).then(function(r){if(r){var i=r;!function(e,t,r){return r=d(r).toLowerCase(),!(!e||!r)&&Array.prototype.slice.call(e.querySelectorAll(".rbe-flow-signature-card")).some(function(e){return e!==t&&"true"===e.dataset.signed&&d(e.dataset.signatureHash).toLowerCase()===r})}(n,e,i.signatureHash)?(!function(e,t,r){try{localStorage.setItem(f(e,t),JSON.stringify(r))}catch(e){}}(n.dataset.flowId||"",e.dataset.stepId||"",i),x(e,i),v(n),e.dispatchEvent(new CustomEvent("blockwriteai:signature-flow-signed",{bubbles:!0,detail:i}))):function(e,t){e.classList.add("has-error");var r=e.querySelector(".rbe-flow-signature-status");r&&(r.textContent="Signature already used in this flow."),t&&t.focus()}(e,t)}else!function(e,t){e.classList.add("has-error");var r=e.querySelector(".rbe-flow-signature-status");r&&(r.textContent="No verified signature found."),t&&t.focus()}(e,t)})}}function k(e){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,m(e),Array.prototype.slice.call(e.querySelectorAll(".rbe-flow-signature-card")).forEach(function(e){!function(e){e&&"true"!==e.dataset.flowCardResizeObserved&&(e.dataset.flowCardResizeObserved="true",y(e),"undefined"!=typeof ResizeObserver?new ResizeObserver(function(){y(e)}).observe(e):window.addEventListener("resize",function(){y(e)}))}(e);var r=e.dataset.stepId||o("signer");e.dataset.stepId=r;var n=function(e,t){try{return JSON.parse(localStorage.getItem(f(e,t))||"null")}catch(e){return null}}(t,r);n&&n.name&&n.signatureHash&&x(e,n);var i=e.querySelector(".rbe-flow-signature-input"),a=e.querySelector(".rbe-flow-signature-apply");a&&a.addEventListener("click",function(){S(e)}),i&&(i.addEventListener("input",function(){e.classList.remove("has-error")}),i.addEventListener("keydown",function(t){"Enter"===t.key&&(t.preventDefault(),S(e))}))}),v(e)}})}}("undefined"!=typeof window?window:this);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qarakash/blockwriteai",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.12",
|
|
4
4
|
"description": "BlockWriteAI JSON-first drop-in block writing editor with free core blocks, preview mounting, and license-gated premium plugins.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"blockwriteai",
|
|
@@ -45,13 +45,21 @@
|
|
|
45
45
|
},
|
|
46
46
|
"./css": "./dist/blockwriteai.min.css",
|
|
47
47
|
"./plugins/advanced": "./dist/plugins/blockwriteai-advanced-blocks.min.js",
|
|
48
|
+
"./plugins/advanced/min": "./dist/plugins/blockwriteai-advanced-blocks.min.js",
|
|
48
49
|
"./plugins/drawing": "./dist/plugins/blockwriteai-drawing.min.js",
|
|
50
|
+
"./plugins/drawing/min": "./dist/plugins/blockwriteai-drawing.min.js",
|
|
49
51
|
"./plugins/mermaid": "./dist/plugins/blockwriteai-mermaid.min.js",
|
|
52
|
+
"./plugins/mermaid/min": "./dist/plugins/blockwriteai-mermaid.min.js",
|
|
50
53
|
"./plugins/code-assist": "./dist/plugins/blockwriteai-code-assist.min.js",
|
|
54
|
+
"./plugins/code-assist/min": "./dist/plugins/blockwriteai-code-assist.min.js",
|
|
51
55
|
"./plugins/history": "./dist/plugins/blockwriteai-history.min.js",
|
|
56
|
+
"./plugins/history/min": "./dist/plugins/blockwriteai-history.min.js",
|
|
52
57
|
"./plugins/ai": "./dist/plugins/blockwriteai-ai.min.js",
|
|
58
|
+
"./plugins/ai/min": "./dist/plugins/blockwriteai-ai.min.js",
|
|
53
59
|
"./plugins/signature": "./dist/plugins/blockwriteai-signature.min.js",
|
|
60
|
+
"./plugins/signature/min": "./dist/plugins/blockwriteai-signature.min.js",
|
|
54
61
|
"./plugins/signature-flow": "./dist/plugins/blockwriteai-signature-flow.min.js",
|
|
62
|
+
"./plugins/signature-flow/min": "./dist/plugins/blockwriteai-signature-flow.min.js",
|
|
55
63
|
"./logo": "./dist/blockwriteai-logo.svg",
|
|
56
64
|
"./favicon": "./dist/blockwriteai-favicon.svg",
|
|
57
65
|
"./package.json": "./package.json"
|
package/types/index.d.ts
CHANGED
|
@@ -60,6 +60,12 @@ export interface BlockWriteAIPremiumOptions {
|
|
|
60
60
|
endpoint?: string;
|
|
61
61
|
usageEndpoint?: string;
|
|
62
62
|
usage?: string;
|
|
63
|
+
featureUsageEndpoint?: string;
|
|
64
|
+
premiumUsageEndpoint?: string;
|
|
65
|
+
eventEndpoint?: string;
|
|
66
|
+
premiumEventEndpoint?: string;
|
|
67
|
+
signatureEventEndpoint?: string;
|
|
68
|
+
signatureEvent?: string;
|
|
63
69
|
pluginEndpoint?: string;
|
|
64
70
|
pluginsEndpoint?: string;
|
|
65
71
|
bundleEndpoint?: string;
|
|
@@ -169,6 +175,15 @@ export default class BlockWriteAI {
|
|
|
169
175
|
destroy(): void;
|
|
170
176
|
|
|
171
177
|
static version: string;
|
|
178
|
+
static platformEndpoints: {
|
|
179
|
+
premiumPlugins: string;
|
|
180
|
+
licenseVerify: string;
|
|
181
|
+
aiUsage: string;
|
|
182
|
+
aiGenerate: string;
|
|
183
|
+
premiumUsage: string;
|
|
184
|
+
premiumEvent: string;
|
|
185
|
+
signatureEvent: string;
|
|
186
|
+
};
|
|
172
187
|
static configure(options: Partial<BlockWriteAIOptions>): typeof BlockWriteAI;
|
|
173
188
|
static loadPremiumPlugins(options: BlockWriteAIPremiumPluginLoadOptions): Promise<{ ok: boolean; features: string[] }>;
|
|
174
189
|
static enableAI(options?: BlockWriteAIAIOptions): typeof BlockWriteAI;
|