File manager - Edit - /home/palg2351/public_html/klanaobsesiindonesia.com/wp-includes/Text/Diff/Engine/ai.tar
Back
rest-api/endpoints/generate-form-endpoint.php 0000644 00000004321 15172731075 0015365 0 ustar 00 <?php namespace JFB_Modules\Ai\Rest_Api\Endpoints; // If this file is called directly, abort. if ( ! defined( 'WPINC' ) ) { die; } use Jet_Form_Builder\Classes\Http\Http_Tools; use Jet_Form_Builder\Exceptions\Gateway_Exception; use JFB_Components\Rest_Api\Rest_Api_Endpoint_Base; use JFB_Modules\Ai\External_Api\Generate_Form_Action; class Generate_Form_Endpoint extends Rest_Api_Endpoint_Base { public static function get_rest_base() { return 'ai/generate'; } public static function get_methods() { return \WP_REST_Server::CREATABLE; } public function run_callback( \WP_REST_Request $request ) { $action = new Generate_Form_Action(); $action->set_prompt( $request->get_param( 'prompt' ) ); $action->set_license( $this->get_license() ); try { $response = $action->send_request(); } catch ( Gateway_Exception $exception ) { return new \WP_REST_Response( array( 'message' => $exception->getMessage(), 'data' => $exception->get_additional(), ), 400 ); } if ( empty( $response['success'] ) || empty( $response['data']['completion'] ) ) { return new \WP_REST_Response( array( 'message' => $response['data'] ?? __( 'Something went wrong', 'jet-form-builder' ), 'data' => $response, ), 400 ); } return new \WP_REST_Response( array( 'form' => $response['data']['completion'], 'usage' => $response['data']['usage'], 'limit' => $response['data']['limit'], ) ); } private function get_license(): string { $server_ip = Http_Tools::get_server_ip_address(); // Define local IP address ranges $local_ip_ranges = array( '127.', // Loopback '192.168.', // Private network '10.', // Private network ); // Check if the server IP is within any of the local ranges foreach ( $local_ip_ranges as $range ) { if ( 0 === strpos( $server_ip, $range ) ) { return md5( $server_ip . site_url() ); // It's a local IP address } } /** * Add unique site suffix from LOGGED_IN_SALT * * @see https://github.com/Crocoblock/issues-tracker/issues/14825 */ if ( defined( 'LOGGED_IN_SALT' ) ) { $server_ip .= LOGGED_IN_SALT; } return md5( $server_ip ); // It's not a local IP address } } assets/build/editor.js 0000644 00000032743 15172731075 0011012 0 ustar 00 (()=>{"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},168:e=>{e.exports=function(e){return e[1]}},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}},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 m=[].concat(e[s]);n&&i[m[0]]||(void 0!==a&&(void 0===m[5]||(m[1]="@layer".concat(m[5].length>0?" ".concat(m[5]):""," {").concat(m[1],"}")),m[5]=a),r&&(m[2]?(m[1]="@media ".concat(m[2]," {").concat(m[1],"}"),m[2]=r):m[2]=r),o&&(m[4]?(m[1]="@supports (".concat(m[4],") {").concat(m[1],"}"),m[4]=o):m[4]="".concat(o)),t.push(m))}},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))}}},657:(e,t,r)=>{e.exports=function(e){var t=r.nc;t&&e.setAttribute("nonce",t)}},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],m=a[s]||0,u="".concat(s," ").concat(m);a[s]=m+1;var d=r(u),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:u,updater:f,references:1})}i.push(u)}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 m=r(a[s]);0===t[m].references&&(t[m].updater(),t.splice(m,1))}a=c}}}},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),m=r(657),u=r.n(m),d=r(357),p=r.n(d),f=r(626),h=r.n(f),v=r(42),b={};b.styleTagTransform=h(),b.setAttributes=u(),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 L=window.wp.components,w=window.wp.element,g=window.wp.i18n,E=window.wp.apiFetch;var y=r.n(E);const{parseHTMLtoBlocks:_,getFormInnerFields:C}=JetFormBuilderParser,j=["Registration form with minimum inputs","Opt-in form with gender selector like radio","Quiz form with 5 questions with choices about math"],k=function({setShowModal:e,footer:t=()=>"Here may be buttons"}){const[r,o]=(0,w.useState)(""),[a,i]=(0,w.useState)(""),[l,c]=(0,w.useState)(!1),[s,m]=(0,w.useState)(""),[u,d]=(0,w.useState)(0),[p,f]=(0,w.useState)(0);return(0,n.createElement)(L.Modal,{style:{width:"60vw"},onRequestClose:()=>e(!1),title:(0,n.createElement)(L.Flex,null,(0,g.__)("Generate Form with AI","jet-form-builder"),(0,n.createElement)("span",{className:"badge"},(0,g.__)("Limited 15 requests per month","jet-form-builder"))),className:"jfb-ai-modal"},s&&(0,n.createElement)(L.Notice,{status:"error",onRemove:()=>m("")},(0,n.createElement)(L.Flex,{direction:"column"},s,(0,n.createElement)(L.ExternalLink,{href:"https://support.crocoblock.com/support/home/"},(0,g.__)("Contact Crocoblock support","jet-form-builder")))),Boolean(a.length)?(0,n.createElement)(n.Fragment,null,(0,n.createElement)("div",{className:"jet-form-builder-html-parser-preview"},(0,n.createElement)("style",null,'\n\t\t\t\t\t.jet-form-builder-html-parser-preview {\n\t\t\t\t\t\tpointer-events: none;\n\t\t\t\t\t}\n\t\t\t\t\t.jet-form-builder-html-parser-preview textarea,\n\t\t\t\t\t.jet-form-builder-html-parser-preview input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),\n\t\t\t\t\t.jet-form-builder-html-parser-preview select {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\twidth: 100% !important;\n\t\t\t\t\t\tmax-width: 100% !important;\n\t\t\t\t\t\tmargin-bottom: 10px;\n\t\t\t\t\t}\n\t\t\t\t\t.jet-form-builder-html-parser-preview label {\n\t\t\t\t\t\tdisplay:block;\n\t\t\t\t\t\tmargin-bottom:5px;\n\t\t\t\t\t}\n\t\t\t\t\t.jet-form-builder-html-parser-preview br {\n\t\t\t\t\t\tdisplay:none;\n\t\t\t\t\t}\n\t\t\t\t\t.jet-form-builder-html-parser-preview input[type="submit"],\n\t\t\t\t\t.jet-form-builder-html-parser-preview button {\n\t\t\t\t\t\tdisplay:block;\n\t\t\t\t\t\tborder: none;\n\t\t\t\t\t\tbackground-color: #0071a1;\n\t\t\t\t\t\tcolor: #fff;\n\t\t\t\t\t\tpadding: 10px 20px;\n\t\t\t\t\t\tcursor: pointer;\n\t\t\t\t\t}\n\t\t\t\t'),(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,g.sprintf)((0,g.__)("Requests used: %d/%d","jet-form-builder"),u,p)))):(0,n.createElement)(n.Fragment,null,(0,n.createElement)(L.TextareaControl,{label:(0,g.__)("Describe the form you want","jet-form-builder"),value:r,onChange:o,help:(0,g.__)("Prompt example: Simple contact form","jet-form-builder")}),Boolean(r.length)&&(0,n.createElement)(L.Button,{variant:"primary",isBusy:l,disabled:l,onClick:()=>{c(!0),y()({path:"/jet-form-builder/v1/ai/generate",method:"POST",data:{prompt:r}}).then((e=>{m(""),i(C(e.form)),console.group((0,g.__)("JFB: Parsed blocks from generated HTML","jet-form-builder")),console.log(_(e.form)),console.groupEnd(),d(e.usage),f(e.limit)})).catch((e=>{var t;m(null!==(t=e?.message)&&void 0!==t?t:(0,g.__)("Undefined error.","jet-form-builder"))})).finally((()=>{c(!1)}))}},(0,g.__)("Generate","jet-form-builder")),(0,n.createElement)("h4",null,(0,g.__)("Tips to write good prompt:","jet-form-builder")),(0,n.createElement)("ul",{style:{listStyle:"disc",paddingInlineStart:"1em"}},(0,n.createElement)("li",null,(0,g.__)("Start with the main purpose of the form.","jet-form-builder")),(0,n.createElement)("li",null,(0,g.__)("If you need specific fields – describe them in the prompt as well.","jet-form-builder")),(0,n.createElement)("li",null,(0,g.__)("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,g.__)("Examples of the good prompts:","jet-form-builder")),(0,n.createElement)("ul",{style:{listStyle:"disc",paddingInlineStart:"1em"}},j.map((e=>(0,n.createElement)("li",{key:e},(0,n.createElement)(L.Button,{onClick:()=>o(e),variant:"link"},e)))))))},x=window.jfb.components,{parseHTMLtoBlocks:M}=JetFormBuilderParser,{usePattern:S}=JetFBHooks,T=function({clearHTML:e,formHTML:t,children:r=null}){const{showPopover:o,setShowPopover:a,ref:i,popoverProps:l}=(0,x.useTriggerPopover)(),{insert:c,append:s,blocks:m}=S({name:"ai"});return(0,n.createElement)(L.Flex,{justify:"flex-start"},(0,n.createElement)(L.Button,{ref:i,variant:"primary",onClick:()=>m.length?a((e=>!e)):c({blocks:M(t)})},(0,g.__)("Use this form","jet-form-builder")),(0,n.createElement)(L.Button,{variant:"secondary",onClick:e},(0,g.__)("Change generation prompt","jet-form-builder")),o&&(0,n.createElement)(x.PopoverStandard,{position:"top-start",noArrow:!1,...l},(0,n.createElement)("span",null,(0,g.__)("I want to","jet-form-builder"))," ",(0,n.createElement)(L.Button,{isLink:!0,isDestructive:!0,onClick:()=>c({blocks:M(t)})},(0,g.__)("replace","jet-form-builder"))," / ",(0,n.createElement)(L.Button,{isLink:!0,onClick:()=>s({blocks:M(t)})},(0,g.__)("append","jet-form-builder"))," ",(0,n.createElement)("span",null,(0,g.__)("form settings and blocks","jet-form-builder"))),r)},{PatternInserterButton:F}=JetFBComponents,B=window.wp.data,I=window.wp.domReady;var A=r.n(I);const P=document.createElement("div");P.classList.add("jfb-generate-form-ai-wrapper"),(0,w.createRoot)(P).render((0,n.createElement)((function(){const[e,t]=(0,w.useState)(!1);return(0,n.createElement)(n.Fragment,null,(0,n.createElement)(L.Button,{variant:"tertiary",iconSize:"16",icon:(0,n.createElement)("svg",{width:"16",height:"16",viewBox:"0 0 22 22",fill:"none",xmlns:"http://www.w3.org/2000/svg"},(0,n.createElement)("path",{d:"M7.5 3.6L10 5L8.6 2.5L10 0L7.5 1.4L5 0L6.4 2.5L5 5L7.5 3.6ZM19.5 13.4L17 12L18.4 14.5L17 17L19.5 15.6L22 17L20.6 14.5L22 12L19.5 13.4ZM22 0L19.5 1.4L17 0L18.4 2.5L17 5L19.5 3.6L22 5L20.6 2.5L22 0ZM14.37 5.29C13.98 4.9 13.35 4.9 12.96 5.29L1.29 16.96C0.899998 17.35 0.899998 17.98 1.29 18.37L3.63 20.71C4.02 21.1 4.65 21.1 5.04 20.71L16.7 9.05C17.09 8.66 17.09 8.03 16.7 7.64L14.37 5.29ZM13.34 10.78L11.22 8.66L13.66 6.22L15.78 8.34L13.34 10.78Z",fill:"currentColor"})),onClick:()=>t((e=>!e))},(0,g.__)("Generate Form with AI","jet-form-builder")),e&&(0,n.createElement)(n.Fragment,null,(0,n.createElement)(k,{setShowModal:t,footer:T})))}),null)),A()((()=>{const e={isAddedTimeout:!1};setTimeout((()=>{const t=(0,B.subscribe)((()=>function(e,t){const r=document.querySelector(".edit-post-header-toolbar");r&&(r.appendChild(P),t.isAddedTimeout||(t.isAddedTimeout=!0,setTimeout(e,500)))}(t,e)))}))})),(0,B.dispatch)("jet-forms/patterns").register({name:"ai",title:"Generate via AI",view:function({pattern:e}){const[t,r]=(0,w.useState)(!1);return(0,n.createElement)(n.Fragment,null,(0,n.createElement)(L.FlexItem,{className:"block-editor-block-variation-picker__or"},(0,g.__)("or","jet-form-builder")),(0,n.createElement)("li",null,(0,n.createElement)(F,{patternName:"ai",variant:"secondary",withPatternIcon:!0,iconSize:32,className:"block-editor-block-variation-picker__variation",onClick:()=>r(!0)}),(0,n.createElement)("span",{className:"block-editor-block-variation-picker__variation-label"},e.title)),t&&(0,n.createElement)(n.Fragment,null,(0,n.createElement)(k,{setShowModal:r,footer:T})))},icon:(0,n.createElement)("svg",{width:"48",height:"48",viewBox:"0 0 48 48",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},(0,n.createElement)("path",{d:"M40 16L36 13.76L32 16L34.24 12L32 8L36 10.24L40 8L37.76 12L40 16Z"}),(0,n.createElement)("path",{d:"M21 18L17 15.76L13 18L15.24 14L13 10L17 12.24L21 10L18.76 14L21 18Z"}),(0,n.createElement)("path",{d:"M34.32 30L36 27L33 28.68L30 27L31.68 30L30 33L33 31.32L36 33L34.32 30Z"}),(0,n.createElement)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.59073 33.7046C7.80309 34.4923 7.80309 35.7693 8.59073 36.5569L11.4431 39.4093C12.2307 40.1969 13.5077 40.1969 14.2954 39.4093L31.4093 22.2954C32.1969 21.5077 32.1969 20.2307 31.4093 19.4431L28.5569 16.5907C27.7693 15.8031 26.4923 15.8031 25.7046 16.5907L8.59073 33.7046ZM22.8548 22.269L10.0049 35.1188L10.002 35.1221L10.0013 35.123C10.0011 35.1236 10 35.1266 10 35.1308C10 35.1332 10.0003 35.135 10.0005 35.1363L10.0011 35.1382C10.0012 35.1383 10.0023 35.1401 10.0049 35.1427L12.8573 37.9951C12.8581 37.9959 12.8588 37.9966 12.8594 37.9971C12.8599 37.9975 12.8603 37.9978 12.8606 37.9981L12.8614 37.9987C12.862 37.9989 12.865 38 12.8692 38C12.8716 38 12.8735 37.9997 12.8748 37.9994C12.8757 37.9992 12.8763 37.999 12.8766 37.9989C12.8767 37.9988 12.8785 37.9977 12.8812 37.9951L25.731 25.1452L22.8548 22.269ZM24.269 20.8548L27.1452 23.731L29.9951 20.8812L29.9978 20.8781L29.9987 20.877L29.9995 20.8743C29.9998 20.8731 30 20.8713 30 20.8692C30 20.8674 29.9998 20.8659 29.9996 20.8647C29.9994 20.8631 29.999 20.8622 29.9989 20.8618C29.9988 20.8617 29.9977 20.8599 29.9951 20.8573L27.1427 18.0049C27.1401 18.0023 27.1387 18.0014 27.1386 18.0013C27.1384 18.0012 27.1375 18.0009 27.1369 18.0007C27.1356 18.0004 27.1336 18 27.1308 18C27.1266 18 27.124 18.0009 27.1234 18.0011C27.1233 18.0012 27.1215 18.0023 27.1188 18.0049L24.269 20.8548Z"}))})})(); assets/build/admin/forms.asset.php 0000644 00000000245 15172731075 0013223 0 ustar 00 <?php return array('dependencies' => array('react', 'wp-api-fetch', 'wp-components', 'wp-dom-ready', 'wp-element', 'wp-i18n'), 'version' => '55404eac730d6da0c224'); assets/build/admin/forms.js 0000644 00000023645 15172731075 0011743 0 ustar 00 (()=>{"use strict";var t={42:(t,e,r)=>{r.d(e,{A:()=>l});var n=r(168),o=r.n(n),a=r(433),i=r.n(a)()(o());i.push([t.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},168:t=>{t.exports=function(t){return t[1]}},262:t=>{var e={};t.exports=function(t,r){var n=function(t){if(void 0===e[t]){var r=document.querySelector(t);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(t){r=null}e[t]=r}return e[t]}(t);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:t=>{t.exports=function(t){var e=document.createElement("style");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},433:t=>{t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var r="",n=void 0!==e[5];return e[4]&&(r+="@supports (".concat(e[4],") {")),e[2]&&(r+="@media ".concat(e[2]," {")),n&&(r+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),r+=t(e),n&&(r+="}"),e[2]&&(r+="}"),e[4]&&(r+="}"),r})).join("")},e.i=function(t,r,n,o,a){"string"==typeof t&&(t=[[null,t,void 0]]);var i={};if(n)for(var l=0;l<this.length;l++){var s=this[l][0];null!=s&&(i[s]=!0)}for(var c=0;c<t.length;c++){var u=[].concat(t[c]);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)),e.push(u))}},e}},598:t=>{t.exports=function(t){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var e=t.insertStyleElement(t);return{update:function(r){!function(t,e,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))))," */")),e.styleTagTransform(n,t,e.options)}(e,t,r)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},626:t=>{t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},657:(t,e,r)=>{t.exports=function(t){var e=r.nc;e&&t.setAttribute("nonce",e)}},673:t=>{var e=[];function r(t){for(var r=-1,n=0;n<e.length;n++)if(e[n].identifier===t){r=n;break}return r}function n(t,n){for(var a={},i=[],l=0;l<t.length;l++){var s=t[l],c=n.base?s[0]+n.base:s[0],u=a[c]||0,m="".concat(c," ").concat(u);a[c]=u+1;var d=r(m),p={css:s[1],media:s[2],sourceMap:s[3],supports:s[4],layer:s[5]};if(-1!==d)e[d].references++,e[d].updater(p);else{var f=o(p,n);n.byIndex=l,e.splice(l,0,{identifier:m,updater:f,references:1})}i.push(m)}return i}function o(t,e){var r=e.domAPI(e);return r.update(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap&&e.supports===t.supports&&e.layer===t.layer)return;r.update(t=e)}else r.remove()}}t.exports=function(t,o){var a=n(t=t||[],o=o||{});return function(t){t=t||[];for(var i=0;i<a.length;i++){var l=r(a[i]);e[l].references--}for(var s=n(t,o),c=0;c<a.length;c++){var u=r(a[c]);0===e[u].references&&(e[u].updater(),e.splice(u,1))}a=s}}}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var a=e[n]={id:n,exports:{}};return t[n](a,a.exports,r),a.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.nc=void 0;const n=window.React;var o=r(673),a=r.n(o),i=r(598),l=r.n(i),s=r(262),c=r.n(s),u=r(657),m=r.n(u),d=r(357),p=r.n(d),f=r(626),h=r.n(f),b=r(42),v={};v.styleTagTransform=h(),v.setAttributes=m(),v.insert=c().bind(null,"head"),v.domAPI=l(),v.insertStyleElement=p(),a()(b.A,v),b.A&&b.A.locals&&b.A.locals;const g=window.wp.components,y=window.wp.element,w=window.wp.i18n,E=window.wp.apiFetch;var _=r.n(E);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"],k=function({setShowModal:t,footer:e=()=>"Here may be buttons"}){const[r,o]=(0,y.useState)(""),[a,i]=(0,y.useState)(""),[l,s]=(0,y.useState)(!1),[c,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:()=>t(!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"},c&&(0,n.createElement)(g.Notice,{status:"error",onRemove:()=>u("")},(0,n.createElement)(g.Flex,{direction:"column"},c,(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",{className:"jet-form-builder-html-parser-preview"},(0,n.createElement)("style",null,'\n\t\t\t\t\t.jet-form-builder-html-parser-preview {\n\t\t\t\t\t\tpointer-events: none;\n\t\t\t\t\t}\n\t\t\t\t\t.jet-form-builder-html-parser-preview textarea,\n\t\t\t\t\t.jet-form-builder-html-parser-preview input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),\n\t\t\t\t\t.jet-form-builder-html-parser-preview select {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\twidth: 100% !important;\n\t\t\t\t\t\tmax-width: 100% !important;\n\t\t\t\t\t\tmargin-bottom: 10px;\n\t\t\t\t\t}\n\t\t\t\t\t.jet-form-builder-html-parser-preview label {\n\t\t\t\t\t\tdisplay:block;\n\t\t\t\t\t\tmargin-bottom:5px;\n\t\t\t\t\t}\n\t\t\t\t\t.jet-form-builder-html-parser-preview br {\n\t\t\t\t\t\tdisplay:none;\n\t\t\t\t\t}\n\t\t\t\t\t.jet-form-builder-html-parser-preview input[type="submit"],\n\t\t\t\t\t.jet-form-builder-html-parser-preview button {\n\t\t\t\t\t\tdisplay:block;\n\t\t\t\t\t\tborder: none;\n\t\t\t\t\t\tbackground-color: #0071a1;\n\t\t\t\t\t\tcolor: #fff;\n\t\t\t\t\t\tpadding: 10px 20px;\n\t\t\t\t\t\tcursor: pointer;\n\t\t\t\t\t}\n\t\t\t\t'),(0,n.createElement)("div",{dangerouslySetInnerHTML:{__html:a},style:{padding:"2em 1em",backgroundColor:"#f6f7f7",marginBottom:"1em"}})),(0,n.createElement)(e,{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:()=>{s(!0),_()({path:"/jet-form-builder/v1/ai/generate",method:"POST",data:{prompt:r}}).then((t=>{u(""),i(x(t.form)),console.group((0,w.__)("JFB: Parsed blocks from generated HTML","jet-form-builder")),console.log(j(t.form)),console.groupEnd(),d(t.usage),f(t.limit)})).catch((t=>{var e;u(null!==(e=t?.message)&&void 0!==e?e:(0,w.__)("Undefined error.","jet-form-builder"))})).finally((()=>{s(!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((t=>(0,n.createElement)("li",{key:t},(0,n.createElement)(g.Button,{onClick:()=>o(t),variant:"link"},t)))))))};function C({name:t,attributes:e}){return`\x3c!-- wp:${t} ${JSON.stringify(e)} /--\x3e`}const T=function(t){return t.map(C).join("\n\n")},{parseHTMLtoBlocks:M}=JetFormBuilderParser,F=function({clearHTML:t,formHTML:e,prompt:r,children:o=null}){return(0,n.createElement)(g.Flex,{justify:"flex-start"},(0,n.createElement)(g.Button,{variant:"primary",onClick:()=>{const t=M(e);t.length?_()({method:"POST",path:"/wp/v2/jet-form-builder",data:{title:r,content:T(t),status:"publish"}}).then((t=>{window.location.href=(t=>{const e=new URL(JetFormBuilderAdmin.edit_url);return e.searchParams.set("post",t),e.href})(t.id)})).catch(console.error):console.error((0,w.__)("JFB: Invalid html","jet-form-builder"),e)}},(0,w.__)("Create form with this template","jet-form-builder")),(0,n.createElement)(g.Button,{variant:"secondary",onClick:t},(0,w.__)("Change generation prompt","jet-form-builder")),o)},I=function(){const[t,e]=(0,y.useState)(!1);return(0,n.createElement)(n.Fragment,null,(0,n.createElement)("a",{href:"#",className:"page-title-action",onClick:t=>{t.preventDefault(),e((t=>!t))}},(0,w.__)("Generate with AI","jet-form-builder")),t&&(0,n.createElement)(k,{setShowModal:e,footer:F}))},A=window.wp.domReady;r.n(A)()((()=>{const t=document.createElement("div");t.style.display="inline-flex",document.querySelector('.page-title-action[href*="post-new.php"]').after(t),(0,y.createRoot)(t).render((0,n.createElement)(I,null))}))})(); assets/build/editor.asset.php 0000644 00000000260 15172731075 0012270 0 ustar 00 <?php return array('dependencies' => array('react', 'wp-api-fetch', 'wp-components', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-i18n'), 'version' => '3bf4a59978138d70eae5'); module.php 0000644 00000007145 15172731075 0006561 0 ustar 00 <?php namespace JFB_Modules\Ai; // If this file is called directly, abort. if ( ! defined( 'WPINC' ) ) { die; } use JFB_Components\Module\Base_Module_After_Install_It; use JFB_Components\Module\Base_Module_Dir_It; use JFB_Components\Module\Base_Module_Dir_Trait; use JFB_Components\Module\Base_Module_Handle_It; use JFB_Components\Module\Base_Module_Handle_Trait; use JFB_Components\Module\Base_Module_It; use JFB_Components\Module\Base_Module_Url_It; use JFB_Components\Module\Base_Module_Url_Trait; use JFB_Modules\Ai\Rest_Api\Endpoints\Generate_Form_Endpoint; use JFB_Modules\Post_Type; class Module implements Base_Module_It, Base_Module_Url_It, Base_Module_Handle_It, Base_Module_After_Install_It, Base_Module_Dir_It { use Base_Module_Url_Trait; use Base_Module_Handle_Trait; use Base_Module_Dir_Trait; public function rep_item_id() { return 'ai'; } public function condition(): bool { return true; } public function init_hooks() { add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_assets' ) ); add_action( 'jet-form-builder/editor-assets/before', array( $this, 'editor_enqueue_assets' ) ); } public function remove_hooks() { remove_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_assets' ) ); remove_action( 'jet-form-builder/editor-assets/before', array( $this, 'editor_enqueue_assets' ) ); } public function on_install() { /** @var \JFB_Modules\Rest_Api\Module $rest_api */ /** @noinspection PhpUnhandledExceptionInspection */ $rest_api = jet_form_builder()->module( 'rest-api' ); $rest_api->get_controller()->install( new Generate_Form_Endpoint() ); } public function on_uninstall() { /** @var \JFB_Modules\Rest_Api\Module $rest_api */ /** @noinspection PhpUnhandledExceptionInspection */ $rest_api = jet_form_builder()->module( 'rest-api' ); $rest_api->get_controller()->uninstall( new Generate_Form_Endpoint() ); } public function admin_enqueue_assets() { global $post_type; if ( Post_Type\Module::SLUG !== $post_type ) { return; } /** @var \JFB_Modules\Html_Parser\Module $parser_module */ /** @noinspection PhpUnhandledExceptionInspection */ $parser_module = jet_form_builder()->module( 'html-parser' ); $parser_module->register_scripts(); $script_asset = require_once $this->get_dir( 'assets/build/admin/forms.asset.php' ); if ( true === $script_asset ) { return; } array_push( $script_asset['dependencies'], $parser_module->get_handle() ); wp_enqueue_script( $this->get_handle(), $this->get_url( 'assets/build/admin/forms.js' ), $script_asset['dependencies'], $script_asset['version'], true ); wp_localize_script( $this->get_handle(), 'JetFormBuilderAdmin', array( 'edit_url' => esc_url( add_query_arg( array( 'action' => 'edit' ), admin_url( 'post.php' ) ) ), ) ); /** * Required to show styled AI form modal on the forms list page */ wp_enqueue_style( 'wp-components' ); } public function editor_enqueue_assets() { $script_asset = require_once $this->get_dir( 'assets/build/editor.asset.php' ); if ( true === $script_asset ) { return; } /** @var \JFB_Modules\Html_Parser\Module $parser_module */ /** @noinspection PhpUnhandledExceptionInspection */ $parser_module = jet_form_builder()->module( 'html-parser' ); $parser_module->register_scripts(); array_push( $script_asset['dependencies'], $parser_module->get_handle(), 'jet-fb-components' ); wp_enqueue_script( $this->get_handle(), $this->get_url( 'assets/build/editor.js' ), $script_asset['dependencies'], $script_asset['version'], true ); } } external-api/generate-form-action.php 0000644 00000002101 15172731075 0013656 0 ustar 00 <?php namespace JFB_Modules\Ai\External_Api; // If this file is called directly, abort. if ( ! defined( 'WPINC' ) ) { die; } use JFB_Modules\Gateways\Base_Gateway_Action; class Generate_Form_Action extends Base_Gateway_Action { protected $method = \WP_REST_Server::READABLE; protected $license = ''; protected $prompt = ''; public function base_url(): string { return 'https://account.crocoblock.com/'; } public function action_query_args(): array { return array( 'ai_api' => 'jfb', 'license' => $this->get_licence(), 'prompt' => $this->prompt, ); } /** * @return string */ public function get_licence(): string { if ( defined( 'JFB_AI_LICENSE' ) ) { return JFB_AI_LICENSE; } return $this->license; } /** * @param string $license */ public function set_license( string $license ) { $this->license = $license; } /** * @param string $prompt */ public function set_prompt( string $prompt ) { $this->prompt = $prompt; } /** * @return string */ public function get_prompt(): string { return $this->prompt; } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.30 | Generation time: 1.12 |
proxy
|
phpinfo
|
Settings