From 54a2a75fbc05c05eb76f382072987bea2bc608d4 Mon Sep 17 00:00:00 2001 From: Nikita Date: Sat, 28 Dec 2024 15:50:14 +0300 Subject: [PATCH] build --- build/admin.asset.php | 2 +- build/admin.js | 4 +- build/editor.asset.php | 2 +- build/editor.js | 6 +- build/style-admin.css | 4 +- build/style-editor.css | 14 +- languages/mind.json | 108 ++++++++------- languages/mind.pot | 306 ++++++++++++++++++++++------------------- 8 files changed, 239 insertions(+), 207 deletions(-) diff --git a/build/admin.asset.php b/build/admin.asset.php index 2037e88..0c70c5c 100644 --- a/build/admin.asset.php +++ b/build/admin.asset.php @@ -1 +1 @@ - array('lodash', 'react', 'react-dom', 'wp-api-fetch', 'wp-data', 'wp-element', 'wp-i18n'), 'version' => '887c0e1e533c07cd892b'); + array('lodash', 'react', 'react-dom', 'wp-api-fetch', 'wp-data', 'wp-element', 'wp-i18n'), 'version' => 'ff222ab67e39e93df6ce'); diff --git a/build/admin.js b/build/admin.js index a6575f4..cd629cb 100644 --- a/build/admin.js +++ b/build/admin.js @@ -1,4 +1,4 @@ -(()=>{"use strict";var e,t={297:(e,t,n)=>{var r={};n.r(r),n.d(r,{setActivePage:()=>Q});var i={};n.r(i),n.d(i,{getActivePage:()=>Y});var s={};n.r(s),n.d(s,{updateSettings:()=>ie});var a={};n.r(a),n.d(a,{getError:()=>le,getSetting:()=>ae,getSettings:()=>se,getUpdating:()=>oe});const o=window.wp.element;function l(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t=0||(i[n]=e[n]);return i}const g=window.ReactDOM;var h=n.n(g);const E=m().createContext(null);var v=function(e){return e.scrollTop},b="unmounted",y="exited",x="entering",S="entered",_="exiting",C=function(e){function t(t,n){var r;r=e.call(this,t,n)||this;var i,s=n&&!n.isMounting?t.enter:t.appear;return r.appearStatus=null,t.in?s?(i=y,r.appearStatus=x):i=S:i=t.unmountOnExit||t.mountOnEnter?b:y,r.state={status:i},r.nextCallback=null,r}d(t,e),t.getDerivedStateFromProps=function(e,t){return e.in&&t.status===b?{status:y}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(e){var t=null;if(e!==this.props){var n=this.state.status;this.props.in?n!==x&&n!==S&&(t=x):n!==x&&n!==S||(t=_)}this.updateStatus(!1,t)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var e,t,n,r=this.props.timeout;return e=t=n=r,null!=r&&"number"!=typeof r&&(e=r.exit,t=r.enter,n=void 0!==r.appear?r.appear:t),{exit:e,enter:t,appear:n}},n.updateStatus=function(e,t){if(void 0===e&&(e=!1),null!==t)if(this.cancelNextCallback(),t===x){if(this.props.unmountOnExit||this.props.mountOnEnter){var n=this.props.nodeRef?this.props.nodeRef.current:h().findDOMNode(this);n&&v(n)}this.performEnter(e)}else this.performExit();else this.props.unmountOnExit&&this.state.status===y&&this.setState({status:b})},n.performEnter=function(e){var t=this,n=this.props.enter,r=this.context?this.context.isMounting:e,i=this.props.nodeRef?[r]:[h().findDOMNode(this),r],s=i[0],a=i[1],o=this.getTimeouts(),l=r?o.appear:o.enter;e||n?(this.props.onEnter(s,a),this.safeSetState({status:x},(function(){t.props.onEntering(s,a),t.onTransitionEnd(l,(function(){t.safeSetState({status:S},(function(){t.props.onEntered(s,a)}))}))}))):this.safeSetState({status:S},(function(){t.props.onEntered(s)}))},n.performExit=function(){var e=this,t=this.props.exit,n=this.getTimeouts(),r=this.props.nodeRef?void 0:h().findDOMNode(this);t?(this.props.onExit(r),this.safeSetState({status:_},(function(){e.props.onExiting(r),e.onTransitionEnd(n.exit,(function(){e.safeSetState({status:y},(function(){e.props.onExited(r)}))}))}))):this.safeSetState({status:y},(function(){e.props.onExited(r)}))},n.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(e,t){t=this.setNextCallback(t),this.setState(e,t)},n.setNextCallback=function(e){var t=this,n=!0;return this.nextCallback=function(r){n&&(n=!1,t.nextCallback=null,e(r))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},n.onTransitionEnd=function(e,t){this.setNextCallback(t);var n=this.props.nodeRef?this.props.nodeRef.current:h().findDOMNode(this),r=null==e&&!this.props.addEndListener;if(n&&!r){if(this.props.addEndListener){var i=this.props.nodeRef?[this.nextCallback]:[n,this.nextCallback],s=i[0],a=i[1];this.props.addEndListener(s,a)}null!=e&&setTimeout(this.nextCallback,e)}else setTimeout(this.nextCallback,0)},n.render=function(){var e=this.state.status;if(e===b)return null;var t=this.props,n=t.children,r=(t.in,t.mountOnEnter,t.unmountOnExit,t.appear,t.enter,t.exit,t.timeout,t.addEndListener,t.onEnter,t.onEntering,t.onEntered,t.onExit,t.onExiting,t.onExited,t.nodeRef,f(t,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]));return m().createElement(E.Provider,{value:null},"function"==typeof n?n(e,r):m().cloneElement(m().Children.only(n),r))},t}(m().Component);function N(){}C.contextType=E,C.propTypes={},C.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:N,onEntering:N,onEntered:N,onExit:N,onExiting:N,onExited:N},C.UNMOUNTED=b,C.EXITED=y,C.ENTERING=x,C.ENTERED=S,C.EXITING=_;const k=C;var O,w,T="out-in",P="in-out",A=function(e,t,n){return function(){var r;e.props[t]&&(r=e.props)[t].apply(r,arguments),n()}},D=((O={})[T]=function(e){var t=e.current,n=e.changeState;return m().cloneElement(t,{in:!1,onExited:A(t,"onExited",(function(){n(x,null)}))})},O[P]=function(e){var t=e.current,n=e.changeState,r=e.children;return[t,m().cloneElement(r,{in:!0,onEntered:A(r,"onEntered",(function(){n(x)}))})]},O),M=((w={})[T]=function(e){var t=e.children,n=e.changeState;return m().cloneElement(t,{in:!0,onEntered:A(t,"onEntered",(function(){n(S,m().cloneElement(t,{in:!0}))}))})},w[P]=function(e){var t=e.current,n=e.children,r=e.changeState;return[m().cloneElement(t,{in:!1,onExited:A(t,"onExited",(function(){r(S,m().cloneElement(n,{in:!0}))}))}),m().cloneElement(n,{in:!0})]},w),I=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),i=0;i{$&&($=!1,document.body.classList.add("mind-admin-first-loading-start"),setTimeout((()=>{document.body.classList.remove("mind-admin-first-loading-start","mind-admin-first-loading")}),8e3))}),[]),null}const W=window.lodash;var H,B;function X(){return X=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{getSettings:t}=e("mind/settings");return{settings:t()}}));return(0,o.createElement)(o.Fragment,null,(0,o.createElement)("p",{dangerouslySetInnerHTML:{__html:(0,V.sprintf)( +(()=>{"use strict";var e,t={925:(e,t,n)=>{var i={};n.r(i),n.d(i,{setActivePage:()=>Y});var a={};n.r(a),n.d(a,{getActivePage:()=>ee});var r={};n.r(r),n.d(r,{updateSettings:()=>re});var s={};n.r(s),n.d(s,{getError:()=>ce,getSetting:()=>oe,getSettings:()=>se,getUpdating:()=>le});const o=window.wp.element;function l(e){var t,n,i="";if("string"==typeof e||"number"==typeof e)i+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t=0||(a[n]=e[n]);return a}const g=window.ReactDOM;var h=n.n(g);const E=m().createContext(null);var v=function(e){return e.scrollTop},_="unmounted",y="exited",b="entering",x="entered",S="exiting",C=function(e){function t(t,n){var i;i=e.call(this,t,n)||this;var a,r=n&&!n.isMounting?t.enter:t.appear;return i.appearStatus=null,t.in?r?(a=y,i.appearStatus=b):a=x:a=t.unmountOnExit||t.mountOnEnter?_:y,i.state={status:a},i.nextCallback=null,i}u(t,e),t.getDerivedStateFromProps=function(e,t){return e.in&&t.status===_?{status:y}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(e){var t=null;if(e!==this.props){var n=this.state.status;this.props.in?n!==b&&n!==x&&(t=b):n!==b&&n!==x||(t=S)}this.updateStatus(!1,t)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var e,t,n,i=this.props.timeout;return e=t=n=i,null!=i&&"number"!=typeof i&&(e=i.exit,t=i.enter,n=void 0!==i.appear?i.appear:t),{exit:e,enter:t,appear:n}},n.updateStatus=function(e,t){if(void 0===e&&(e=!1),null!==t)if(this.cancelNextCallback(),t===b){if(this.props.unmountOnExit||this.props.mountOnEnter){var n=this.props.nodeRef?this.props.nodeRef.current:h().findDOMNode(this);n&&v(n)}this.performEnter(e)}else this.performExit();else this.props.unmountOnExit&&this.state.status===y&&this.setState({status:_})},n.performEnter=function(e){var t=this,n=this.props.enter,i=this.context?this.context.isMounting:e,a=this.props.nodeRef?[i]:[h().findDOMNode(this),i],r=a[0],s=a[1],o=this.getTimeouts(),l=i?o.appear:o.enter;e||n?(this.props.onEnter(r,s),this.safeSetState({status:b},(function(){t.props.onEntering(r,s),t.onTransitionEnd(l,(function(){t.safeSetState({status:x},(function(){t.props.onEntered(r,s)}))}))}))):this.safeSetState({status:x},(function(){t.props.onEntered(r)}))},n.performExit=function(){var e=this,t=this.props.exit,n=this.getTimeouts(),i=this.props.nodeRef?void 0:h().findDOMNode(this);t?(this.props.onExit(i),this.safeSetState({status:S},(function(){e.props.onExiting(i),e.onTransitionEnd(n.exit,(function(){e.safeSetState({status:y},(function(){e.props.onExited(i)}))}))}))):this.safeSetState({status:y},(function(){e.props.onExited(i)}))},n.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(e,t){t=this.setNextCallback(t),this.setState(e,t)},n.setNextCallback=function(e){var t=this,n=!0;return this.nextCallback=function(i){n&&(n=!1,t.nextCallback=null,e(i))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},n.onTransitionEnd=function(e,t){this.setNextCallback(t);var n=this.props.nodeRef?this.props.nodeRef.current:h().findDOMNode(this),i=null==e&&!this.props.addEndListener;if(n&&!i){if(this.props.addEndListener){var a=this.props.nodeRef?[this.nextCallback]:[n,this.nextCallback],r=a[0],s=a[1];this.props.addEndListener(r,s)}null!=e&&setTimeout(this.nextCallback,e)}else setTimeout(this.nextCallback,0)},n.render=function(){var e=this.state.status;if(e===_)return null;var t=this.props,n=t.children,i=(t.in,t.mountOnEnter,t.unmountOnExit,t.appear,t.enter,t.exit,t.timeout,t.addEndListener,t.onEnter,t.onEntering,t.onEntered,t.onExit,t.onExiting,t.onExited,t.nodeRef,f(t,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]));return m().createElement(E.Provider,{value:null},"function"==typeof n?n(e,i):m().cloneElement(m().Children.only(n),i))},t}(m().Component);function k(){}C.contextType=E,C.propTypes={},C.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:k,onEntering:k,onEntered:k,onExit:k,onExiting:k,onExited:k},C.UNMOUNTED=_,C.EXITED=y,C.ENTERING=b,C.ENTERED=x,C.EXITING=S;const N=C;var O,w,P="out-in",T="in-out",A=function(e,t,n){return function(){var i;e.props[t]&&(i=e.props)[t].apply(i,arguments),n()}},D=((O={})[P]=function(e){var t=e.current,n=e.changeState;return m().cloneElement(t,{in:!1,onExited:A(t,"onExited",(function(){n(b,null)}))})},O[T]=function(e){var t=e.current,n=e.changeState,i=e.children;return[t,m().cloneElement(i,{in:!0,onEntered:A(i,"onEntered",(function(){n(b)}))})]},O),I=((w={})[P]=function(e){var t=e.children,n=e.changeState;return m().cloneElement(t,{in:!0,onEntered:A(t,"onEntered",(function(){n(x,m().cloneElement(t,{in:!0}))}))})},w[T]=function(e){var t=e.current,n=e.children,i=e.changeState;return[m().cloneElement(t,{in:!1,onExited:A(t,"onExited",(function(){i(x,m().cloneElement(n,{in:!0}))}))}),m().cloneElement(n,{in:!0})]},w),M=function(e){function t(){for(var t,n=arguments.length,i=new Array(n),a=0;a{Z&&(Z=!1,document.body.classList.add("mind-admin-first-loading-start"),setTimeout((()=>{document.body.classList.remove("mind-admin-first-loading-start","mind-admin-first-loading")}),8e3))}),[]),null}const B=window.lodash;var H,W;function z(){return z=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{getSettings:t}=e("mind/settings");return{settings:t()}})),n=function(e){const t=e.ai_model||"";let n=!1;return t&&("gpt-4o"===t||"gpt-4o-mini"===t?n=!!e?.openai_api_key:e?.anthropic_api_key&&(n=!!e?.anthropic_api_key)),n}(t);return(0,p.createElement)(p.Fragment,null,(0,p.createElement)("p",{dangerouslySetInnerHTML:{__html:(0,q.sprintf)( // translators: %s - Mind logo. // translators: %s - Mind logo. -(0,V.__)("Hello, my name is %s","mind"),'')}}),(0,o.createElement)("p",null,(0,V.__)("I am an AI assistant designed to help you in writing content for your blog","mind")),t.openai_api_key?(0,o.createElement)("div",{dangerouslySetInnerHTML:{__html:(0,V.__)('To get started, open the page editor and click on the "Open Mind" button in the toolbar',"mind")}}):(0,o.createElement)("div",null,(0,V.__)("To get started, enter your","mind"),(0,o.createElement)("button",{onClick:t=>{t.preventDefault(),e("settings")}},(0,V.__)("OpenAI API key →","mind"))),(0,o.createElement)(Z,null))}},settings:{label:(0,V.__)("Settings","mind"),block:function(){const[e,t]=(0,o.useState)({}),[n,r]=(0,o.useState)(!1),[i,s]=(0,o.useState)(!1),{updateSettings:a}=(0,q.useDispatch)("mind/settings"),{settings:l,updating:u,error:d}=(0,q.useSelect)((e=>{const t=e("mind/settings");return{settings:t.getSettings(),updating:t.getUpdating(),error:t.getError()}}));return(0,o.useEffect)((()=>{t(l)}),[l]),(0,o.useEffect)((()=>{r(!(0,W.isEqual)(l,e))}),[l,e]),(0,o.createElement)(o.Fragment,null,(0,o.createElement)("div",{className:"mind-admin-settings-card"},(0,o.createElement)("div",{className:"mind-admin-settings-card-name"},(0,o.createElement)("label",{htmlFor:"mind-settings-openai-api-key"},(0,V.__)("OpenAI API Key","mind")),(0,o.createElement)("div",{className:"mind-admin-settings-card-description"},(0,V.__)("This setting is required, since our plugin works with OpenAI.","mind")," ",(0,o.createElement)("a",{href:"https://platform.openai.com/account/api-keys",target:"_blank",rel:"noreferrer"},(0,V.__)("Create API key","mind")))),(0,o.createElement)("div",{className:c("mind-admin-settings-card-input",i&&"mind-admin-settings-card-input-error")},(0,o.createElement)("input",{id:"mind-settings-openai-api-key",type:"text",placeholder:(0,V.__)("Enter API key","mind"),value:e.openai_api_key||"",onChange:n=>{n.preventDefault(),t({...e,openai_api_key:n.target.value})}}),i&&(0,o.createElement)("div",{className:"mind-admin-setting-error"},(0,V.__)("Please enter a valid API key","mind")))),d&&(0,o.createElement)("div",{className:"mind-admin-settings-error"},d),(0,o.createElement)("div",{className:"mind-admin-settings-actions"},(0,o.createElement)("button",{disabled:!n,onClick:t=>{var n;t.preventDefault(),!e.openai_api_key||(n=e.openai_api_key,/^sk-[a-zA-Z0-9]{32,}/.test(n))?(s(!1),a(e)):s(!0)}},(0,V.__)("Save Changes","mind"),u&&(0,o.createElement)(z,{viewBox:"0 0 24 24"}))))}},discussions:{label:(0,V.__)("Discussions","mind"),href:"https://github.com/nk-crew/mind/discussions"}},J=[];window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,((e,t,n)=>{J[t]=n}));function Q(e){return{type:"SET_ACTIVE_PAGE",activePage:e}}function Y(e){return e?.activePage||""}const ee=(0,q.createReduxStore)("mind/admin",{reducer:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{activePage:J.sub_page||Object.keys(K)[0]},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"SET_ACTIVE_PAGE"===t.type&&e.activePage!==t.activePage?{...e,activePage:t.activePage}:e},actions:r,selectors:i});(0,q.register)(ee);const{settings:te}=window.mindAdminData,ne=window.wp.apiFetch;var re=n.n(ne);function ie(e){return t=>{let{dispatch:n}=t;if(!e||!Object.keys(e).length)return;n({type:"UPDATE_SETTINGS_PENDING"});const r={settings:e};re()({path:"/mind/v1/update_settings",method:"POST",data:r}).then((t=>(n({type:"UPDATE_SETTINGS_SUCCESS",settings:e}),t.response))).catch((e=>{n({type:"UPDATE_SETTINGS_ERROR",error:e?.response||e?.error_code||(0,V.__)("Something went wrong, please, try again…","mind")})}))}}function se(e){return e?.settings||{}}function ae(e,t){return e?.settings[t]||""}function oe(e){return e?.updating||!1}function le(e){return e?.error||!1}const ce=(0,q.createReduxStore)("mind/settings",{reducer:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{settings:te,updating:!1,error:""},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};switch(t.type){case"UPDATE_SETTINGS_PENDING":return{...e,updating:!0};case"UPDATE_SETTINGS_SUCCESS":return{...e,updating:!1,settings:{...e.settings,...t.settings}};case"UPDATE_SETTINGS_ERROR":return{...e,updating:!1,error:t.error||""}}return e},actions:s,selectors:a});var ue;function de(){return de=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{getActivePage:t}=e("mind/admin");return{activePage:t()}}));(0,o.useEffect)((()=>{document.querySelectorAll(".toplevel_page_mind .current").forEach((e=>{e.classList.remove("current")}));let e=document.querySelectorAll(`.toplevel_page_mind [href="admin.php?page=mind&sub_page=${n}"]`);e&&e.length||(e=document.querySelectorAll('.toplevel_page_mind [href="admin.php?page=mind"]')),e.forEach((e=>{e.parentNode.classList.add("current")})),document.body.classList.forEach((e=>{/mind-admin-page-/.test(e)&&document.body.classList.remove(e)})),document.body.classList.add(`mind-admin-page-${n}`),e&&e.length&&window.history.pushState(document.title,document.title,e[0].href)}),[n]);const r=[];let i="";if(Object.keys(K).forEach((e=>{r.push((0,o.createElement)("li",{key:e},(0,o.createElement)("a",{href:K[e]&&K[e].href||"#",target:K[e]&&K[e].href?"_blank":null,rel:"noreferrer",className:c("mind-admin-tabs-button",n===e&&"mind-admin-tabs-button-active"),onClick:n=>{K[e]&&!K[e].href&&(n.preventDefault(),t(e))}},K[e].label)))})),n&&K[n]){const e=K[n].block;i=(0,o.createElement)(e,null)}return(0,o.createElement)(o.Fragment,null,(0,o.createElement)("div",{className:"mind-admin-head"},(0,o.createElement)("div",{className:"mind-admin-head-container"},(0,o.createElement)("div",{className:"mind-admin-head-logo"},(0,o.createElement)(pe,null),(0,o.createElement)("h1",null,(0,V.__)("Mind","mind"))),(0,o.createElement)("ul",{className:"mind-admin-tabs"},r))),(0,o.createElement)(R,{mode:"out-in"},(0,o.createElement)(F,{key:n,nodeRef:e,addEndListener:t=>{e.current.addEventListener("transitionend",t,!1)},classNames:"mind-admin-content-transition"},(0,o.createElement)("div",{ref:e,className:c("mind-admin-content",`mind-admin-content-${n}`)},i))))}window.addEventListener("load",(()=>{(0,o.render)((0,o.createElement)(me,null),document.querySelector(".mind-admin-root"))}))}},n={};function r(e){var i=n[e];if(void 0!==i)return i.exports;var s=n[e]={exports:{}};return t[e](s,s.exports,r),s.exports}r.m=t,e=[],r.O=(t,n,i,s)=>{if(!n){var a=1/0;for(u=0;u=s)&&Object.keys(r.O).every((e=>r.O[e](n[l])))?n.splice(l--,1):(o=!1,s0&&e[u-1][2]>s;u--)e[u]=e[u-1];e[u]=[n,i,s]},r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={884:0,15:0};r.O.j=t=>0===e[t];var t=(t,n)=>{var i,s,a=n[0],o=n[1],l=n[2],c=0;if(a.some((t=>0!==e[t]))){for(i in o)r.o(o,i)&&(r.m[i]=o[i]);if(l)var u=l(r)}for(t&&t(n);cr(297)));i=r.O(i)})(); \ No newline at end of file +(0,q.__)("Hello, my name is %s","mind"),'')}}),(0,p.createElement)("p",null,(0,q.__)("I am an AI assistant designed to help you in writing content for your blog","mind")),n?(0,p.createElement)("div",{dangerouslySetInnerHTML:{__html:(0,q.__)('To get started, open the page editor and click on the
button in the toolbar',"mind")}}):(0,p.createElement)("div",null,(0,q.__)("To get started,","mind"),(0,p.createElement)("button",{onClick:t=>{t.preventDefault(),e("settings")}},(0,q.__)("select the model and API key →","mind"))),(0,p.createElement)($,null))}},settings:{label:(0,q.__)("Settings","mind"),block:function(){const[e,t]=(0,o.useState)({}),[n,i]=(0,o.useState)(!1),[a,r]=(0,o.useState)(!1),[s,l]=(0,o.useState)(!1),{updateSettings:d}=(0,V.useDispatch)("mind/settings"),{settings:u,updating:m,error:f}=(0,V.useSelect)((e=>{const t=e("mind/settings");return{settings:t.getSettings(),updating:t.getUpdating(),error:t.getError()}}));return(0,o.useEffect)((()=>{t(u)}),[u]),(0,o.useEffect)((()=>{i(!(0,B.isEqual)(u,e))}),[u,e]),(0,p.createElement)(p.Fragment,null,(0,p.createElement)("div",{className:"mind-admin-settings-card"},(0,p.createElement)("div",{className:"mind-admin-settings-card-name"},(0,p.createElement)("label",{htmlFor:"mind-settings-ai-model"},(0,q.__)("Model","mind"))),(0,p.createElement)("div",{className:"mind-admin-settings-card-button-group"},X.map((n=>(0,p.createElement)("button",{key:n.title,onClick:i=>{i.preventDefault(),t({...e,ai_model:n.name})},className:c("mind-admin-settings-card-button",e.ai_model===n.name&&"mind-admin-settings-card-button-active")},n.title,(0,p.createElement)("span",null,n.description)))))),e.ai_model?.includes("claude")&&(0,p.createElement)("div",{className:"mind-admin-settings-card"},(0,p.createElement)("div",{className:"mind-admin-settings-card-name"},(0,p.createElement)("label",{htmlFor:"mind-settings-anthropic-api-key"},(0,q.__)("Anthropic API Key","mind"))),(0,p.createElement)("div",{className:c("mind-admin-settings-card-input",a&&"mind-admin-settings-card-input-error")},(0,p.createElement)("input",{id:"mind-settings-anthropic-api-key",type:"text",placeholder:(0,q.__)("Enter API key","mind"),value:e.anthropic_api_key||"",onChange:n=>{n.preventDefault(),t({...e,anthropic_api_key:n.target.value})}}),a&&(0,p.createElement)("div",{className:"mind-admin-setting-error"},(0,q.__)("Please enter a valid API key","mind"))),(0,p.createElement)("div",{className:"mind-admin-settings-card-description"},(0,q.__)("This setting is required to use Anthropic models.","mind")," ",(0,p.createElement)("a",{href:"https://console.anthropic.com/settings/keys",target:"_blank",rel:"noreferrer"},(0,q.__)("Create API key","mind")))),e.ai_model?.includes("gpt")&&(0,p.createElement)("div",{className:"mind-admin-settings-card"},(0,p.createElement)("div",{className:"mind-admin-settings-card-name"},(0,p.createElement)("label",{htmlFor:"mind-settings-openai-api-key"},(0,q.__)("OpenAI API Key","mind"))),(0,p.createElement)("div",{className:c("mind-admin-settings-card-input",s&&"mind-admin-settings-card-input-error")},(0,p.createElement)("input",{id:"mind-settings-openai-api-key",type:"text",placeholder:(0,q.__)("Enter API key","mind"),value:e.openai_api_key||"",onChange:n=>{n.preventDefault(),t({...e,openai_api_key:n.target.value})}}),s&&(0,p.createElement)("div",{className:"mind-admin-setting-error"},(0,q.__)("Please enter a valid API key","mind"))),(0,p.createElement)("div",{className:"mind-admin-settings-card-description"},(0,q.__)("This setting is required to use OpenAI models.","mind")," ",(0,p.createElement)("a",{href:"https://platform.openai.com/account/api-keys",target:"_blank",rel:"noreferrer"},(0,q.__)("Create API key","mind")))),f&&(0,p.createElement)("div",{className:"mind-admin-settings-error"},f),(0,p.createElement)("div",{className:"mind-admin-settings-actions"},(0,p.createElement)("button",{disabled:!n,onClick:t=>{var n;t.preventDefault(),e.anthropic_api_key&&(n=e.anthropic_api_key,!/^sk-ant-[a-zA-Z0-9]/.test(n))?r(!0):e.openai_api_key&&!function(e){return/^sk-[a-zA-Z0-9]/.test(e)}(e.openai_api_key)?l(!0):(l(!1),r(!1),d(e))}},(0,q.__)("Save Changes","mind"),m&&(0,p.createElement)(K,{viewBox:"0 0 24 24"}))))}},discussions:{label:(0,q.__)("Discussions","mind"),href:"https://github.com/nk-crew/mind/discussions"}},J=[];window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,((e,t,n)=>{J[t]=n}));function Y(e){return{type:"SET_ACTIVE_PAGE",activePage:e}}function ee(e){return e?.activePage||""}const te=(0,V.createReduxStore)("mind/admin",{reducer:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{activePage:J.sub_page||Object.keys(Q)[0]},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"SET_ACTIVE_PAGE"===t.type&&e.activePage!==t.activePage?{...e,activePage:t.activePage}:e},actions:i,selectors:a});(0,V.register)(te);const{settings:ne}=window.mindAdminData,ie=window.wp.apiFetch;var ae=n.n(ie);function re(e){return t=>{let{dispatch:n}=t;if(!e||!Object.keys(e).length)return;n({type:"UPDATE_SETTINGS_PENDING"});const i={settings:e};ae()({path:"/mind/v1/update_settings",method:"POST",data:i}).then((t=>(n({type:"UPDATE_SETTINGS_SUCCESS",settings:e}),t.response))).catch((e=>{n({type:"UPDATE_SETTINGS_ERROR",error:e?.response||e?.error_code||(0,q.__)("Something went wrong, please, try again…","mind")})}))}}function se(e){return e?.settings||{}}function oe(e,t){return e?.settings[t]||""}function le(e){return e?.updating||!1}function ce(e){return e?.error||!1}const de=(0,V.createReduxStore)("mind/settings",{reducer:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{settings:ne,updating:!1,error:""},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};switch(t.type){case"UPDATE_SETTINGS_PENDING":return{...e,updating:!0};case"UPDATE_SETTINGS_SUCCESS":return{...e,updating:!1,settings:{...e.settings,...t.settings}};case"UPDATE_SETTINGS_ERROR":return{...e,updating:!1,error:t.error||""}}return e},actions:r,selectors:s});var ue;function pe(){return pe=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{getActivePage:t}=e("mind/admin");return{activePage:t()}}));(0,o.useEffect)((()=>{document.querySelectorAll(".toplevel_page_mind .current").forEach((e=>{e.classList.remove("current")}));let e=document.querySelectorAll(`.toplevel_page_mind [href="admin.php?page=mind&sub_page=${n}"]`);e&&e.length||(e=document.querySelectorAll('.toplevel_page_mind [href="admin.php?page=mind"]')),e.forEach((e=>{e.parentNode.classList.add("current")})),document.body.classList.forEach((e=>{/mind-admin-page-/.test(e)&&document.body.classList.remove(e)})),document.body.classList.add(`mind-admin-page-${n}`),e&&e.length&&window.history.pushState(document.title,document.title,e[0].href)}),[n]);const i=[];let a="";if(Object.keys(Q).forEach((e=>{i.push((0,o.createElement)("li",{key:e},(0,o.createElement)("a",{href:Q[e]&&Q[e].href||"#",target:Q[e]&&Q[e].href?"_blank":null,rel:"noreferrer",className:c("mind-admin-tabs-button",n===e&&"mind-admin-tabs-button-active"),onClick:n=>{Q[e]&&!Q[e].href&&(n.preventDefault(),t(e))}},Q[e].label)))})),n&&Q[n]){const e=Q[n].block;a=(0,o.createElement)(e,null)}return(0,o.createElement)(o.Fragment,null,(0,o.createElement)("div",{className:"mind-admin-head"},(0,o.createElement)("div",{className:"mind-admin-head-container"},(0,o.createElement)("div",{className:"mind-admin-head-logo"},(0,o.createElement)(me,null),(0,o.createElement)("h1",null,(0,q.__)("Mind","mind"))),(0,o.createElement)("ul",{className:"mind-admin-tabs"},i))),(0,o.createElement)(R,{mode:"out-in"},(0,o.createElement)(F,{key:n,nodeRef:e,addEndListener:t=>{e.current.addEventListener("transitionend",t,!1)},classNames:"mind-admin-content-transition"},(0,o.createElement)("div",{ref:e,className:c("mind-admin-content",`mind-admin-content-${n}`)},a))))}window.addEventListener("load",(()=>{(0,o.render)((0,o.createElement)(fe,null),document.querySelector(".mind-admin-root"))}))}},n={};function i(e){var a=n[e];if(void 0!==a)return a.exports;var r=n[e]={exports:{}};return t[e](r,r.exports,i),r.exports}i.m=t,e=[],i.O=(t,n,a,r)=>{if(!n){var s=1/0;for(d=0;d=r)&&Object.keys(i.O).every((e=>i.O[e](n[l])))?n.splice(l--,1):(o=!1,r0&&e[d-1][2]>r;d--)e[d]=e[d-1];e[d]=[n,a,r]},i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={884:0,15:0};i.O.j=t=>0===e[t];var t=(t,n)=>{var a,r,s=n[0],o=n[1],l=n[2],c=0;if(s.some((t=>0!==e[t]))){for(a in o)i.o(o,a)&&(i.m[a]=o[a]);if(l)var d=l(i)}for(t&&t(n);ci(925)));a=i.O(a)})(); \ No newline at end of file diff --git a/build/editor.asset.php b/build/editor.asset.php index d91105d..7b7d358 100644 --- a/build/editor.asset.php +++ b/build/editor.asset.php @@ -1 +1 @@ - array('lodash', 'react', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-hooks', 'wp-i18n'), 'version' => 'a127d9515a556a21769e'); + array('lodash', 'react', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-hooks', 'wp-i18n'), 'version' => 'aa92c1a29be9b8b0c615'); diff --git a/build/editor.js b/build/editor.js index 26df571..aa9c633 100644 --- a/build/editor.js +++ b/build/editor.js @@ -1,7 +1,7 @@ -(()=>{"use strict";var e,t={606:(e,t,n)=>{var r={};n.r(r),n.d(r,{getSettingsPageURL:()=>p,isConnected:()=>u});var s={};n.r(s),n.d(s,{getHighlightBlocks:()=>g});var i={};n.r(i),n.d(i,{removeHighlightBlocks:()=>f,setHighlightBlocks:()=>m});var o={};n.r(o),n.d(o,{close:()=>J,open:()=>X,processStream:()=>ae,requestAI:()=>ce,reset:()=>le,setContext:()=>te,setError:()=>oe,setInput:()=>ee,setInsertionPlace:()=>ne,setLoading:()=>se,setResponse:()=>ie,setScreen:()=>re,toggle:()=>Y});var l={};n.r(l),n.d(l,{getContext:()=>he,getError:()=>we,getInput:()=>pe,getInsertionPlace:()=>de,getLoading:()=>me,getProgress:()=>ke,getRenderBuffer:()=>be,getResponse:()=>fe,getScreen:()=>ge,isOpen:()=>ue});const{connected:a,settingsPageURL:c}=window.mindData;function u(){return"1"===a}function p(){return c}const h=window.wp.data,d=(0,h.createReduxStore)("mind",{selectors:r,reducer:e=>e});(0,h.register)(d);function g(e){return e?.highlightBlocks||[]}function m(e){return{type:"SET_HIGHLIGHT_BLOCKS",highlightBlocks:e}}function f(e){return{type:"REMOVE_HIGHLIGHT_BLOCKS",removeBlocks:e}}const k=(0,h.createReduxStore)("mind/blocks",{reducer:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{highlightBlocks:[]},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};switch(t.type){case"SET_HIGHLIGHT_BLOCKS":if(t.highlightBlocks&&t.highlightBlocks.length)return{...e,highlightBlocks:[...e.highlightBlocks,...t.highlightBlocks]};break;case"REMOVE_HIGHLIGHT_BLOCKS":if(e.highlightBlocks&&e.highlightBlocks.length&&t.removeBlocks&&t.removeBlocks.length)return{...e,highlightBlocks:e.highlightBlocks.filter((e=>!t.removeBlocks.includes(e)))}}return e},selectors:s,actions:i});(0,h.register)(k);let b={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};function w(e){b=e}const _=/[&<>"']/,x=new RegExp(_.source,"g"),E=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,y=new RegExp(E.source,"g"),v={"&":"&","<":"<",">":">",'"':""","'":"'"},S=e=>v[e];function O(e,t){if(t){if(_.test(e))return e.replace(x,S)}else if(E.test(e))return e.replace(y,S);return e}const C=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,T=/(^|[^\[])\^/g;function I(e,t){e="string"==typeof e?e:e.source,t=t||"";const n={replace:(t,r)=>(r=(r="object"==typeof r&&"source"in r?r.source:r).replace(T,"$1"),e=e.replace(t,r),n),getRegex:()=>new RegExp(e,t)};return n}function R(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch(e){return null}return e}const $={exec:()=>null};function P(e,t){const n=e.replace(/\|/g,((e,t,n)=>{let r=!1,s=t;for(;--s>=0&&"\\"===n[s];)r=!r;return r?"|":" |"})).split(/ \|/);let r=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const e=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:M(e,"\n")}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const e=t[0],n=function(e,t){const n=e.match(/^(\s+)(?:```)/);if(null===n)return t;const r=n[1];return t.split("\n").map((e=>{const t=e.match(/^\s+/);if(null===t)return e;const[n]=t;return n.length>=r.length?e.slice(r.length):e})).join("\n")}(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline._escapes,"$1"):t[2],text:n}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){const t=M(e,"#");this.options.pedantic?e=t.trim():t&&!/ $/.test(t)||(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){const e=M(t[0].replace(/^ *>[ \t]?/gm,""),"\n"),n=this.lexer.state.top;this.lexer.state.top=!0;const r=this.lexer.blockTokens(e);return this.lexer.state.top=n,{type:"blockquote",raw:t[0],tokens:r,text:e}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim();const r=n.length>1,s={type:"list",raw:"",ordered:r,start:r?+n.slice(0,-1):"",loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:"[*+-]");const i=new RegExp(`^( {0,3}${n})((?:[\t ][^\\n]*)?(?:\\n|$))`);let o="",l="",a=!1;for(;e;){let n=!1;if(!(t=i.exec(e)))break;if(this.rules.block.hr.test(e))break;o=t[0],e=e.substring(o.length);let r=t[2].split("\n",1)[0].replace(/^\t+/,(e=>" ".repeat(3*e.length))),c=e.split("\n",1)[0],u=0;this.options.pedantic?(u=2,l=r.trimStart()):(u=t[2].search(/[^ ]/),u=u>4?1:u,l=r.slice(u),u+=t[1].length);let p=!1;if(!r&&/^ *$/.test(c)&&(o+=c+"\n",e=e.substring(c.length+1),n=!0),!n){const t=new RegExp(`^ {0,${Math.min(3,u-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),n=new RegExp(`^ {0,${Math.min(3,u-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),s=new RegExp(`^ {0,${Math.min(3,u-1)}}(?:\`\`\`|~~~)`),i=new RegExp(`^ {0,${Math.min(3,u-1)}}#`);for(;e;){const a=e.split("\n",1)[0];if(c=a,this.options.pedantic&&(c=c.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),s.test(c))break;if(i.test(c))break;if(t.test(c))break;if(n.test(e))break;if(c.search(/[^ ]/)>=u||!c.trim())l+="\n"+c.slice(u);else{if(p)break;if(r.search(/[^ ]/)>=4)break;if(s.test(r))break;if(i.test(r))break;if(n.test(r))break;l+="\n"+c}p||c.trim()||(p=!0),o+=a+"\n",e=e.substring(a.length+1),r=c.slice(u)}}s.loose||(a?s.loose=!0:/\n *\n *$/.test(o)&&(a=!0));let h,d=null;this.options.gfm&&(d=/^\[[ xX]\] /.exec(l),d&&(h="[ ] "!==d[0],l=l.replace(/^\[[ xX]\] +/,""))),s.items.push({type:"list_item",raw:o,task:!!d,checked:h,loose:!1,text:l,tokens:[]}),s.raw+=o}s.items[s.items.length-1].raw=o.trimEnd(),s.items[s.items.length-1].text=l.trimEnd(),s.raw=s.raw.trimEnd();for(let e=0;e"space"===e.type)),n=t.length>0&&t.some((e=>/\n.*\n/.test(e.raw)));s.loose=n}if(s.loose)for(let e=0;e$/,"$1").replace(this.rules.inline._escapes,"$1"):"",r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline._escapes,"$1"):t[3];return{type:"def",tag:e,raw:t[0],href:n,title:r}}}table(e){const t=this.rules.block.table.exec(e);if(t){if(!/[:|]/.test(t[2]))return;const e={type:"table",raw:t[0],header:P(t[1]).map((e=>({text:e,tokens:[]}))),align:t[2].replace(/^\||\| *$/g,"").split("|"),rows:t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(e.header.length===e.align.length){let t,n,r,s,i=e.align.length;for(t=0;t({text:e,tokens:[]})));for(i=e.header.length,n=0;n/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){const t=this.rules.inline.link.exec(e);if(t){const e=t[2].trim();if(!this.options.pedantic&&/^$/.test(e))return;const t=M(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{const e=function(e,t){if(-1===e.indexOf(t[1]))return-1;let n=0;for(let r=0;r-1){const n=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=""}}let n=t[2],r="";if(this.options.pedantic){const e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):"";return n=n.trim(),/^$/.test(e)?n.slice(1):n.slice(1,-1)),A(t,{href:n?n.replace(this.rules.inline._escapes,"$1"):n,title:r?r.replace(this.rules.inline._escapes,"$1"):r},t[0],this.lexer)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=(n[2]||n[1]).replace(/\s+/g," ");if(e=t[e.toLowerCase()],!e){const e=n[0].charAt(0);return{type:"text",raw:e,text:e}}return A(n,e,n[0],this.lexer)}}emStrong(e,t,n=""){let r=this.rules.inline.emStrong.lDelim.exec(e);if(r&&(!r[3]||!n.match(/[\p{L}\p{N}]/u))&&(!r[1]&&!r[2]||!n||this.rules.inline.punctuation.exec(n))){const n=[...r[0]].length-1;let s,i,o=n,l=0;const a="*"===r[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(a.lastIndex=0,t=t.slice(-1*e.length+n);null!=(r=a.exec(t));){if(s=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!s)continue;if(i=[...s].length,r[3]||r[4]){o+=i;continue}if((r[5]||r[6])&&n%3&&!((n+i)%3)){l+=i;continue}if(o-=i,o>0)continue;i=Math.min(i,i+o+l);const t=[...r[0]][0].length,a=e.slice(0,n+r.index+t+i);if(Math.min(n,i)%2){const e=a.slice(1,-1);return{type:"em",raw:a,text:e,tokens:this.lexer.inlineTokens(e)}}const c=a.slice(2,-2);return{type:"strong",raw:a,text:c,tokens:this.lexer.inlineTokens(c)}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(/\n/g," ");const n=/[^ ]/.test(e),r=/^ /.test(e)&&/ $/.test(e);return n&&r&&(e=e.substring(1,e.length-1)),e=O(e,!0),{type:"codespan",raw:t[0],text:e}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){const t=this.rules.inline.autolink.exec(e);if(t){let e,n;return"@"===t[2]?(e=O(t[1]),n="mailto:"+e):(e=O(t[1]),n=e),{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if("@"===t[2])e=O(t[0]),n="mailto:"+e;else{let r;do{r=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])[0]}while(r!==t[0]);e=O(t[0]),n="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){const t=this.rules.inline.text.exec(e);if(t){let e;return e=this.lexer.state.inRawBlock?t[0]:O(t[0]),{type:"text",raw:t[0],text:e}}}}const z={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:$,lheading:/^(?!bull )((?:.|\n(?!\s*?\n|bull ))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};z.def=I(z.def).replace("label",z._label).replace("title",z._title).getRegex(),z.bullet=/(?:[*+-]|\d{1,9}[.)])/,z.listItemStart=I(/^( *)(bull) */).replace("bull",z.bullet).getRegex(),z.list=I(z.list).replace(/bull/g,z.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+z.def.source+")").getRegex(),z._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",z._comment=/|$)/,z.html=I(z.html,"i").replace("comment",z._comment).replace("tag",z._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),z.lheading=I(z.lheading).replace(/bull/g,z.bullet).getRegex(),z.paragraph=I(z._paragraph).replace("hr",z.hr).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",z._tag).getRegex(),z.blockquote=I(z.blockquote).replace("paragraph",z.paragraph).getRegex(),z.normal={...z},z.gfm={...z.normal,table:"^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"},z.gfm.table=I(z.gfm.table).replace("hr",z.hr).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",z._tag).getRegex(),z.gfm.paragraph=I(z._paragraph).replace("hr",z.hr).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",z.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",z._tag).getRegex(),z.pedantic={...z.normal,html:I("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",z._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:$,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:I(z.normal._paragraph).replace("hr",z.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",z.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()};const j={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:$,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,rDelimAst:/^[^_*]*?__[^_*]*?\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\*)[punct](\*+)(?=[\s]|$)|[^punct\s](\*+)(?!\*)(?=[punct\s]|$)|(?!\*)[punct\s](\*+)(?=[^punct\s])|[\s](\*+)(?!\*)(?=[punct])|(?!\*)[punct](\*+)(?!\*)(?=[punct])|[^punct\s](\*+)(?=[^punct\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\s]|$)|[^punct\s](_+)(?!_)(?=[punct\s]|$)|(?!_)[punct\s](_+)(?=[^punct\s])|[\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:$,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`^|~"};j.punctuation=I(j.punctuation,"u").replace(/punctuation/g,j._punctuation).getRegex(),j.blockSkip=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,j.anyPunctuation=/\\[punct]/g,j._escapes=/\\([punct])/g,j._comment=I(z._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),j.emStrong.lDelim=I(j.emStrong.lDelim,"u").replace(/punct/g,j._punctuation).getRegex(),j.emStrong.rDelimAst=I(j.emStrong.rDelimAst,"gu").replace(/punct/g,j._punctuation).getRegex(),j.emStrong.rDelimUnd=I(j.emStrong.rDelimUnd,"gu").replace(/punct/g,j._punctuation).getRegex(),j.anyPunctuation=I(j.anyPunctuation,"gu").replace(/punct/g,j._punctuation).getRegex(),j._escapes=I(j._escapes,"gu").replace(/punct/g,j._punctuation).getRegex(),j._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,j._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,j.autolink=I(j.autolink).replace("scheme",j._scheme).replace("email",j._email).getRegex(),j._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,j.tag=I(j.tag).replace("comment",j._comment).replace("attribute",j._attribute).getRegex(),j._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,j._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,j._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,j.link=I(j.link).replace("label",j._label).replace("href",j._href).replace("title",j._title).getRegex(),j.reflink=I(j.reflink).replace("label",j._label).replace("ref",z._label).getRegex(),j.nolink=I(j.nolink).replace("ref",z._label).getRegex(),j.reflinkSearch=I(j.reflinkSearch,"g").replace("reflink",j.reflink).replace("nolink",j.nolink).getRegex(),j.normal={...j},j.pedantic={...j.normal,strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:I(/^!?\[(label)\]\((.*?)\)/).replace("label",j._label).getRegex(),reflink:I(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",j._label).getRegex()},j.gfm={...j.normal,escape:I(j.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\t+" ".repeat(n.length)));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((r=>!!(n=r.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))))if(n=this.tokenizer.space(e))e=e.substring(n.raw.length),1===n.raw.length&&t.length>0?t[t.length-1].raw+="\n":t.push(n);else if(n=this.tokenizer.code(e))e=e.substring(n.raw.length),r=t[t.length-1],!r||"paragraph"!==r.type&&"text"!==r.type?t.push(n):(r.raw+="\n"+n.raw,r.text+="\n"+n.text,this.inlineQueue[this.inlineQueue.length-1].src=r.text);else if(n=this.tokenizer.fences(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.heading(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.hr(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.blockquote(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.list(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.html(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.def(e))e=e.substring(n.raw.length),r=t[t.length-1],!r||"paragraph"!==r.type&&"text"!==r.type?this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title}):(r.raw+="\n"+n.raw,r.text+="\n"+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=r.text);else if(n=this.tokenizer.table(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.lheading(e))e=e.substring(n.raw.length),t.push(n);else{if(s=e,this.options.extensions&&this.options.extensions.startBlock){let t=1/0;const n=e.slice(1);let r;this.options.extensions.startBlock.forEach((e=>{r=e.call({lexer:this},n),"number"==typeof r&&r>=0&&(t=Math.min(t,r))})),t<1/0&&t>=0&&(s=e.substring(0,t+1))}if(this.state.top&&(n=this.tokenizer.paragraph(s)))r=t[t.length-1],i&&"paragraph"===r.type?(r.raw+="\n"+n.raw,r.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):t.push(n),i=s.length!==e.length,e=e.substring(n.raw.length);else if(n=this.tokenizer.text(e))e=e.substring(n.raw.length),r=t[t.length-1],r&&"text"===r.type?(r.raw+="\n"+n.raw,r.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):t.push(n);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n,r,s,i,o,l,a=e;if(this.tokens.links){const e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(i=this.tokenizer.rules.inline.reflinkSearch.exec(a));)e.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(a=a.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+a.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(i=this.tokenizer.rules.inline.blockSkip.exec(a));)a=a.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+a.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(i=this.tokenizer.rules.inline.anyPunctuation.exec(a));)a=a.slice(0,i.index)+"++"+a.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(o||(l=""),o=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((r=>!!(n=r.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))))if(n=this.tokenizer.escape(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.tag(e))e=e.substring(n.raw.length),r=t[t.length-1],r&&"text"===n.type&&"text"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);else if(n=this.tokenizer.link(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(n.raw.length),r=t[t.length-1],r&&"text"===n.type&&"text"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);else if(n=this.tokenizer.emStrong(e,a,l))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.codespan(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.br(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.del(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.autolink(e))e=e.substring(n.raw.length),t.push(n);else if(this.state.inLink||!(n=this.tokenizer.url(e))){if(s=e,this.options.extensions&&this.options.extensions.startInline){let t=1/0;const n=e.slice(1);let r;this.options.extensions.startInline.forEach((e=>{r=e.call({lexer:this},n),"number"==typeof r&&r>=0&&(t=Math.min(t,r))})),t<1/0&&t>=0&&(s=e.substring(0,t+1))}if(n=this.tokenizer.inlineText(s))e=e.substring(n.raw.length),"_"!==n.raw.slice(-1)&&(l=n.raw.slice(-1)),o=!0,r=t[t.length-1],r&&"text"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}else e=e.substring(n.raw.length),t.push(n);return t}}class N{options;constructor(e){this.options=e||b}code(e,t,n){const r=(t||"").match(/^\S*/)?.[0];return e=e.replace(/\n$/,"")+"\n",r?'
'+(n?e:O(e,!0))+"
\n":"
"+(n?e:O(e,!0))+"
\n"}blockquote(e){return`
\n${e}
\n`}html(e,t){return e}heading(e,t,n){return`${e}\n`}hr(){return"
\n"}list(e,t,n){const r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"}listitem(e,t,n){return`
  • ${e}
  • \n`}checkbox(e){return"'}paragraph(e){return`

    ${e}

    \n`}table(e,t){return t&&(t=`${t}`),"\n\n"+e+"\n"+t+"
    \n"}tablerow(e){return`\n${e}\n`}tablecell(e,t){const n=t.header?"th":"td";return(t.align?`<${n} align="${t.align}">`:`<${n}>`)+e+`\n`}strong(e){return`${e}`}em(e){return`${e}`}codespan(e){return`${e}`}br(){return"
    "}del(e){return`${e}`}link(e,t,n){const r=R(e);if(null===r)return n;let s='",s}image(e,t,n){const r=R(e);if(null===r)return n;let s=`${n}"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):"")));continue}case"code":{const e=s;n+=this.renderer.code(e.text,e.lang,!!e.escaped);continue}case"table":{const e=s;let t="",r="";for(let t=0;t0&&"paragraph"===n.tokens[0].type?(n.tokens[0].text=e+" "+n.tokens[0].text,n.tokens[0].tokens&&n.tokens[0].tokens.length>0&&"text"===n.tokens[0].tokens[0].type&&(n.tokens[0].tokens[0].text=e+" "+n.tokens[0].tokens[0].text)):n.tokens.unshift({type:"text",text:e+" "}):l+=e+" "}l+=this.parse(n.tokens,i),o+=this.renderer.listitem(l,s,!!r)}n+=this.renderer.list(o,t,r);continue}case"html":{const e=s;n+=this.renderer.html(e.text,e.block);continue}case"paragraph":{const e=s;n+=this.renderer.paragraph(this.parseInline(e.tokens));continue}case"text":{let i=s,o=i.tokens?this.parseInline(i.tokens):i.text;for(;r+1{n=n.concat(this.walkTokens(e[r],t))})):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){const t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach((e=>{const n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach((e=>{if(!e.name)throw new Error("extension name required");if("renderer"in e){const n=t.renderers[e.name];t.renderers[e.name]=n?function(...t){let r=e.renderer.apply(this,t);return!1===r&&(r=n.apply(this,t)),r}:e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw new Error("extension level must be 'block' or 'inline'");const n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&("block"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:"inline"===e.level&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}"childTokens"in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)})),n.extensions=t),e.renderer){const t=this.defaults.renderer||new N(this.defaults);for(const n in e.renderer){const r=e.renderer[n],s=n,i=t[s];t[s]=(...e)=>{let n=r.apply(t,e);return!1===n&&(n=i.apply(t,e)),n||""}}n.renderer=t}if(e.tokenizer){const t=this.defaults.tokenizer||new B(this.defaults);for(const n in e.tokenizer){const r=e.tokenizer[n],s=n,i=t[s];t[s]=(...e)=>{let n=r.apply(t,e);return!1===n&&(n=i.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){const t=this.defaults.hooks||new H;for(const n in e.hooks){const r=e.hooks[n],s=n,i=t[s];H.passThroughHooks.has(n)?t[s]=e=>{if(this.defaults.async)return Promise.resolve(r.call(t,e)).then((e=>i.call(t,e)));const n=r.call(t,e);return i.call(t,n)}:t[s]=(...e)=>{let n=r.apply(t,e);return!1===n&&(n=i.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){const t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}})),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return L.lex(e,t??this.defaults)}parser(e,t){return U.parse(e,t??this.defaults)}#e(e,t){return(n,r)=>{const s={...r},i={...this.defaults,...s};!0===this.defaults.async&&!1===s.async&&(i.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),i.async=!0);const o=this.#t(!!i.silent,!!i.async);if(null==n)return o(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof n)return o(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));if(i.hooks&&(i.hooks.options=i),i.async)return Promise.resolve(i.hooks?i.hooks.preprocess(n):n).then((t=>e(t,i))).then((e=>i.walkTokens?Promise.all(this.walkTokens(e,i.walkTokens)).then((()=>e)):e)).then((e=>t(e,i))).then((e=>i.hooks?i.hooks.postprocess(e):e)).catch(o);try{i.hooks&&(n=i.hooks.preprocess(n));const r=e(n,i);i.walkTokens&&this.walkTokens(r,i.walkTokens);let s=t(r,i);return i.hooks&&(s=i.hooks.postprocess(s)),s}catch(e){return o(e)}}}#t(e,t){return n=>{if(n.message+="\nPlease report this to https://github.com/markedjs/marked.",e){const e="

    An error occurred:

    "+O(n.message+"",!0)+"
    ";return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function Z(e,t){return D.parse(e,t)}function Q(e){let t=Z.parse(e);return t=t.replace(/
    <\/pre>/g,"
    "),t}Z.options=Z.setOptions=function(e){return D.setOptions(e),Z.defaults=D.defaults,w(Z.defaults),Z},Z.getDefaults=function(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}},Z.defaults=b,Z.use=function(...e){return D.use(...e),Z.defaults=D.defaults,w(Z.defaults),Z},Z.walkTokens=function(e,t){return D.walkTokens(e,t)},Z.parseInline=D.parseInline,Z.Parser=U,Z.parser=U.parse,Z.Renderer=N,Z.TextRenderer=q,Z.Lexer=L,Z.lexer=L.lex,Z.Tokenizer=B,Z.Hooks=H,Z.parse=Z,Z.options,Z.setOptions,Z.use,Z.walkTokens,Z.parseInline,U.parse,L.lex,Z.use({headerIds:!1});const F={isOpen:!1,input:"",context:"",insertionPlace:"",screen:"",loading:!1,response:"",error:null,progress:{charsProcessed:0,queueSize:0,isComplete:!1},renderBuffer:{content:"",lastUpdate:0}},G=window.wp.i18n,W=window.wp.apiFetch;var K=n.n(W);class V{constructor(e){this.dispatch=e,this.buffer="",this.responseText="",this.decoder=new TextDecoder,this.lastUpdate=Date.now(),this.updateQueue=[],this.isProcessing=!1,this.CONFIG={CHUNK_DELAY:30,UPDATE_INTERVAL:50,BATCH_SIZE:3,MAX_QUEUE_SIZE:100,TYPING_SPEED:{FAST:20,MEDIUM:35,SLOW:50}}}async processStream(e){try{for(this.startQueueProcessor();;){const{value:t,done:n}=await e.read();if(n)break;await this.processChunk(t)}await this.flushQueue(),this.sendCompletion()}catch(e){this.handleError(e)}}async processChunk(e){const t=this.decoder.decode(e,{stream:!0}),n=this.parseChunks(t);for(const e of n)await this.queueUpdate(e)}parseChunks(e){const t=[],n=e.split("\n");for(const e of n)if(e.startsWith("data: "))try{const n=JSON.parse(e.slice(6));n.content&&t.push(n.content)}catch(e){console.debug("Chunk parse error:",e)}return t}async queueUpdate(e){this.updateQueue.push(e),this.updateQueue.length>this.CONFIG.MAX_QUEUE_SIZE&&await this.flushQueue()}async startQueueProcessor(){if(!this.isProcessing){for(this.isProcessing=!0;this.updateQueue.length>0;){const e=this.updateQueue.splice(0,this.CONFIG.BATCH_SIZE);await this.processBatch(e)}this.isProcessing=!1}}async processBatch(e){const t=e.join("");this.responseText+=t;const n=Date.now();n-this.lastUpdate>=this.CONFIG.UPDATE_INTERVAL&&(this.dispatch({type:"REQUEST_AI_CHUNK",payload:{content:this.responseText,progress:this.calculateProgress()}}),this.lastUpdate=n),await new Promise((e=>setTimeout(e,this.CONFIG.CHUNK_DELAY)))}calculateProgress(){return{charsProcessed:this.responseText.length,queueSize:this.updateQueue.length,isComplete:!1}}async flushQueue(){for(;this.updateQueue.length>0;)await this.startQueueProcessor()}sendCompletion(){this.dispatch({type:"REQUEST_AI_SUCCESS",payload:{content:this.responseText,progress:{isComplete:!0}}})}handleError(e){this.dispatch({type:"REQUEST_AI_ERROR",payload:e.message})}}function X(){return{type:"OPEN"}}function J(){return{type:"CLOSE"}}function Y(){return{type:"TOGGLE"}}function ee(e){return{type:"SET_INPUT",input:e}}function te(e){return{type:"SET_CONTEXT",context:e}}function ne(e){return{type:"SET_INSERTION_PLACE",insertionPlace:e}}function re(e){return{type:"SET_SCREEN",screen:e}}function se(e){return{type:"SET_LOADING",loading:e}}function ie(e){return{type:"SET_RESPONSE",response:e}}function oe(e){return{type:"SET_ERROR",error:e}}function le(){return{type:"RESET"}}function ae(e){return async({dispatch:t})=>{const n=new TextDecoder;let r="",s="";const i=e=>new Promise((t=>setTimeout(t,e)));try{for(;;){const{value:o,done:l}=await e.read();if(l)break;r+=n.decode(o,{stream:!0});const a=r.split("\n");r=a.pop()||"";for(const e of a)if(e.startsWith("data: "))try{const n=JSON.parse(e.slice(6));if(n.error)return void t({type:"REQUEST_AI_ERROR",payload:n.message});if(n.done)return void t({type:"REQUEST_AI_SUCCESS",payload:s});n.content&&(s+=n.content,t({type:"REQUEST_AI_CHUNK",payload:s}),await i(50))}catch(e){t({type:"REQUEST_AI_ERROR",payload:(0,G.__)("Failed to parse stream data","mind")})}}}catch(e){t({type:"REQUEST_AI_ERROR",payload:e.message})}}}function ce(){return async({dispatch:e,select:t})=>{if(!u)return;if(t.getLoading())return;e({type:"REQUEST_AI_PENDING"});const n=t.getContext(),r={request:t.getInput()};"selected-blocks"===n&&(r.context=function(){const{getBlock:e,getSelectedBlockClientIds:t}=wp.data.select("core/block-editor"),n=t();let r="";return n.forEach((t=>{const n=e(t);n?.attributes?.content&&(r=`${r}

    ${n.attributes.content}

    `)})),r}());try{const t=new V(e),n=await K()({path:"/mind/v1/request_ai",method:"POST",data:r,parse:!1});if(!n.ok){const e=await n.json();throw new Error(e.message||(0,G.__)("Failed to fetch AI response","mind"))}await t.processStream(n.body.getReader())}catch(t){e({type:"REQUEST_AI_ERROR",payload:t.message||(0,G.__)("Failed to fetch AI response","mind")})}}}function ue(e){return e?.isOpen||!1}function pe(e){return e?.input||""}function he(e){return e?.context||""}function de(e){return e?.insertionPlace||""}function ge(e){return e?.screen||""}function me(e){return e?.loading||!1}function fe(e){return e?.response||!1}function ke(e){return e?.progress||!1}function be(e){return e?.renderBuffer||!1}function we(e){return e?.error||!1}const _e=(0,h.createReduxStore)("mind/popup",{reducer:function(e=F,t={}){switch(t.type){case"CLOSE":if(e.isOpen)return{...e,isOpen:!1};break;case"OPEN":if(!e.isOpen)return{...e,isOpen:!0};break;case"TOGGLE":return{...e,isOpen:!e.isOpen};case"SET_INPUT":if(e.input!==t.input)return{...e,input:t.input};break;case"SET_CONTEXT":if(e.context!==t.context)return{...e,context:t.context};break;case"SET_INSERTION_PLACE":if(e.insertionPlace!==t.insertionPlace)return{...e,insertionPlace:t.insertionPlace};break;case"SET_SCREEN":if(e.screen!==t.screen)return{...e,screen:t.screen};break;case"SET_LOADING":if(e.loading!==t.loading)return{...e,loading:t.loading};break;case"SET_RESPONSE":if(e.response!==t.response)return{...e,response:t.response};break;case"SET_ERROR":if(e.error!==t.error)return{...e,error:t.error};break;case"REQUEST_AI_PENDING":return{...e,isOpen:!0,loading:!0,response:"",error:null,screen:"request",progress:F.progress,renderBuffer:F.renderBuffer};case"REQUEST_AI_CHUNK":const n=Date.now();return n-e.renderBuffer.lastUpdate>=50?{...e,loading:!0,response:!!t.payload.content&&Q(t.payload.content),progress:t.payload.progress,renderBuffer:{content:t.payload.content,lastUpdate:n}}:{...e,renderBuffer:{content:t.payload.content,lastUpdate:e.renderBuffer.lastUpdate}};case"REQUEST_AI_SUCCESS":return{...e,loading:!1,response:!!t.payload.content&&Q(t.payload.content),progress:{...t.payload.progress,isComplete:!0},renderBuffer:{content:t.payload.content,lastUpdate:Date.now()}};case"REQUEST_AI_ERROR":return{...e,loading:!1,response:!1,error:t.payload||"",progress:F.progress,renderBuffer:F.renderBuffer};case"RESET":return{...e,input:"",context:"",insertionPlace:"",screen:"",response:!1,error:!1,loading:!1}}return e},actions:o,selectors:l});(0,h.register)(_e);const xe=window.wp.element,Ee=window.wp.components,ye=window.wp.blocks,ve=window.wp.domReady;var Se=n.n(ve);function Oe(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t{const{isOpen:t,getInput:n,getContext:r,getScreen:s,getLoading:i,getResponse:o}=e("mind/popup");return{isOpen:t(),input:n(),context:r(),screen:s(),loading:i(),response:o()}}));let g=c;switch(c){case"selected-blocks":g=(0,G.__)("Selected Blocks");break;case"post-title":g=(0,G.__)("Post Title")}return(0,xe.useEffect)((()=>{l&&!p&&n?.current&&n.current.focus()}),[l,p,n]),(0,xe.useEffect)((()=>{""===u&&a&&i("request")}),[u,a,i]),(0,xe.useEffect)((()=>{if(n?.current){n.current.style.height="0px";const e=n.current.scrollHeight;n.current.style.height=e+"px"}}),[n,a]),(0,xe.createElement)("div",{className:"mind-popup-input"},(0,xe.createElement)($e,null),(0,xe.createElement)("textarea",{ref:n,placeholder:(0,G.__)("Ask AI to write anything…","mind"),value:a,onChange:e=>{s(e.target.value)},onKeyDown:function(e){""===u||"Backspace"!==e.key||e.target.value?!d||"Enter"!==e.key||e.shiftKey?"request"!==u||"Enter"!==e.key||e.shiftKey||o():t():r()},disabled:p,rows:1}),g?(0,xe.createElement)("span",{className:"mind-popup-input-context"},g):null)}function Me(){return(0,xe.createElement)("div",{className:"mind-popup-loading-line"},(0,xe.createElement)("span",null))}function Ae(e){const{type:t,children:n}=e;return(0,xe.createElement)("div",{className:"mind-popup-notice "+(t?`mind-popup-notice-${t}`:"")},n)}const Be=(0,xe.memo)((function({response:e,loading:t}){const n=(0,xe.useRef)();return(0,xe.useEffect)((()=>{if(!n.current)return;const e=n.current.closest(".mind-popup-content");if(!e)return;const{scrollHeight:t,clientHeight:r}=e;t-r<1e3&&e.scrollTo({top:t,behavior:"smooth"})}),[e]),e||t?(0,Te.createElement)("div",{ref:n,className:"mind-popup-response",style:{opacity:t?.85:1}},(0,Te.createElement)(xe.RawHTML,null,e),t&&(0,Te.createElement)("div",{className:"mind-popup-cursor"})):null}),((e,t)=>e.renderBuffer.lastUpdate===t.renderBuffer.lastUpdate&&e.loading===t.loading&&e.progress.isComplete===t.progress.isComplete));var ze,je,Le,Ne,qe,Ue,He,De,Ze,Qe,Fe;function Ge(){return Ge=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{isOpen:t,getInput:n,getContext:r,getScreen:s,getLoading:i,getResponse:o,getProgress:l,getRenderBuffer:a,getError:c}=e("mind/popup");return{isOpen:t(),input:n(),context:r(),screen:s(),loading:i(),response:o(),progress:l(),renderBuffer:a(),error:c()}}));return(0,xe.useEffect)((()=>{r&&!o&&e?.current&&function(){if(e?.current){const t=e.current.querySelector("input");t&&t.focus()}}()}),[r,o,e]),(0,xe.useEffect)((()=>{""===i&&s&&n("request")}),[i,s,n]),(0,Te.createElement)("div",{className:"mind-popup-content"},""===i?(0,Te.createElement)("div",{className:"mind-popup-commands"},Ye.map((e=>"category"===e.type?(0,Te.createElement)("span",{key:e.type+e.label,className:"mind-popup-commands-category"},e.label):(0,Te.createElement)(Ee.Button,{key:e.type+e.label,className:"mind-popup-commands-button",onClick:()=>{t(e.request),n("request")}},e.icon||"",e.label)))):null,"request"===i&&(0,Te.createElement)("div",{className:"mind-popup-request"},l&&(0,Te.createElement)(Be,{progress:a,loading:o,response:l,renderBuffer:c}),!o&&u&&(0,Te.createElement)(Ae,{type:"error"},u)))}function tt(e){return(0,xe.createElement)("span",{className:"mind-popup-loading-text"},e.children)}function nt(e){const{onInsert:t}=e,{close:n,reset:r,setError:s,requestAI:i}=(0,h.useDispatch)("mind/popup"),{input:o,loading:l,response:a}=(0,h.useSelect)((e=>{const{getInput:t,getContext:n,getScreen:r,getLoading:s,getResponse:i}=e("mind/popup");return{input:t(),context:n(),screen:r(),loading:s(),response:i()}}));return a||l||o&&!l&&!a?(0,Te.createElement)("div",{className:"mind-popup-footer"},l&&(0,Te.createElement)(tt,null,(0,G.__)("Writing","mind")),(0,Te.createElement)("div",{className:"mind-popup-footer-actions"},o&&!l&&!a&&(0,Te.createElement)(Ee.Button,{onClick:()=>{i()}},(0,G.__)("Get Answer","mind")," ",(0,Te.createElement)("kbd",null,"⏎")),a&&!l&&(0,Te.createElement)(Te.Fragment,null,(0,Te.createElement)(Ee.Button,{onClick:()=>{s(""),i()}},(0,G.__)("Regenerate","mind")," ",(0,Te.createElement)("kbd",null,"↻")),(0,Te.createElement)(Ee.Button,{onClick:()=>{window.navigator.clipboard.writeText(a),r(),n()}},(0,G.__)("Copy","mind")),(0,Te.createElement)(Ee.Button,{onClick:t},(0,G.__)("Insert","mind")," ",(0,Te.createElement)("kbd",null,"⏎"))))):null}var rt;function st(){return st=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{getSettingsPageURL:t}=e("mind");return{settingsPageURL:t()}}));return(0,xe.createElement)("div",{className:"mind-popup-connected-screen"},(0,xe.createElement)("h2",null,(0,xe.createElement)(it,null),(0,G.__)("OpenAI Key","mind")),(0,xe.createElement)("div",null,(0,xe.createElement)("p",null,(0,G.__)("In order to use Mind, you will need to provide your OpenAI API key. Please insert your API key in the plugin settings to get started.","mind"))),(0,xe.createElement)("div",null,(0,xe.createElement)("a",{className:"mind-popup-connected-screen-button",href:e},(0,G.__)("Go to Settings","mind"))))}const lt="mind-popup-container";function at(){const{setHighlightBlocks:e}=(0,h.useDispatch)("mind/blocks"),{close:t,reset:n}=(0,h.useDispatch)("mind/popup"),{connected:r,isOpen:s,insertionPlace:i,loading:o,response:l}=(0,h.useSelect)((e=>{const{isConnected:t}=e("mind"),{isOpen:n,getInsertionPlace:r,getLoading:s,getResponse:i}=e("mind/popup");return{connected:t(),isOpen:n(),insertionPlace:r(),loading:s(),response:i()}})),{selectedClientIds:a}=(0,h.useSelect)((e=>{const{getSelectedBlockClientIds:t}=e("core/block-editor");return{selectedClientIds:t()}}),[]),{insertBlocks:c,replaceBlocks:u}=(0,h.useDispatch)("core/block-editor");function p(){!function(){const t=(0,ye.rawHandler)({HTML:l});t.length&&("selected-blocks"===i?u(a,t):c(t),e(t.map((e=>e.clientId))))}(),n(),t()}return s?(0,xe.createElement)(Ee.Modal,{title:!1,className:Ce("mind-popup",!r&&"mind-popup-not-connected"),overlayClassName:"mind-popup-overlay",onRequestClose:()=>{n(),t()},__experimentalHideHeader:!0},r?(0,xe.createElement)(xe.Fragment,null,(0,xe.createElement)(Pe,{onInsert:p}),o&&(0,xe.createElement)(Me,null),(0,xe.createElement)(et,null),(0,xe.createElement)(nt,{onInsert:p})):(0,xe.createElement)(ot,null)):null}Se()((()=>{if(document.querySelector(`.${lt}`))return;const e=document.querySelector(".block-editor");if(!e)return;const t=document.createElement("div");t.classList.add(lt),e.appendChild(t),(0,xe.createRoot)(t).render((0,xe.createElement)(at,null))}));const ct=window.wp.hooks,ut=window.wp.blockEditor,pt=window.wp.compose;var ht;function dt(){return dt=Object.assign?Object.assign.bind():function(e){for(var t=1;t