forms.js
1 lines
| 1 | (()=>{"use strict";var e={42:(e,t,r)=>{r.d(t,{A:()=>l});var n=r(168),o=r.n(n),a=r(433),i=r.n(a)()(o());i.push([e.id,".jfb-ai-modal .badge{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));color:var(--wp-components-color-accent-inverted,#fff);font-size:0.65em;padding:0.2em 0.5em;border-radius:1em}.jfb-ai-modal .components-notice{margin:0 0 2em 0}",""]);const l=i},433:e=>{e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var r="",n=void 0!==t[5];return t[4]&&(r+="@supports (".concat(t[4],") {")),t[2]&&(r+="@media ".concat(t[2]," {")),n&&(r+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),r+=e(t),n&&(r+="}"),t[2]&&(r+="}"),t[4]&&(r+="}"),r})).join("")},t.i=function(e,r,n,o,a){"string"==typeof e&&(e=[[null,e,void 0]]);var i={};if(n)for(var l=0;l<this.length;l++){var c=this[l][0];null!=c&&(i[c]=!0)}for(var s=0;s<e.length;s++){var u=[].concat(e[s]);n&&i[u[0]]||(void 0!==a&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=a),r&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=r):u[2]=r),o&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=o):u[4]="".concat(o)),t.push(u))}},t}},168:e=>{e.exports=function(e){return e[1]}},673:e=>{var t=[];function r(e){for(var r=-1,n=0;n<t.length;n++)if(t[n].identifier===e){r=n;break}return r}function n(e,n){for(var a={},i=[],l=0;l<e.length;l++){var c=e[l],s=n.base?c[0]+n.base:c[0],u=a[s]||0,m="".concat(s," ").concat(u);a[s]=u+1;var d=r(m),p={css:c[1],media:c[2],sourceMap:c[3],supports:c[4],layer:c[5]};if(-1!==d)t[d].references++,t[d].updater(p);else{var f=o(p,n);n.byIndex=l,t.splice(l,0,{identifier:m,updater:f,references:1})}i.push(m)}return i}function o(e,t){var r=t.domAPI(t);return r.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;r.update(e=t)}else r.remove()}}e.exports=function(e,o){var a=n(e=e||[],o=o||{});return function(e){e=e||[];for(var i=0;i<a.length;i++){var l=r(a[i]);t[l].references--}for(var c=n(e,o),s=0;s<a.length;s++){var u=r(a[s]);0===t[u].references&&(t[u].updater(),t.splice(u,1))}a=c}}},262:e=>{var t={};e.exports=function(e,r){var n=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(r)}},357:e=>{e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},657:(e,t,r)=>{e.exports=function(e){var t=r.nc;t&&e.setAttribute("nonce",t)}},598:e=>{e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(r){!function(e,t,r){var n="";r.supports&&(n+="@supports (".concat(r.supports,") {")),r.media&&(n+="@media ".concat(r.media," {"));var o=void 0!==r.layer;o&&(n+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),n+=r.css,o&&(n+="}"),r.media&&(n+="}"),r.supports&&(n+="}");var a=r.sourceMap;a&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),t.styleTagTransform(n,e,t.options)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},626:e=>{e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={id:n,exports:{}};return e[n](a,a.exports,r),a.exports}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.nc=void 0;const n=window.React;var o=r(673),a=r.n(o),i=r(598),l=r.n(i),c=r(262),s=r.n(c),u=r(657),m=r.n(u),d=r(357),p=r.n(d),f=r(626),h=r.n(f),v=r(42),b={};b.styleTagTransform=h(),b.setAttributes=m(),b.insert=s().bind(null,"head"),b.domAPI=l(),b.insertStyleElement=p(),a()(v.A,b),v.A&&v.A.locals&&v.A.locals;const g=window.wp.components,y=window.wp.element,w=window.wp.i18n,_=window.wp.apiFetch;var E=r.n(_);const{parseHTMLtoBlocks:j,getFormInnerFields:x}=JetFormBuilderParser,S=["Registration form with minimum inputs","Opt-in form with gender selector like radio","Quiz form with 5 questions with choices about math"],C=function({setShowModal:e,footer:t=()=>"Here may be buttons"}){const[r,o]=(0,y.useState)(""),[a,i]=(0,y.useState)(""),[l,c]=(0,y.useState)(!1),[s,u]=(0,y.useState)(""),[m,d]=(0,y.useState)(0),[p,f]=(0,y.useState)(0);return(0,n.createElement)(g.Modal,{style:{width:"60vw"},onRequestClose:()=>e(!1),title:(0,n.createElement)(g.Flex,null,(0,w.__)("Generate Form with AI","jet-form-builder"),(0,n.createElement)("span",{className:"badge"},(0,w.__)("Limited 15 requests per month","jet-form-builder"))),className:"jfb-ai-modal"},s&&(0,n.createElement)(g.Notice,{status:"error",onRemove:()=>u("")},(0,n.createElement)(g.Flex,{direction:"column"},s,(0,n.createElement)(g.ExternalLink,{href:"https://support.crocoblock.com/support/home/"},(0,w.__)("Contact Crocoblock support","jet-form-builder")))),Boolean(a.length)?(0,n.createElement)(n.Fragment,null,(0,n.createElement)("div",{dangerouslySetInnerHTML:{__html:a},style:{padding:"2em 1em",backgroundColor:"#f6f7f7",marginBottom:"1em"}}),(0,n.createElement)(t,{clearHTML:()=>i(""),formHTML:a,prompt:r},(0,n.createElement)("span",{style:{flex:"1",textAlign:"end",color:"rgb( 117, 117, 117 )"}},(0,w.sprintf)((0,w.__)("Requests used: %d/%d","jet-form-builder"),m,p)))):(0,n.createElement)(n.Fragment,null,(0,n.createElement)(g.TextareaControl,{label:(0,w.__)("Describe the form you want","jet-form-builder"),value:r,onChange:o,help:(0,w.__)("Prompt example: Simple contact form","jet-form-builder")}),Boolean(r.length)&&(0,n.createElement)(g.Button,{variant:"primary",isBusy:l,disabled:l,onClick:()=>{c(!0),E()({path:"/jet-form-builder/v1/ai/generate",method:"POST",data:{prompt:r}}).then((e=>{u(""),i(x(e.form)),console.group((0,w.__)("JFB: Parsed blocks from generated HTML","jet-form-builder")),console.log(j(e.form)),console.groupEnd(),d(e.usage),f(e.limit)})).catch((e=>{var t;u(null!==(t=e?.message)&&void 0!==t?t:(0,w.__)("Undefined error.","jet-form-builder"))})).finally((()=>{c(!1)}))}},(0,w.__)("Generate","jet-form-builder")),(0,n.createElement)("h4",null,(0,w.__)("Tips to write good prompt:","jet-form-builder")),(0,n.createElement)("ul",{style:{listStyle:"disc",paddingInlineStart:"1em"}},(0,n.createElement)("li",null,(0,w.__)("Start with the main purpose of the form.","jet-form-builder")),(0,n.createElement)("li",null,(0,w.__)("If you need specific fields – describe them in the prompt as well.","jet-form-builder")),(0,n.createElement)("li",null,(0,w.__)("It is better to use the English language for the prompt, as AI understands it better than others.","jet-form-builder"))),(0,n.createElement)("h4",null,(0,w.__)("Examples of the good prompts:","jet-form-builder")),(0,n.createElement)("ul",{style:{listStyle:"disc",paddingInlineStart:"1em"}},S.map((e=>(0,n.createElement)("li",{key:e},(0,n.createElement)(g.Button,{onClick:()=>o(e),variant:"link"},e)))))))};function T({name:e,attributes:t}){return`\x3c!-- wp:${e} ${JSON.stringify(t)} /--\x3e`}const M=function(e){return e.map(T).join("\n\n")},{parseHTMLtoBlocks:k}=JetFormBuilderParser,F=function({clearHTML:e,formHTML:t,prompt:r,children:o=null}){return(0,n.createElement)(g.Flex,{justify:"flex-start"},(0,n.createElement)(g.Button,{variant:"primary",onClick:()=>{const e=k(t);e.length?E()({method:"POST",path:"/wp/v2/jet-form-builder",data:{title:r,content:M(e),status:"publish"}}).then((e=>{window.location.href=(e=>{const t=new URL(JetFormBuilderAdmin.edit_url);return t.searchParams.set("post",e),t.href})(e.id)})).catch(console.error):console.error((0,w.__)("JFB: Invalid html","jet-form-builder"),t)}},(0,w.__)("Create form with this template","jet-form-builder")),(0,n.createElement)(g.Button,{variant:"secondary",onClick:e},(0,w.__)("Change generation prompt","jet-form-builder")),o)},I=function(){const[e,t]=(0,y.useState)(!1);return(0,n.createElement)(n.Fragment,null,(0,n.createElement)("a",{href:"#",className:"page-title-action",onClick:e=>{e.preventDefault(),t((e=>!e))}},(0,w.__)("Generate with AI","jet-form-builder")),e&&(0,n.createElement)(C,{setShowModal:t,footer:F}))},A=window.wp.domReady;r.n(A)()((()=>{const e=document.createElement("div");e.style.display="inline-flex",document.querySelector('.page-title-action[href*="post-new.php"]').after(e),(0,y.createRoot)(e).render((0,n.createElement)(I,null))}))})(); |