diff --git a/build/admin.asset.php b/build/admin.asset.php index e4949ee..2037e88 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' => 'f07406181f73556b9d8a'); + array('lodash', 'react', 'react-dom', 'wp-api-fetch', 'wp-data', 'wp-element', 'wp-i18n'), 'version' => '887c0e1e533c07cd892b'); diff --git a/build/admin.js b/build/admin.js index edc9936..a6575f4 100644 --- a/build/admin.js +++ b/build/admin.js @@ -1,3 +1,4 @@ -(()=>{"use strict";var e,t={367:(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={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)( // 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={328:0,72:0};r.O.j=t=>0===e[t];var t=(t,n)=>{var i,s,[a,o,l]=n,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(367)));i=r.O(i)})(); \ No newline at end of file +// 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 diff --git a/build/editor.asset.php b/build/editor.asset.php index d6a5611..7008fb5 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' => 'd67ccde87a1b30a040a5'); + 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' => '123029b1546fbc16a08d'); diff --git a/build/editor.js b/build/editor.js index e9fcc33..4d5a902 100644 --- a/build/editor.js +++ b/build/editor.js @@ -1,5 +1,7 @@ -(()=>{"use strict";var e,t={181:(e,t,n)=>{var r={};n.r(r),n.d(r,{getSettingsPageURL:()=>p,isConnected:()=>u});var s={};n.r(s),n.d(s,{getHighlightBlocks:()=>d});var i={};n.r(i),n.d(i,{removeHighlightBlocks:()=>f,setHighlightBlocks:()=>m});var l={};n.r(l),n.d(l,{close:()=>K,open:()=>V,requestAI:()=>ie,reset:()=>le,setContext:()=>Y,setError:()=>se,setInput:()=>J,setInsertionPlace:()=>ee,setLoading:()=>ne,setResponse:()=>re,setScreen:()=>te,toggle:()=>X});var o={};n.r(o),n.d(o,{getContext:()=>ce,getError:()=>de,getInput:()=>ae,getInsertionPlace:()=>ue,getLoading:()=>he,getResponse:()=>ge,getScreen:()=>pe,isOpen:()=>oe});const{connected:a,settingsPageURL:c}=window.mindData;function u(){return"1"===a}function p(){return c}const h=window.wp.data,g=(0,h.createReduxStore)("mind",{selectors:r,reducer:e=>e});(0,h.register)(g);function d(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(x.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(x.test(e))return e.replace(_,S)}else if(E.test(e))return e.replace(y,S);return e}const $=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,C=/(^|[^\[])\^/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(C,"$1"),e=e.replace(t,r),n),getRegex:()=>new RegExp(e,t)};return n}function T(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch(e){return null}return e}const R={exec:()=>null};function M(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:P(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=P(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=P(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 l="",o="",a=!1;for(;e;){let n=!1;if(!(t=i.exec(e)))break;if(this.rules.block.hr.test(e))break;l=t[0],e=e.substring(l.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,o=r.trimStart()):(u=t[2].search(/[^ ]/),u=u>4?1:u,o=r.slice(u),u+=t[1].length);let p=!1;if(!r&&/^ *$/.test(c)&&(l+=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())o+="\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;o+="\n"+c}p||c.trim()||(p=!0),l+=a+"\n",e=e.substring(a.length+1),r=c.slice(u)}}s.loose||(a?s.loose=!0:/\n *\n *$/.test(l)&&(a=!0));let h,g=null;this.options.gfm&&(g=/^\[[ xX]\] /.exec(o),g&&(h="[ ] "!==g[0],o=o.replace(/^\[[ xX]\] +/,""))),s.items.push({type:"list_item",raw:l,task:!!g,checked:h,loose:!1,text:o,tokens:[]}),s.raw+=l}s.items[s.items.length-1].raw=l.trimEnd(),s.items[s.items.length-1].text=o.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:M(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=P(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)),z(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 z(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,l=n,o=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]){l+=i;continue}if((r[5]||r[6])&&n%3&&!((n+i)%3)){o+=i;continue}if(l-=i,l>0)continue;i=Math.min(i,i+l+o);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 j={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:R,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?'|\([^()]*\))/};j.def=I(j.def).replace("label",j._label).replace("title",j._title).getRegex(),j.bullet=/(?:[*+-]|\d{1,9}[.)])/,j.listItemStart=I(/^( *)(bull) */).replace("bull",j.bullet).getRegex(),j.list=I(j.list).replace(/bull/g,j.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+j.def.source+")").getRegex(),j._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",j._comment=/|$)/,j.html=I(j.html,"i").replace("comment",j._comment).replace("tag",j._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),j.lheading=I(j.lheading).replace(/bull/g,j.bullet).getRegex(),j.paragraph=I(j._paragraph).replace("hr",j.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",j._tag).getRegex(),j.blockquote=I(j.blockquote).replace("paragraph",j.paragraph).getRegex(),j.normal={...j},j.gfm={...j.normal,table:"^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"},j.gfm.table=I(j.gfm.table).replace("hr",j.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",j._tag).getRegex(),j.gfm.paragraph=I(j._paragraph).replace("hr",j.hr).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",j.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",j._tag).getRegex(),j.pedantic={...j.normal,html:I("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",j._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:R,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:I(j.normal._paragraph).replace("hr",j.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",j.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()};const L={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:R,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:R,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`^|~"};L.punctuation=I(L.punctuation,"u").replace(/punctuation/g,L._punctuation).getRegex(),L.blockSkip=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,L.anyPunctuation=/\\[punct]/g,L._escapes=/\\([punct])/g,L._comment=I(j._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),L.emStrong.lDelim=I(L.emStrong.lDelim,"u").replace(/punct/g,L._punctuation).getRegex(),L.emStrong.rDelimAst=I(L.emStrong.rDelimAst,"gu").replace(/punct/g,L._punctuation).getRegex(),L.emStrong.rDelimUnd=I(L.emStrong.rDelimUnd,"gu").replace(/punct/g,L._punctuation).getRegex(),L.anyPunctuation=I(L.anyPunctuation,"gu").replace(/punct/g,L._punctuation).getRegex(),L._escapes=I(L._escapes,"gu").replace(/punct/g,L._punctuation).getRegex(),L._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,L._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])?)+(?![-_])/,L.autolink=I(L.autolink).replace("scheme",L._scheme).replace("email",L._email).getRegex(),L._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,L.tag=I(L.tag).replace("comment",L._comment).replace("attribute",L._attribute).getRegex(),L._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,L._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,L._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,L.link=I(L.link).replace("label",L._label).replace("href",L._href).replace("title",L._title).getRegex(),L.reflink=I(L.reflink).replace("label",L._label).replace("ref",j._label).getRegex(),L.nolink=I(L.nolink).replace("ref",j._label).getRegex(),L.reflinkSearch=I(L.reflinkSearch,"g").replace("reflink",L.reflink).replace("nolink",L.nolink).getRegex(),L.normal={...L},L.pedantic={...L.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",L._label).getRegex(),reflink:I(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",L._label).getRegex()},L.gfm={...L.normal,escape:I(L.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,l,o,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(l||(o=""),l=!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,o))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)&&(o=n.raw.slice(-1)),l=!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 q{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=T(e);if(null===r)return n;let s='",s}image(e,t,n){const r=T(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+" "}):o+=e+" "}o+=this.parse(n.tokens,i),l+=this.renderer.listitem(o,s,!!r)}n+=this.renderer.list(l,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,l=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 q(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 A(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 Z;for(const n in e.hooks){const r=e.hooks[n],s=n,i=t[s];Z.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 B.lex(e,t??this.defaults)}parser(e,t){return H.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 l=this.#t(!!i.silent,!!i.async);if(null==n)return l(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof n)return l(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(l);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 l(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 F(e,t){return D.parse(e,t)}function G(e){let t=F.parse(e);return t=t.replace(/
    <\/pre>/g,"
    "),t}F.options=F.setOptions=function(e){return D.setOptions(e),F.defaults=D.defaults,w(F.defaults),F},F.getDefaults=function(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}},F.defaults=b,F.use=function(...e){return D.use(...e),F.defaults=D.defaults,w(F.defaults),F},F.walkTokens=function(e,t){return D.walkTokens(e,t)},F.parseInline=D.parseInline,F.Parser=H,F.parser=H.parse,F.Renderer=q,F.TextRenderer=N,F.Lexer=B,F.lexer=B.lex,F.Tokenizer=A,F.Hooks=Z,F.parse=F,F.options,F.setOptions,F.use,F.walkTokens,F.parseInline,H.parse,B.lex,F.use({headerIds:!1});const U=window.wp.i18n,Q=window.wp.apiFetch;var W=n.n(Q);function V(){return{type:"OPEN"}}function K(){return{type:"CLOSE"}}function X(){return{type:"TOGGLE"}}function J(e){return{type:"SET_INPUT",input:e}}function Y(e){return{type:"SET_CONTEXT",context:e}}function ee(e){return{type:"SET_INSERTION_PLACE",insertionPlace:e}}function te(e){return{type:"SET_SCREEN",screen:e}}function ne(e){return{type:"SET_LOADING",loading:e}}function re(e){return{type:"SET_RESPONSE",response:e}}function se(e){return{type:"SET_ERROR",error:e}}function ie(){return e=>{let{dispatch:t,select:n}=e;if(!u)return;if(n.getLoading())return;t({type:"REQUEST_AI_PENDING"});const r=n.getContext(),s={request:n.getInput()};"selected-blocks"===r&&(s.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}()),W()({path:"/mind/v1/request_ai",method:"POST",data:s}).then((e=>(t({type:"REQUEST_AI_SUCCESS",payload:e.response}),e.response))).catch((e=>{t({type:"REQUEST_AI_ERROR",payload:e?.response||e?.error_code||(0,U.__)("Something went wrong, please, try again…","mind")})}))}}function le(){return{type:"RESET"}}function oe(e){return e?.isOpen||!1}function ae(e){return e?.input||""}function ce(e){return e?.context||""}function ue(e){return e?.insertionPlace||""}function pe(e){return e?.screen||""}function he(e){return e?.loading||!1}function ge(e){return e?.response||!1}function de(e){return e?.error||!1}const me=(0,h.createReduxStore)("mind/popup",{reducer:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{isOpen:!1,input:"",context:"",insertionPlace:"",screen:"",loading:!1,response:!1,error:!1},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};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,loading:!0,isOpen:!0,screen:"request"};case"REQUEST_AI_SUCCESS":return{...e,loading:!1,response:!!t.payload&&G(t.payload)};case"REQUEST_AI_ERROR":return{...e,loading:!1,error:t.payload||"",response:!1};case"RESET":return{...e,input:"",context:"",insertionPlace:"",screen:"",response:!1,error:!1,loading:!1}}return e},actions:l,selectors:o});(0,h.register)(me);const fe=window.wp.element,ke=window.wp.components,be=window.wp.blocks,we=window.wp.domReady;var xe=n.n(we);function _e(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:l}=e("mind/popup");return{isOpen:t(),input:n(),context:r(),screen:s(),loading:i(),response:l()}}));let d=c;switch(c){case"selected-blocks":d=(0,U.__)("Selected Blocks");break;case"post-title":d=(0,U.__)("Post Title")}return(0,fe.useEffect)((()=>{o&&!p&&n?.current&&n.current.focus()}),[o,p,n]),(0,fe.useEffect)((()=>{""===u&&a&&i("request")}),[u,a,i]),(0,fe.useEffect)((()=>{if(n?.current){n.current.style.height="0px";const e=n.current.scrollHeight;n.current.style.height=e+"px"}}),[n,a]),(0,fe.createElement)("div",{className:"mind-popup-input"},(0,fe.createElement)(Le,null),(0,fe.createElement)("textarea",{ref:n,placeholder:(0,U.__)("Ask AI to write anything…","mind"),value:a,onChange:e=>{s(e.target.value)},onKeyDown:function(e){""===u||"Backspace"!==e.key||e.target.value?!g||"Enter"!==e.key||e.shiftKey?"request"!==u||"Enter"!==e.key||e.shiftKey||l():t():r()},disabled:p,rows:1}),d?(0,fe.createElement)("span",{className:"mind-popup-input-context"},d):null)}function qe(){return(0,fe.createElement)("div",{className:"mind-popup-loading-line"},(0,fe.createElement)("span",null))}function Ne(e){return(0,fe.createElement)("span",{className:"mind-popup-loading-text"},e.children)}function He(e){const{type:t,children:n}=e;return(0,fe.createElement)("div",{className:"mind-popup-notice "+(t?`mind-popup-notice-${t}`:"")},n)}function Ze(){return Ze=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{isOpen:t,getInput:n,getContext:r,getScreen:s,getLoading:i,getResponse:l,getError:o}=e("mind/popup");return{isOpen:t(),input:n(),context:r(),screen:s(),loading:i(),response:l(),error:o()}}));return(0,fe.useEffect)((()=>{r&&!l&&e?.current&&function(){if(e?.current){const t=e.current.querySelector("input");t&&t.focus()}}()}),[r,l,e]),(0,fe.useEffect)((()=>{""===i&&s&&n("request")}),[i,s,n]),(0,fe.createElement)("div",{className:"mind-popup-content"},""===i?(0,fe.createElement)("div",{className:"mind-popup-commands"},We.map((e=>"category"===e.type?(0,fe.createElement)("span",{key:e.type+e.label,className:"mind-popup-commands-category"},e.label):(0,fe.createElement)(ke.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,fe.createElement)("div",{className:"mind-popup-request"},l&&(0,fe.createElement)(Ne,null,(0,U.__)("Waiting for AI response","mind")),!l&&o&&(0,fe.createElement)(fe.RawHTML,null,o),!l&&a&&(0,fe.createElement)(He,{type:"error"},a)))}function Ke(e){const{onInsert:t}=e,{close:n,reset:r,setError:s,requestAI:i}=(0,h.useDispatch)("mind/popup"),{input:l,loading:o,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&&!a?(0,fe.createElement)("div",{className:"mind-popup-footer"},(0,fe.createElement)("div",{className:"mind-popup-footer-actions"},l&&!o&&!a&&(0,fe.createElement)(ke.Button,{onClick:()=>{i()}},(0,U.__)("Get Answer","mind")," ",(0,fe.createElement)("kbd",null,"⏎")),a&&(0,fe.createElement)(fe.Fragment,null,(0,fe.createElement)(ke.Button,{onClick:()=>{s(""),i()}},(0,U.__)("Regenerate","mind")," ",(0,fe.createElement)("kbd",null,"↻")),(0,fe.createElement)(ke.Button,{onClick:()=>{window.navigator.clipboard.writeText(a),r(),n()}},(0,U.__)("Copy","mind")),(0,fe.createElement)(ke.Button,{onClick:t},(0,U.__)("Insert","mind")," ",(0,fe.createElement)("kbd",null,"⏎"))))):null}var Xe;function Je(){return Je=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{getSettingsPageURL:t}=e("mind");return{settingsPageURL:t()}}));return(0,fe.createElement)("div",{className:"mind-popup-connected-screen"},(0,fe.createElement)("h2",null,(0,fe.createElement)(Ye,null),(0,U.__)("OpenAI Key","mind")),(0,fe.createElement)("div",null,(0,fe.createElement)("p",null,(0,U.__)("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,fe.createElement)("div",null,(0,fe.createElement)("a",{className:"mind-popup-connected-screen-button",href:e},(0,U.__)("Go to Settings","mind"))))}const tt="mind-popup-container";function nt(){const{setHighlightBlocks:e}=(0,h.useDispatch)("mind/blocks"),{close:t,reset:n}=(0,h.useDispatch)("mind/popup"),{connected:r,isOpen:s,insertionPlace:i,loading:l,response:o}=(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,be.rawHandler)({HTML:o});t.length&&("selected-blocks"===i?u(a,t):c(t),e(t.map((e=>e.clientId))))}(),n(),t()}return s?(0,fe.createElement)(ke.Modal,{title:!1,className:Ee("mind-popup",!r&&"mind-popup-not-connected"),overlayClassName:"mind-popup-overlay",onRequestClose:()=>{n(),t()},__experimentalHideHeader:!0},r?(0,fe.createElement)(fe.Fragment,null,(0,fe.createElement)(Be,{onInsert:p}),l&&(0,fe.createElement)(qe,null),(0,fe.createElement)(Ve,null),(0,fe.createElement)(Ke,{onInsert:p})):(0,fe.createElement)(et,null)):null}xe()((()=>{if(document.querySelector(`.${tt}`))return;const e=document.querySelector(".block-editor");if(!e)return;const t=document.createElement("div");t.classList.add(tt),e.appendChild(t),(0,fe.createRoot)(t).render((0,fe.createElement)(nt,null))}));const rt=window.wp.hooks,st=window.wp.blockEditor,it=window.wp.compose;var lt;function ot(){return ot=Object.assign?Object.assign.bind():function(e){for(var t=1;t
    ",s}image(e,t,n){const r=T(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+" "}):o+=e+" "}o+=this.parse(n.tokens,i),l+=this.renderer.listitem(o,s,!!r)}n+=this.renderer.list(l,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,l=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 q(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 A(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 Z;for(const n in e.hooks){const r=e.hooks[n],s=n,i=t[s];Z.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 B.lex(e,t??this.defaults)}parser(e,t){return H.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 l=this.#t(!!i.silent,!!i.async);if(null==n)return l(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof n)return l(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(l);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 l(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 F(e,t){return D.parse(e,t)}function G(e){let t=F.parse(e);return t=t.replace(/
    <\/pre>/g,"
    "),t}F.options=F.setOptions=function(e){return D.setOptions(e),F.defaults=D.defaults,w(F.defaults),F},F.getDefaults=function(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}},F.defaults=b,F.use=function(...e){return D.use(...e),F.defaults=D.defaults,w(F.defaults),F},F.walkTokens=function(e,t){return D.walkTokens(e,t)},F.parseInline=D.parseInline,F.Parser=H,F.parser=H.parse,F.Renderer=q,F.TextRenderer=N,F.Lexer=B,F.lexer=B.lex,F.Tokenizer=A,F.Hooks=Z,F.parse=F,F.options,F.setOptions,F.use,F.walkTokens,F.parseInline,H.parse,B.lex,F.use({headerIds:!1});const U=window.wp.i18n,Q=window.wp.apiFetch;var W=n.n(Q);function V(){return{type:"OPEN"}}function K(){return{type:"CLOSE"}}function X(){return{type:"TOGGLE"}}function J(e){return{type:"SET_INPUT",input:e}}function Y(e){return{type:"SET_CONTEXT",context:e}}function ee(e){return{type:"SET_INSERTION_PLACE",insertionPlace:e}}function te(e){return{type:"SET_SCREEN",screen:e}}function ne(e){return{type:"SET_LOADING",loading:e}}function re(e){return{type:"SET_RESPONSE",response:e}}function se(e){return{type:"SET_ERROR",error:e}}function ie(){return e=>{let{dispatch:t,select:n}=e;if(!u)return;if(n.getLoading())return;t({type:"REQUEST_AI_PENDING"});const r=n.getContext(),s={request:n.getInput()};"selected-blocks"===r&&(s.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}()),W()({path:"/mind/v1/request_ai",method:"POST",data:s}).then((e=>(t({type:"REQUEST_AI_SUCCESS",payload:e.response}),e.response))).catch((e=>{t({type:"REQUEST_AI_ERROR",payload:e?.response||e?.error_code||(0,U.__)("Something went wrong, please, try again…","mind")})}))}}function le(){return{type:"RESET"}}function oe(e){return e?.isOpen||!1}function ae(e){return e?.input||""}function ce(e){return e?.context||""}function ue(e){return e?.insertionPlace||""}function pe(e){return e?.screen||""}function he(e){return e?.loading||!1}function ge(e){return e?.response||!1}function de(e){return e?.error||!1}const me=(0,h.createReduxStore)("mind/popup",{reducer:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{isOpen:!1,input:"",context:"",insertionPlace:"",screen:"",loading:!1,response:!1,error:!1},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};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,loading:!0,isOpen:!0,screen:"request"};case"REQUEST_AI_SUCCESS":return{...e,loading:!1,response:!!t.payload&&G(t.payload)};case"REQUEST_AI_ERROR":return{...e,loading:!1,error:t.payload||"",response:!1};case"RESET":return{...e,input:"",context:"",insertionPlace:"",screen:"",response:!1,error:!1,loading:!1}}return e},actions:l,selectors:o});(0,h.register)(me);const fe=window.wp.element,ke=window.wp.components,be=window.wp.blocks,we=window.wp.domReady;var xe=n.n(we);function _e(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:l}=e("mind/popup");return{isOpen:t(),input:n(),context:r(),screen:s(),loading:i(),response:l()}}));let d=c;switch(c){case"selected-blocks":d=(0,U.__)("Selected Blocks");break;case"post-title":d=(0,U.__)("Post Title")}return(0,fe.useEffect)((()=>{o&&!p&&n?.current&&n.current.focus()}),[o,p,n]),(0,fe.useEffect)((()=>{""===u&&a&&i("request")}),[u,a,i]),(0,fe.useEffect)((()=>{if(n?.current){n.current.style.height="0px";const e=n.current.scrollHeight;n.current.style.height=e+"px"}}),[n,a]),(0,fe.createElement)("div",{className:"mind-popup-input"},(0,fe.createElement)(Le,null),(0,fe.createElement)("textarea",{ref:n,placeholder:(0,U.__)("Ask AI to write anything…","mind"),value:a,onChange:e=>{s(e.target.value)},onKeyDown:function(e){""===u||"Backspace"!==e.key||e.target.value?!g||"Enter"!==e.key||e.shiftKey?"request"!==u||"Enter"!==e.key||e.shiftKey||l():t():r()},disabled:p,rows:1}),d?(0,fe.createElement)("span",{className:"mind-popup-input-context"},d):null)}function qe(){return(0,fe.createElement)("div",{className:"mind-popup-loading-line"},(0,fe.createElement)("span",null))}function Ne(e){return(0,fe.createElement)("span",{className:"mind-popup-loading-text"},e.children)}function He(e){const{type:t,children:n}=e;return(0,fe.createElement)("div",{className:"mind-popup-notice "+(t?`mind-popup-notice-${t}`:"")},n)}function Ze(){return Ze=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{isOpen:t,getInput:n,getContext:r,getScreen:s,getLoading:i,getResponse:l,getError:o}=e("mind/popup");return{isOpen:t(),input:n(),context:r(),screen:s(),loading:i(),response:l(),error:o()}}));return(0,fe.useEffect)((()=>{r&&!l&&e?.current&&function(){if(e?.current){const t=e.current.querySelector("input");t&&t.focus()}}()}),[r,l,e]),(0,fe.useEffect)((()=>{""===i&&s&&n("request")}),[i,s,n]),(0,fe.createElement)("div",{className:"mind-popup-content"},""===i?(0,fe.createElement)("div",{className:"mind-popup-commands"},We.map((e=>"category"===e.type?(0,fe.createElement)("span",{key:e.type+e.label,className:"mind-popup-commands-category"},e.label):(0,fe.createElement)(ke.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,fe.createElement)("div",{className:"mind-popup-request"},l&&(0,fe.createElement)(Ne,null,(0,U.__)("Waiting for AI response","mind")),!l&&o&&(0,fe.createElement)(fe.RawHTML,null,o),!l&&a&&(0,fe.createElement)(He,{type:"error"},a)))}function Ke(e){const{onInsert:t}=e,{close:n,reset:r,setError:s,requestAI:i}=(0,h.useDispatch)("mind/popup"),{input:l,loading:o,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&&!a?(0,fe.createElement)("div",{className:"mind-popup-footer"},(0,fe.createElement)("div",{className:"mind-popup-footer-actions"},l&&!o&&!a&&(0,fe.createElement)(ke.Button,{onClick:()=>{i()}},(0,U.__)("Get Answer","mind")," ",(0,fe.createElement)("kbd",null,"⏎")),a&&(0,fe.createElement)(fe.Fragment,null,(0,fe.createElement)(ke.Button,{onClick:()=>{s(""),i()}},(0,U.__)("Regenerate","mind")," ",(0,fe.createElement)("kbd",null,"↻")),(0,fe.createElement)(ke.Button,{onClick:()=>{window.navigator.clipboard.writeText(a),r(),n()}},(0,U.__)("Copy","mind")),(0,fe.createElement)(ke.Button,{onClick:t},(0,U.__)("Insert","mind")," ",(0,fe.createElement)("kbd",null,"⏎"))))):null}var Xe;function Je(){return Je=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{getSettingsPageURL:t}=e("mind");return{settingsPageURL:t()}}));return(0,fe.createElement)("div",{className:"mind-popup-connected-screen"},(0,fe.createElement)("h2",null,(0,fe.createElement)(Ye,null),(0,U.__)("OpenAI Key","mind")),(0,fe.createElement)("div",null,(0,fe.createElement)("p",null,(0,U.__)("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,fe.createElement)("div",null,(0,fe.createElement)("a",{className:"mind-popup-connected-screen-button",href:e},(0,U.__)("Go to Settings","mind"))))}const tt="mind-popup-container";function nt(){const{setHighlightBlocks:e}=(0,h.useDispatch)("mind/blocks"),{close:t,reset:n}=(0,h.useDispatch)("mind/popup"),{connected:r,isOpen:s,insertionPlace:i,loading:l,response:o}=(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,be.rawHandler)({HTML:o});t.length&&("selected-blocks"===i?u(a,t):c(t),e(t.map((e=>e.clientId))))}(),n(),t()}return s?(0,fe.createElement)(ke.Modal,{title:!1,className:Ee("mind-popup",!r&&"mind-popup-not-connected"),overlayClassName:"mind-popup-overlay",onRequestClose:()=>{n(),t()},__experimentalHideHeader:!0},r?(0,fe.createElement)(fe.Fragment,null,(0,fe.createElement)(Be,{onInsert:p}),l&&(0,fe.createElement)(qe,null),(0,fe.createElement)(Ve,null),(0,fe.createElement)(Ke,{onInsert:p})):(0,fe.createElement)(et,null)):null}xe()((()=>{if(document.querySelector(`.${tt}`))return;const e=document.querySelector(".block-editor");if(!e)return;const t=document.createElement("div");t.classList.add(tt),e.appendChild(t),(0,fe.createRoot)(t).render((0,fe.createElement)(nt,null))}));const rt=window.wp.hooks,st=window.wp.blockEditor,it=window.wp.compose;var lt;function ot(){return ot=Object.assign?Object.assign.bind():function(e){for(var t=1;t