Files
hub-insurance/wp-content/plugins/generateblocks-pro/dist/form-editor.js
T
2026-07-02 15:54:39 -06:00

11 lines
41 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
(()=>{"use strict";var e={n:t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window.React,n=window.wp.blocks,o=window.wp.domReady;var a=e.n(o);const r=window.wp.plugins,l=window.wp.editor,i=window.wp.data,s=window.wp.element,c=window.wp.i18n;function m({title:e,children:n}){return(0,t.createElement)("div",{className:"gb-form-section"},(0,t.createElement)("h3",{className:"gb-form-section__title"},e),(0,t.createElement)("div",{className:"gb-form-section__body"},n))}const u=window.wp.components,p=window.wp.coreData,g=window.wp.apiFetch;var d=e.n(g);function b(e,t,n,o={},a=!1){const[r,l]=(0,s.useState)([]),[i,m]=(0,s.useState)(!1),[u,p]=(0,s.useState)(""),g=(0,s.useRef)(null),b=(0,s.useRef)(!1),f=JSON.stringify(o),_=(0,s.useCallback)((({bypassCache:o=!1}={})=>{if(!n)return l([]),p(""),void m(!1);g.current&&g.current.abort();const a=new AbortController;g.current=a,m(!0),p("");const r=new URLSearchParams(JSON.parse(f));o&&r.set("nocache","1");const i=r.toString();d()({path:`/generateblocks-pro/v1/integrations/${e}/${t}${i?`?${i}`:""}`,signal:a.signal}).then((e=>{e.success?l(e.options||[]):p(e.message||(0,c.__)("Failed to fetch options.","generateblocks-pro"))})).catch((e=>{"AbortError"!==e.name&&p((0,c.__)("Failed to connect to service.","generateblocks-pro"))})).finally((()=>{g.current===a&&m(!1)}))}),[e,t,n,f]);return(0,s.useEffect)((()=>(_({bypassCache:a&&!b.current}),n&&(b.current=!0),()=>{g.current&&g.current.abort()})),[a,_]),{options:r,loading:i,error:u,refresh:()=>_({bypassCache:!0})}}function f(e,t){return[{label:t||(0,c.__)("- Select -","generateblocks-pro"),value:""},...e.map((e=>({label:e.label+(void 0!==e.count?` (${e.count})`:""),value:String(e.value)})))]}function _({error:e,loading:n,onRefresh:o,refreshLabel:a}){return e?(0,t.createElement)(u.Notice,{status:"warning",isDismissible:!1},(0,t.createElement)("div",{style:{display:"flex",flexDirection:"column",gap:"8px"}},(0,t.createElement)("span",null,e),(0,t.createElement)(u.Button,{variant:"secondary",size:"small",onClick:o,disabled:n},(0,c.__)("Retry","generateblocks-pro")))):n?(0,t.createElement)("div",{style:{display:"flex",alignItems:"center",gap:"8px",marginBottom:"8px"}},(0,t.createElement)(u.Spinner,null),(0,c.__)("Loading…","generateblocks-pro")):o?(0,t.createElement)("div",{style:{marginTop:"4px",marginBottom:"12px"}},(0,t.createElement)(u.Button,{variant:"link",onClick:o,disabled:n},a||(0,c.__)("Refresh","generateblocks-pro"))):null}function h({provider:e,settings:n={},onChange:o,formFields:a=[],bypassInitialCache:r=!1}){var l,i;const s=e?.id||"",m=e?.destination||{},p=e?.secondaryDestination||{},g=e?.fieldMap||{},d=Array.isArray(e?.settingsFields)?e.settingsFields:[],h=a.filter((e=>"email"!==e.type)),k=b(s,"destinations",!!s&&!!m.hasOptions,{},r),y=b(s,"secondary-destinations",!!s&&!!p.hasOptions,{},r),E=!(!g.enabled||!g.hasOptions||!h.length||g.dependsOnDestination&&!n.destinationId),v=b(s,"fields",!!s&&E,{destinationId:n.destinationId||"",secondaryDestinationId:n.secondaryDestinationId||""},r);if(!e)return null;const C=(e,t)=>{const a={...n,[e]:t};"destinationId"===e&&n.destinationId!==t&&delete a.fieldMap,o(a)},S=[{label:(0,c.__)("- Select -","generateblocks-pro"),value:""},...a.filter((e=>["email","text"].includes(e.type))).map((e=>({label:e.label||e.name,value:e.name})))],x=[{label:(0,c.__)("None","generateblocks-pro"),value:""},...a.filter((e=>"text"===e.type)).map((e=>({label:e.label||e.name,value:e.name})))],w=n.fieldMap&&"object"==typeof n.fieldMap&&!Array.isArray(n.fieldMap)?n.fieldMap:{};return(0,t.createElement)(t.Fragment,null,d.map((e=>(0,t.createElement)(u.TextControl,{key:e.key,label:e.label,help:e.help||void 0,type:e.type||"text",value:n[e.key]||"",placeholder:e.placeholder||"",onChange:t=>C(e.key,t),__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}))),m.hasOptions&&(0,t.createElement)(t.Fragment,null,(0,t.createElement)(u.SelectControl,{label:m.label,value:n.destinationId||"",options:f(k.options,m.emptyLabel),onChange:e=>C("destinationId",e),disabled:k.loading,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),(0,t.createElement)(_,{error:k.error,loading:k.loading,onRefresh:k.refresh,refreshLabel:m.refreshLabel})),p.hasOptions&&(0,t.createElement)(t.Fragment,null,(0,t.createElement)(u.SelectControl,{label:p.label,value:n.secondaryDestinationId||"",options:f(y.options,p.emptyLabel),onChange:e=>C("secondaryDestinationId",e),disabled:y.loading,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),(0,t.createElement)(_,{error:y.error,loading:y.loading,onRefresh:y.refresh,refreshLabel:p.refreshLabel})),(0,t.createElement)(u.SelectControl,{label:(0,c.__)("Email field","generateblocks-pro"),value:n.emailField||"email",options:S,onChange:e=>C("emailField",e),__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),e.supportsNameField&&(0,t.createElement)(u.SelectControl,{label:(0,c.__)("Name field","generateblocks-pro"),value:n.nameField||"",options:x,onChange:e=>C("nameField",e),__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),e.supportsDoubleOptin&&(0,t.createElement)(u.ToggleControl,{label:(0,c.__)("Double opt-in","generateblocks-pro"),help:(0,c.__)("Send provider confirmation emails before new subscribers are added.","generateblocks-pro"),checked:!(null!==(l=null!==(i=n.doubleOptin)&&void 0!==i?i:e.defaultDoubleOptin)&&void 0!==l&&!l),onChange:e=>C("doubleOptin",e),__nextHasNoMarginBottom:!0}),E&&(0,t.createElement)(t.Fragment,null,(0,t.createElement)(_,{error:v.error,loading:v.loading,onRefresh:v.refresh,refreshLabel:g.refreshLabel}),!v.loading&&!v.error&&!!h.length&&!v.options.length&&(0,t.createElement)(u.Notice,{status:"info",isDismissible:!1},(0,c.__)("No mappable fields available.","generateblocks-pro")),!v.loading&&!!v.options.length&&h.map((e=>(0,t.createElement)(u.SelectControl,{key:e.name,label:e.label||e.name,value:w[e.name]||"",options:f(v.options,g.emptyLabel),onChange:t=>((e,t)=>{const o=n.fieldMap,a=o&&"object"==typeof o&&!Array.isArray(o)?{...o}:{};t?a[e]=t:delete a[e],C("fieldMap",a)})(e.name,t),__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})))))}const k=["define","code"];function y(e){return"define"===e?(0,c.__)("wp-config.php","generateblocks-pro"):"db"===e?(0,c.__)("saved settings","generateblocks-pro"):(0,c.__)("code","generateblocks-pro")}function E({service:e,connectionState:n={},isConnected:o,onConnect:a,onDisconnect:r,onClose:l}){const i=e.connection?.fields?.length?e.connection.fields:[{key:"api_key",label:(0,c.__)("API Key","generateblocks-pro"),type:"password",help:e.help||"",required:!0}],m=n.fields||{},p=e=>k.includes(m[e.key]?.source),g=i.filter((e=>!p(e))),b=g.reduce(((e,t)=>({...e,[t.key]:""})),{}),[f,_]=(0,s.useState)(b),[h,E]=(0,s.useState)(!1),[v,C]=(0,s.useState)(!1),[S,x]=(0,s.useState)(null),[w,B]=(0,s.useState)(!1),T=g.some((e=>!!String(f[e.key]||"").trim())),N=i.every((e=>!e.required||p(e)||!!m[e.key]?.configured||!!String(f[e.key]||"").trim())),F=i.every((e=>!(Object.prototype.hasOwnProperty.call(e,"testRequired")?e.testRequired:e.required)||p(e)||!!m[e.key]?.configured||!!String(f[e.key]||"").trim())),M=()=>Object.fromEntries(Object.entries(f).filter((([,e])=>!!String(e||"").trim())));return(0,t.createElement)(u.Modal,{title:e.label,onRequestClose:l,size:"small"},S&&(0,t.createElement)("div",{style:{margin:"0 0 16px"}},(0,t.createElement)(u.Notice,{status:S.status,isDismissible:!0,onDismiss:()=>x(null)},S.message)),w&&(0,t.createElement)("div",{style:{margin:"0 0 16px"}},(0,t.createElement)(u.Notice,{status:"warning",isDismissible:!1},(0,t.createElement)("p",null,(0,c.__)("Disconnecting removes these settings for all forms on this site.","generateblocks-pro")),(0,t.createElement)("div",{style:{display:"flex",gap:"8px",justifyContent:"flex-end"}},(0,t.createElement)(u.Button,{variant:"secondary",onClick:()=>B(!1),disabled:v},(0,c.__)("Cancel","generateblocks-pro")),(0,t.createElement)(u.Button,{variant:"primary",isDestructive:!0,onClick:()=>{C(!0),x(null),B(!1),d()({path:`/generateblocks-pro/v1/integrations/${e.id}`,method:"DELETE"}).then((e=>{e.success?(r(),l()):x({status:"error",message:(0,c.__)("Failed to disconnect.","generateblocks-pro")})})).catch((()=>{x({status:"error",message:(0,c.__)("Failed to disconnect.","generateblocks-pro")})})).finally((()=>C(!1)))},disabled:v},v&&(0,t.createElement)(u.Spinner,null),(0,c.__)("Disconnect","generateblocks-pro"))))),o&&(0,t.createElement)("div",{style:{margin:"0 0 16px"}},(0,t.createElement)(u.Notice,{status:"success",isDismissible:!1},(0,c.__)("Connected. Enter new values below to replace saved settings.","generateblocks-pro"))),i.filter(p).map((e=>(0,t.createElement)("div",{key:`${e.key}-code`,style:{margin:"0 0 16px"}},(0,t.createElement)(u.Notice,{status:"info",isDismissible:!1},(0,c.sprintf)(/* translators: 1: field label, 2: source label */ /* translators: 1: field label, 2: source label */
(0,c.__)("%1$s is managed via %2$s.","generateblocks-pro"),e.label,y(m[e.key]?.source)))))),!!g.length&&(0,t.createElement)("div",{className:"gb-form-integration-connection-fields"},g.map((e=>(0,t.createElement)("div",{key:e.key,className:"gb-form-integration-connection-fields__field"},(0,t.createElement)(u.TextControl,{label:o&&m[e.key]?.configured?(0,c.sprintf)(/* translators: %s: connection setting label */ /* translators: %s: connection setting label */
(0,c.__)("New %s","generateblocks-pro"),e.label):e.label,type:e.type||"text",value:f[e.key]||"",onChange:t=>((e,t)=>{_((n=>({...n,[e]:t})))})(e.key,t),help:e.help,placeholder:e.placeholder,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}))))),(0,t.createElement)("div",{style:{display:"flex",gap:"8px",justifyContent:"space-between",alignItems:"center",marginTop:"1em"}},(0,t.createElement)("div",null,o&&(0,t.createElement)(u.Button,{variant:"link",isDestructive:!0,onClick:()=>{x(null),B(!0)},disabled:v||w},(0,c.__)("Disconnect","generateblocks-pro"))),(0,t.createElement)("div",{style:{display:"flex",gap:"8px"}},(0,t.createElement)(u.Button,{variant:"secondary",onClick:()=>{F&&(E(!0),x(null),d()({path:`/generateblocks-pro/v1/integrations/${e.id}/test`,method:"POST",data:{settings:M()}}).then((e=>{x({status:e.success?"success":"error",message:e.message})})).catch((()=>{x({status:"error",message:(0,c.__)("Connection failed.","generateblocks-pro")})})).finally((()=>E(!1))))},disabled:!F||h||v||w},h&&(0,t.createElement)(u.Spinner,null),(0,c.__)("Test","generateblocks-pro")),(0,t.createElement)(u.Button,{variant:"primary",onClick:()=>{N&&T&&(C(!0),x(null),d()({path:`/generateblocks-pro/v1/integrations/${e.id}`,method:"POST",data:{settings:M()}}).then((e=>{e.success?(a(),l()):x({status:"error",message:e.message||(0,c.__)("Failed to save.","generateblocks-pro")})})).catch((()=>{x({status:"error",message:(0,c.__)("Failed to save.","generateblocks-pro")})})).finally((()=>C(!1))))},disabled:!N||!T||h||v||w},v&&(0,t.createElement)(u.Spinner,null),(0,c.__)("Save","generateblocks-pro")))))}const v=window.wp.compose;function C({fields:e=[],value:n="",onChange:o,multiline:a=!1,label:r,help:l,placeholder:i}){const m=(0,v.useInstanceId)(C,"gb-merge-tag-field"),p=(0,s.useRef)(null),g=(0,s.useRef)(null),d=a?"textarea":"input",b=(0,s.useCallback)((e=>{const t=e?.target;t&&"number"==typeof t.selectionStart&&(g.current={start:t.selectionStart,end:t.selectionEnd})}),[]),f=(0,s.useCallback)((e=>{const t=`{field:${e}}`,a=n||"",r=a.length,l=g.current,i=l?Math.min(Math.max(l.start,0),r):r,s=l?Math.min(Math.max(l.end,0),r):r;o(a.slice(0,i)+t+a.slice(s));const c=i+t.length;g.current={start:c,end:c},window.requestAnimationFrame((()=>{const e=p.current?.querySelector(d);e&&(e.focus(),"number"==typeof e.selectionStart&&e.setSelectionRange(c,c))}))}),[n,o,d]),_={id:m,value:n,placeholder:i,autoComplete:"off","aria-describedby":l?`${m}__help`:void 0,onChange:e=>o(e.target.value),onBlur:b,onSelect:b};return(0,t.createElement)(u.BaseControl,{id:m,label:r,help:l,__nextHasNoMarginBottom:!0},(0,t.createElement)("div",{ref:p,className:"gb-merge-tag-field__control"+(a?" is-multiline":"")},a?(0,t.createElement)("textarea",{..._,className:"components-textarea-control__input gb-merge-tag-field__textarea",rows:4}):(0,t.createElement)("input",{..._,type:"text",className:"components-text-control__input is-next-40px-default-size"}),e.length>0&&(0,t.createElement)(u.DropdownMenu,{className:"gb-merge-tag-field__picker",icon:null,text:"{ }",label:(0,c.__)("Insert a field merge tag","generateblocks-pro"),toggleProps:{variant:"tertiary",size:"small"},popoverProps:{placement:"bottom-end"}},(({onClose:n})=>(0,t.createElement)(u.MenuGroup,{label:(0,c.__)("Form fields","generateblocks-pro")},e.map((e=>(0,t.createElement)(u.MenuItem,{key:e.name,onClick:()=>{f(e.name),n()}},e.label||e.name))))))))}const S="contact",x="email-signup",w="contact-email-signup",B="email",T="email-signup",N="webhook",F="confirmation-email",M={actions:[B]};function D(e={}){const t=e?.[T]?.provider;return"string"==typeof t?t.trim():""}function I(e,t={}){const n=Array.isArray(e)?e:[],o=n.includes(B),a=n.includes(T),r=n.includes(N),l=n.includes(F),i=a?D(t):"";let s=S;return o&&a?s=w:a&&(s=x),{safeActions:n,hasEmail:o,hasEmailSignup:a,hasWebhook:r,hasConfirmationEmail:l,activeIntegration:i,derivedFormType:s}}function R(e){return[...e.hasWebhook?[N]:[],...e.hasConfirmationEmail?[F]:[]]}function H(e){if(!e||"object"!=typeof e||!Object.prototype.hasOwnProperty.call(e,"optInField"))return e;const t={...e};return delete t.optInField,t}const z="gb-form-success";function O(e,t){return(e?.attributes?.className||"").split(/\s+/).includes(t)}function A(e=[]){const t=[];for(const n of e||[])"generateblocks-pro/form"===n?.name&&t.push(n),n?.innerBlocks?.length&&t.push(...A(n.innerBlocks));return t}function P(e){for(const t of e||[]){if(O(t,z))return t;const e=P(t.innerBlocks);if(e)return e}return null}const j=["generateblocks/text",{content:(0,c.__)("Submit","generateblocks-pro"),tagName:"button",htmlAttributes:{type:"submit"},styles:{display:"inline-flex",paddingTop:"0.625em",paddingRight:"1.25em",paddingBottom:"0.625em",paddingLeft:"1.25em",backgroundColor:"#0f172a",color:"#ffffff",borderTopWidth:"0",borderRightWidth:"0",borderBottomWidth:"0",borderLeftWidth:"0",borderTopLeftRadius:"4px",borderTopRightRadius:"4px",borderBottomRightRadius:"4px",borderBottomLeftRadius:"4px",fontSize:"0.875em",fontWeight:"500",lineHeight:"1.5",cursor:"pointer","&:is(:hover, :focus)":{backgroundColor:"#1e293b"}}}];function L(e){return e?.name||e?.blockName||""}function W(e=[],t){for(const n of e){if("generateblocks-pro/form-field"===L(n))continue;if(t===L(n))return n;const e=W(n.innerBlocks||[],t);if(e)return e}return null}function $(e){const t=(l=e,W(l?.innerBlocks||[],"generateblocks-pro/form-field-label")),n=function(e){return W(e?.innerBlocks||[],"generateblocks-pro/form-field-control")}(e),o=e?.attributes?.fieldName||"",a=function(e){return e||"text"}(e?.attributes?.fieldType),r="hidden"===a?"":t?.attributes?.content;var l;return{clientId:e?.clientId,fieldName:o,fieldType:a,isRequired:!!e?.attributes?.isRequired,matchesField:e?.attributes?.matchesField||"",conditions:e?.attributes?.conditions||[],label:r||o,options:n?.attributes?.options||[],checkedValue:n?.attributes?.checkedValue||"",defaultValue:n?.attributes?.defaultValue||""}}(0,c.__)("Name","generateblocks-pro"),(0,c.__)("Email","generateblocks-pro"),(0,c.__)("Message","generateblocks-pro"),(0,c.__)("Email","generateblocks-pro"),(0,t.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"50",height:"50",viewBox:"0 0 100 100","aria-hidden":"true"},(0,t.createElement)("path",{d:"M97 0H3a3 3 0 0 0-3 3v94a3 3 0 0 0 3 3h94a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3zm-1 96H4V4h92v92z"}),(0,t.createElement)("path",{d:"M85 18H15a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h70a3 3 0 0 0 3-3v-6a3 3 0 0 0-3-3zm-1 8H16v-4h68v4z"}),(0,t.createElement)("path",{d:"M85 34H15a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h70a3 3 0 0 0 3-3v-6a3 3 0 0 0-3-3zm-1 8H16v-4h68v4z"}),(0,t.createElement)("path",{d:"M85 50H15a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h70a3 3 0 0 0 3-3V53a3 3 0 0 0-3-3zm-1 24H16V54h68v20z"}),(0,t.createElement)("rect",{x:"20",y:"58",width:"50",height:"2"}),(0,t.createElement)("rect",{x:"20",y:"64",width:"58",height:"2"}),(0,t.createElement)("rect",{x:"20",y:"70",width:"40",height:"2"}),(0,t.createElement)("rect",{x:"14",y:"82",width:"26",height:"9",rx:"2"})),(0,t.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"50",height:"50",viewBox:"0 0 100 100","aria-hidden":"true"},(0,t.createElement)("path",{d:"M97 0H3a3 3 0 0 0-3 3v94a3 3 0 0 0 3 3h94a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3zm-1 96H4V4h92v92z"}),(0,t.createElement)("rect",{x:"22",y:"22",width:"56",height:"7",rx:"1"}),(0,t.createElement)("rect",{x:"28",y:"34",width:"44",height:"3",rx:"1"}),(0,t.createElement)("rect",{x:"32",y:"40",width:"36",height:"3",rx:"1"}),(0,t.createElement)("path",{d:"M85 54H15a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h70a3 3 0 0 0 3-3v-6a3 3 0 0 0-3-3zm-1 8H16v-4h68v4z"}),(0,t.createElement)("rect",{x:"14",y:"72",width:"32",height:"9",rx:"2"}));const V=[],U=(0,s.createContext)(null);function q({children:e}){const[n,o]=(0,p.useEntityProp)("postType","gblocks_form","meta"),a=n&&n._gb_form||{config:{}},r=a.config||{},l=function(e){const t=e&&"object"==typeof e?e:{},n=""!==D(t.actionSettings);if(Array.isArray(t.actions)){const e=n?t.actions:t.actions.filter((e=>T!==e));return e.length===t.actions.length?t:{...t,actions:e}}return{...t,actions:M.actions}}(r),i=function(){const[e,t]=(0,s.useState)({connected:{},integrations:[],error:""}),n=(0,s.useCallback)((()=>{d()({path:"/generateblocks-pro/v1/integrations"}).then((e=>{e.success?t({connected:e.connected||{},integrations:e.integrations||[],error:""}):t((t=>({...t,error:e.message||(0,c.__)("Failed to load integrations.","generateblocks-pro")})))})).catch((e=>{t((t=>({...t,error:e?.message||(0,c.__)("Failed to load integrations.","generateblocks-pro")})))}))}),[]);return(0,s.useEffect)((()=>{n()}),[n]),(0,s.useMemo)((()=>({data:e.connected,integrations:e.integrations,error:e.error,refresh:n})),[n,e.connected,e.error,e.integrations])}(),m=r!==l,{hasEmail:u,hasEmailSignup:g,hasWebhook:b,hasConfirmationEmail:f,activeIntegration:_,derivedFormType:h}=(0,s.useMemo)((()=>I(l.actions,l.actionSettings)),[l.actions,l.actionSettings]),[k,y]=(0,s.useState)(l.formType||"");(0,s.useEffect)((()=>{l.formType&&l.formType!==k&&y(l.formType)}),[l.formType]),(0,s.useEffect)((()=>{m&&o({...n||{},_gb_form:{...a,config:l}})}),[l,a,n,m,o]);const E=(0,s.useCallback)((e=>{o({...n||{},_gb_form:{...a,config:{...l,...e}}})}),[n,a,l,o]),v=(0,s.useMemo)((()=>g||u||k?!g&&k&&k!==h?k:h:""),[h,u,g,k]),C=(0,s.useCallback)((e=>{y(e||""),E(function(e,t){const n=R(I(e?.actions,e?.actionSettings)),o=""!==D(e?.actionSettings),a=e?.actionSettings&&"object"==typeof e.actionSettings?e.actionSettings:{},r=a[T]&&"object"==typeof a[T]?a[T]:{},l=w!==t&&Object.prototype.hasOwnProperty.call(r,"optInField");let i;switch(t){case x:i=[...o?[T]:[],...n];break;case w:i=[B,...o?[T]:[],...n];break;default:i=[B,...n]}const s={actions:i,formType:t||""};return l&&(s.actionSettings={...a,[T]:H(r)}),s}(l,e))}),[l,E]),S=(0,s.useCallback)((e=>{E(function(e,t,n){const o=I(e?.actions,e?.actionSettings),a=e?.actionSettings&&"object"==typeof e.actionSettings?e.actionSettings:{},r=a[T]&&"object"==typeof a[T]?a[T]:{},l=w===n?r:H(r),i=R(o),s=o.hasEmail||w===n,c=s?[B,T,...i]:[T,...i];if(t){const e={};w===n&&"string"==typeof l.optInField&&(e.optInField=l.optInField);const o=l.provider===t?l:e;return{actions:c,formType:n||"",actionSettings:{...a,[T]:{...o,provider:t}}}}return{actions:s?[B,...i]:[...i],formType:n||"",actionSettings:{...a,[T]:{...l,provider:""}}}}(l,e,v))}),[l,v,E]),N=(0,s.useMemo)((()=>({config:l,updateConfig:E,integrationState:i,formType:v,setFormType:C,activeIntegration:_,setActiveIntegration:S,hasEmail:u,hasEmailSignup:g,hasWebhook:b,hasConfirmationEmail:f})),[_,l,v,f,u,g,b,i,S,C,E]);return(0,t.createElement)(U.Provider,{value:N},e)}function K(){const e=(0,s.useContext)(U);if(!e)throw new Error("FormEditorContext is unavailable.");return e}function J(){const e=(0,i.useSelect)((e=>{const t=A(e("core/block-editor").getBlocks());return 1!==t.length?V:t[0].innerBlocks?.length?t[0].innerBlocks:V}),[]);return(0,s.useMemo)((()=>{if(!e.length)return V;const t=[],n=e=>{for(const o of e){if("generateblocks-pro/form-field"===o.name){const e=$(o);e.fieldName&&t.push({name:e.fieldName,fieldName:e.fieldName,label:e.label||e.fieldName,type:e.fieldType,fieldType:e.fieldType,options:e.options||[],checkedValue:e.checkedValue||""})}o.innerBlocks?.length&&n(o.innerBlocks)}};return n(e),t}),[e])}function G(){return K().integrationState}function Z(e){if("button"!==e?.attributes?.tagName)return!1;const t=String(e?.attributes?.htmlAttributes?.type||"").toLowerCase();return""===t||"submit"===t}function Q(e){for(const t of e||[]){if(O(t,z))continue;if(Z(t))return t;const e=Q(t.innerBlocks);if(e)return e}return null}function X(){const{hasFormBlock:e,isChoosingTemplate:o,submitButtonBlock:a,addSubmitButton:r}=function(){const{formBlock:e,submitButtonBlock:t,isChoosingTemplate:o}=(0,i.useSelect)((e=>{const t=A(e("core/block-editor").getBlocks()),n=1===t.length?t[0]:null;return{formBlock:n,submitButtonBlock:n?Q(n.innerBlocks):null,isChoosingTemplate:!!n?.attributes?.showTemplateSelector}}),[]),{insertBlocks:a,selectBlock:r}=(0,i.useDispatch)("core/block-editor"),l=(0,s.useCallback)((()=>{if(t)return void r(t.clientId);if(!e)return;const o=(0,n.createBlocksFromInnerBlocksTemplate)([j]),l=o?.[0];l&&(a(l,void 0,e.clientId,!1),r(l.clientId))}),[e,a,r,t]);return{hasFormBlock:!!e,isChoosingTemplate:o,submitButtonBlock:t,addSubmitButton:l}}();return!e||o||a?null:(0,t.createElement)(u.Notice,{status:"warning",isDismissible:!1,className:"gb-form-submit-button-warning"},(0,t.createElement)("p",null,(0,c.__)("No submit button was detected. Add one so visitors have a clear way to submit.","generateblocks-pro")),(0,t.createElement)(u.Button,{variant:"primary",onClick:r},(0,c.__)("Add submit button","generateblocks-pro")))}function Y(){const{config:e,integrationState:n}=K(),o=(0,s.useMemo)((()=>function(e={}){const t=Array.isArray(e?.actions)?e.actions:[],n=e?.actionSettings&&"object"==typeof e.actionSettings?e.actionSettings:{},o=D(n),a="string"==typeof n?.[N]?.url?n[N].url.trim():"",r="string"==typeof e?.confirmationEmailField?e.confirmationEmailField.trim():"",l=[],i=new Set;return t.forEach((e=>{const t="string"==typeof e?e.trim():"";if(t&&!i.has(t))switch(i.add(t),t){case B:l.push({id:B,status:"ready"});break;case T:l.push({id:T,status:o?"ready":"warning",issue:o?"":"provider_missing",provider:o});break;case N:l.push({id:N,status:a?"ready":"warning",issue:a?"":"url_missing"});break;case F:l.push({id:F,status:r?"ready":"warning",issue:r?"":"recipient_missing",secondary:!0});break;default:l.push({id:t,status:"ready",custom:!0})}})),l}(e)),[e]),a=n?.integrations||V;return(0,t.createElement)("div",{className:"gb-form-delivery-actions"},(0,t.createElement)("div",{className:"gb-form-delivery-actions__label"},(0,c.__)("Delivery actions","generateblocks-pro")),o.length?(0,t.createElement)("ul",{className:"gb-form-delivery-actions__list"},o.map((e=>(0,t.createElement)("li",{key:e.id,className:["gb-form-delivery-actions__pill",`gb-form-delivery-actions__pill--${e.status}`,e.secondary?"gb-form-delivery-actions__pill--secondary":"",e.custom?"gb-form-delivery-actions__pill--custom":""].filter(Boolean).join(" ")},function(e,t){switch(e.id){case"email":return(0,c.__)("Email","generateblocks-pro");case"email-signup":return"provider_missing"===e.issue?(0,c.__)("Email signup: not connected","generateblocks-pro"):(0,c.sprintf)(/* translators: %s: email marketing provider name */ /* translators: %s: email marketing provider name */
(0,c.__)("Email signup: %s","generateblocks-pro"),function(e,t){const n=e.find((e=>e.id===t));return n?.label||t}(t,e.provider));case"webhook":return"url_missing"===e.issue?(0,c.__)("Webhook: URL missing","generateblocks-pro"):(0,c.__)("Webhook","generateblocks-pro");case"confirmation-email":return"recipient_missing"===e.issue?(0,c.__)("Confirmation email: recipient missing","generateblocks-pro"):(0,c.__)("Confirmation email","generateblocks-pro");default:return(0,c.sprintf)(/* translators: %s: custom form action name */ /* translators: %s: custom form action name */
(0,c.__)("Custom: %s","generateblocks-pro"),e.id)}}(e,a))))):(0,t.createElement)("p",{className:"gb-form-delivery-actions__empty"},(0,c.__)("No delivery actions configured. Visitors will see a configuration error until setup is complete.","generateblocks-pro")))}function ee(){const{formType:e,setFormType:n,hasEmailSignup:o,activeIntegration:a}=K();return(0,t.createElement)(t.Fragment,null,(0,t.createElement)(u.SelectControl,{label:(0,c.__)("Type","generateblocks-pro"),value:e,options:[{label:(0,c.__)("— Select —","generateblocks-pro"),value:""},{label:(0,c.__)("Contact form","generateblocks-pro"),value:S},{label:(0,c.__)("Email signup","generateblocks-pro"),value:x},{label:(0,c.__)("Contact form + email signup","generateblocks-pro"),value:w}],onChange:n,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),(0,t.createElement)(Y,null),o&&!a&&(0,t.createElement)(u.Notice,{status:"warning",isDismissible:!1},(0,c.__)("This form will show a configuration error to visitors until you connect an email marketing service.","generateblocks-pro")))}function te(){const{config:e,updateConfig:n,activeIntegration:o,setActiveIntegration:a,formType:r}=K(),l=J(),{data:i,integrations:m,error:p,refresh:g}=G(),[d,b]=(0,s.useState)(""),[f,_]=(0,s.useState)(null),[v,C]=(0,s.useState)({}),S=(0,s.useMemo)((()=>m.filter((e=>"email"===e.type&&e.canSubscribe))),[m]),x=(e.actionSettings||{})["email-signup"]||{},B=(0,s.useCallback)((t=>n({actionSettings:{...e.actionSettings||{},"email-signup":t}})),[e.actionSettings,n]),T=[{label:(0,c.__)("— Select —","generateblocks-pro"),value:""},...S.map((e=>({label:e.label,value:e.id})))],N=S.find((e=>e.id===o)),F=S.find((e=>e.id===d)),M=!!i[o]?.connected,D=N?.connection?.fields||[],I=i[o]?.fields||{},R=!!D.length,H=R&&D.every((e=>k.includes(I[e.key]?.source))),z=D.map((e=>I[e.key]?.source)).find((e=>k.includes(e)));return(0,t.createElement)(t.Fragment,null,p&&(0,t.createElement)(u.Notice,{status:"warning",isDismissible:!1},p),(0,t.createElement)(u.SelectControl,{label:(0,c.__)("Service","generateblocks-pro"),value:f&&d||o,options:T,onChange:e=>{if(e&&!i[e]?.connected){const t=S.find((t=>t.id===e));b(e),_(t?.connection?.fields?.length?t:null)}else b(""),a(e)},__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),d&&F&&!f&&!i[d]?.connected&&!F.connection?.fields?.length&&(0,t.createElement)(u.Notice,{status:"warning",isDismissible:!1},i[d]?.message||(0,c.sprintf)(/* translators: %s: integration label */ /* translators: %s: integration label */
(0,c.__)("%s is not available on this site.","generateblocks-pro"),F.label)),o&&N&&!R&&i[o]&&!M&&(0,t.createElement)(u.Notice,{status:"warning",isDismissible:!1},i[o]?.message||(0,c.sprintf)(/* translators: %s: integration label */ /* translators: %s: integration label */
(0,c.__)("%s is not available on this site.","generateblocks-pro"),N.label)),o&&N&&R&&!(M&&H)&&(0,t.createElement)("div",{style:{marginTop:"8px",marginBottom:"16px"}},(0,t.createElement)(u.Button,{variant:M?"secondary":"primary",size:"small",onClick:()=>_(N)},M?(0,c.__)("Manage API key","generateblocks-pro"):(0,c.__)("Connect","generateblocks-pro"))),o&&N&&M&&H&&(0,t.createElement)(u.Notice,{status:"info",isDismissible:!1},(0,c.sprintf)(/* translators: %s: connection source label */ /* translators: %s: connection source label */
(0,c.__)("Connection configured via %s.","generateblocks-pro"),y(z))),o&&N&&M&&(0,t.createElement)(t.Fragment,null,(0,t.createElement)(h,{key:`${o}-${v[o]||0}`,provider:N,settings:x,onChange:e=>B({...e,provider:o}),formFields:l,bypassInitialCache:!!v[o]}),(0,t.createElement)(ne,{optInField:x.optInField,fields:l,isCombinedForm:w===r,onChange:e=>B({...x,provider:o,optInField:e})})),f&&(0,t.createElement)(E,{service:f,connectionState:i[f.id]||{},isConnected:!!i[f.id]?.connected,onConnect:()=>{g(),C((e=>({...e,[f.id]:(e[f.id]||0)+1}))),a(f.id),b("")},onDisconnect:()=>{g(),a("")},onClose:()=>{b(""),_(null)}}))}function ne({optInField:e="",fields:n,isCombinedForm:o,onChange:a}){const r="string"==typeof e?e:"",l=(0,s.useMemo)((()=>n.filter((e=>e.name&&"checkbox"===e.type))),[n]);if(!o)return null;const i=l.find((e=>e.name===r)),m=[{label:(0,c.__)("None","generateblocks-pro"),value:""},...r&&!i?[{label:(0,c.sprintf)(/* translators: %s: missing form field name. */ /* translators: %s: missing form field name. */
(0,c.__)("%s (missing)","generateblocks-pro"),r),value:r}]:[],...l.map((e=>({label:e.label||e.name,value:e.name})))];return(0,t.createElement)(t.Fragment,null,(0,t.createElement)(u.SelectControl,{label:(0,c.__)("Signup opt-in field","generateblocks-pro"),help:(0,c.__)("Email signup runs only when this checkbox is checked.","generateblocks-pro"),value:r,options:m,onChange:a,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),!r&&(0,t.createElement)(u.Notice,{status:"warning",isDismissible:!1},(0,c.__)("Every valid contact submission will also be subscribed until an opt-in field is selected.","generateblocks-pro")))}function oe(){const{config:e,updateConfig:n}=K(),o=J(),a=[{label:(0,c.__)("Auto - first email field","generateblocks-pro"),value:""},{label:(0,c.__)("Use default sender","generateblocks-pro"),value:"__none"},...o.filter((e=>"email"===e.type)).map((e=>({label:e.label||e.name,value:e.name})))];return(0,t.createElement)(t.Fragment,null,(0,t.createElement)(u.TextControl,{label:(0,c.__)("Send to email","generateblocks-pro"),help:(0,c.__)("Defaults to your site admin email if empty.","generateblocks-pro"),value:e.emailTo||"",onChange:e=>n({emailTo:e}),autoComplete:"off",__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),(0,t.createElement)(C,{fields:o,label:(0,c.__)("From name","generateblocks-pro"),help:(0,c.__)("Defaults to WordPress if empty.","generateblocks-pro"),value:e.emailFromName||"",onChange:e=>n({emailFromName:e})}),(0,t.createElement)(u.TextControl,{label:(0,c.__)("From email","generateblocks-pro"),help:(0,c.__)("Defaults to the WordPress sender if empty. Use an address from this site domain for best deliverability.","generateblocks-pro"),type:"email",value:e.emailFromEmail||"",onChange:e=>n({emailFromEmail:e}),autoComplete:"off",__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),(0,t.createElement)(C,{fields:o,label:(0,c.__)("Email subject","generateblocks-pro"),value:e.emailSubject||"",onChange:e=>n({emailSubject:e}),placeholder:(0,c.__)("New Form Submission","generateblocks-pro")}),(0,t.createElement)(u.SelectControl,{label:(0,c.__)("Reply-to field","generateblocks-pro"),help:(0,c.__)("Choose where replies to admin notification emails should go.","generateblocks-pro"),value:e.emailReplyToField||"",options:a,onChange:e=>n({emailReplyToField:e}),__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}))}function ae(){const{config:e,updateConfig:n}=K(),o=J(),a=e.actions||[],r=a.includes("confirmation-email"),l=o.filter((e=>"email"===e.type)).map((e=>({label:e.label||e.name,value:e.name})));return(0,t.createElement)(t.Fragment,null,(0,t.createElement)(u.ToggleControl,{label:(0,c.__)("Send confirmation to submitter","generateblocks-pro"),help:(0,c.__)("Sends an auto-reply to the person who submitted the form.","generateblocks-pro"),checked:r,onChange:e=>{n(e?{actions:[...a,"confirmation-email"]}:{actions:a.filter((e=>"confirmation-email"!==e))})},__nextHasNoMarginBottom:!0}),r&&(0,t.createElement)(t.Fragment,null,l.length?(0,t.createElement)(u.SelectControl,{label:(0,c.__)("Recipient field","generateblocks-pro"),help:(0,c.__)("The email field whose value receives the confirmation.","generateblocks-pro"),value:e.confirmationEmailField||"",options:[{label:(0,c.__)("— Select —","generateblocks-pro"),value:""},...l],onChange:e=>n({confirmationEmailField:e}),__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}):(0,t.createElement)(u.Notice,{status:"info",isDismissible:!1},(0,c.__)("Add an email field to your form to use this feature.","generateblocks-pro")),(0,t.createElement)(u.TextControl,{label:(0,c.__)("Reply-to email","generateblocks-pro"),help:(0,c.__)("Replies to the confirmation email will go to this address.","generateblocks-pro"),value:e.confirmationEmailReplyToEmail||"",onChange:e=>n({confirmationEmailReplyToEmail:e}),type:"email",autoComplete:"off",__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),(0,t.createElement)(u.TextControl,{label:(0,c.__)("Reply-to name","generateblocks-pro"),help:(0,c.__)("Optional display name for the reply-to address.","generateblocks-pro"),value:e.confirmationEmailReplyToName||"",onChange:e=>n({confirmationEmailReplyToName:e}),autoComplete:"off",__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),(0,t.createElement)(C,{fields:o,label:(0,c.__)("Subject","generateblocks-pro"),value:e.confirmationEmailSubject||"",onChange:e=>n({confirmationEmailSubject:e}),placeholder:(0,c.sprintf)(/* translators: %s: site name */ /* translators: %s: site name */
(0,c.__)("Thank you for contacting %s","generateblocks-pro"),"...")}),(0,t.createElement)(C,{multiline:!0,fields:o,label:(0,c.__)("Message","generateblocks-pro"),value:e.confirmationEmailBody||"",onChange:e=>n({confirmationEmailBody:e}),placeholder:(0,c.__)("Thank you for your submission. We will get back to you soon.","generateblocks-pro")})))}function re(){const{config:e,updateConfig:o}=K(),{successBlock:a,insertSuccessContainer:r,selectSuccessContainer:l}=function(){const{formBlock:e,successBlock:t}=(0,i.useSelect)((e=>{const t=A(e("core/block-editor").getBlocks()),n=1===t.length?t[0]:null;return{formBlock:n,successBlock:n?P(n.innerBlocks):null}}),[]),{insertBlock:o,selectBlock:a}=(0,i.useDispatch)("core/block-editor"),r=(0,s.useCallback)((()=>{if(!e)return;const t=(0,n.createBlock)("generateblocks/element",{tagName:"div",className:z},[(0,n.createBlock)("generateblocks/text",{content:(0,c.__)("Thanks for your submission!","generateblocks-pro"),tagName:"h3"}),(0,n.createBlock)("generateblocks/text",{content:(0,c.__)("We'll be in touch shortly.","generateblocks-pro"),tagName:"p"})]),a=(e.innerBlocks||[]).length;o(t,a,e.clientId,!1)}),[e,o]),l=(0,s.useCallback)((()=>{t&&a(t.clientId)}),[t,a]);return{formClientId:e?.clientId||"",successBlock:t,insertSuccessContainer:r,selectSuccessContainer:l}}(),m=!!a;return(0,t.createElement)(t.Fragment,null,(0,t.createElement)(u.TextareaControl,{label:(0,c.__)("Success message","generateblocks-pro"),help:m?(0,c.__)("A success container is being shown after submission. The message above is unused.","generateblocks-pro"):(0,c.__)("Shown above the form after a successful submission. Use a success container instead for a fully designed thank-you state.","generateblocks-pro"),value:e.successMessage||"",onChange:e=>o({successMessage:e}),disabled:m}),m?(0,t.createElement)(u.Button,{variant:"link",onClick:l,style:{marginBottom:"1em"}},(0,c.__)("Edit success container","generateblocks-pro")):(0,t.createElement)(u.Button,{variant:"secondary",onClick:r,style:{marginBottom:"1em"}},(0,c.__)("Add success container","generateblocks-pro")),(0,t.createElement)(u.TextareaControl,{label:(0,c.__)("Error message","generateblocks-pro"),value:e.errorMessage||"",onChange:e=>o({errorMessage:e})}),(0,t.createElement)(u.TextControl,{label:(0,c.__)("Redirect URL","generateblocks-pro"),help:(0,c.__)("Redirect to this URL after a successful submission. Leave empty to show the success message instead.","generateblocks-pro"),value:e.redirectUrl||"",onChange:e=>o({redirectUrl:e}),type:"url",placeholder:"https://",__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}))}function le(){const{config:e,updateConfig:n}=K();return(0,t.createElement)(u.ToggleControl,{label:(0,c.__)("Store submissions","generateblocks-pro"),help:(0,c.__)("Off (default): nothing is stored — most private, but a failed delivery cant be recovered. On: recent submissions, including failed deliveries, are kept in the dashboard as a recovery safety net (older entries are auto-removed by retention).","generateblocks-pro"),checked:!!e.storeSubmissions,onChange:e=>n({storeSubmissions:e}),__nextHasNoMarginBottom:!0})}function ie(){const{config:e,updateConfig:n}=K(),{data:o,integrations:a,error:r,refresh:l}=G(),[i,m]=(0,s.useState)(!1),p=a.find((e=>"turnstile"===e.id)),g=!!o.turnstile?.connected,d=o.turnstile?.fields||{},b=p?.connection?.fields||[],f=o.turnstile?.publicFields?.site_key||"",_=!!b.length&&b.every((e=>k.includes(d[e.key]?.source))),h=b.map((e=>d[e.key]?.source)).find((e=>k.includes(e))),v=g&&!!f;return(0,t.createElement)(t.Fragment,null,(0,t.createElement)(u.ToggleControl,{label:(0,c.__)("Honeypot","generateblocks-pro"),help:(0,c.__)("A hidden field that catches automated bots.","generateblocks-pro"),checked:!0,disabled:!0,__nextHasNoMarginBottom:!0}),(0,t.createElement)(u.ToggleControl,{label:(0,c.__)("Token freshness","generateblocks-pro"),help:(0,c.__)("Rejects submissions with stale, missing, or tampered security tokens.","generateblocks-pro"),checked:!0,disabled:!0,__nextHasNoMarginBottom:!0}),(0,t.createElement)(u.ToggleControl,{label:(0,c.__)("Origin check","generateblocks-pro"),help:(0,c.__)("Blocks submissions from external sites.","generateblocks-pro"),checked:!0,disabled:!0,__nextHasNoMarginBottom:!0}),(0,t.createElement)(u.ToggleControl,{label:(0,c.__)("Turnstile","generateblocks-pro"),help:(0,c.__)("Cloudflare Turnstile CAPTCHA verification.","generateblocks-pro"),checked:!!e.useTurnstile,onChange:e=>n({useTurnstile:e}),__nextHasNoMarginBottom:!0}),e.useTurnstile&&r&&(0,t.createElement)(u.Notice,{status:"warning",isDismissible:!1},r),e.useTurnstile&&!v&&(0,t.createElement)(t.Fragment,null,(0,t.createElement)(u.Notice,{status:"warning",isDismissible:!1},(0,c.__)("Turnstile requires both a Site Key and a Secret Key. Until both are configured, submissions will continue without Turnstile verification.","generateblocks-pro")),(0,t.createElement)("div",{style:{marginTop:"8px"}},(0,t.createElement)(u.Button,{variant:"primary",size:"small",onClick:()=>m(!0),disabled:!p},(0,c.__)("Connect Turnstile","generateblocks-pro")))),e.useTurnstile&&v&&!_&&(0,t.createElement)("div",{style:{marginTop:"8px"}},(0,t.createElement)(u.Button,{variant:"secondary",size:"small",onClick:()=>m(!0),disabled:!p},(0,c.__)("Manage keys","generateblocks-pro"))),e.useTurnstile&&v&&_&&(0,t.createElement)(u.Notice,{status:"info",isDismissible:!1,style:{marginTop:"8px"}},(0,c.sprintf)(/* translators: %s: connection source label */ /* translators: %s: connection source label */
(0,c.__)("Keys configured via %s.","generateblocks-pro"),y(h))),i&&p&&(0,t.createElement)(E,{service:p,connectionState:o.turnstile||{},isConnected:v,onConnect:()=>l(),onDisconnect:()=>l(),onClose:()=>m(!1)}))}function se(){const{config:e,updateConfig:n}=K(),o=e.actions||[],a=o.includes("webhook");return(0,t.createElement)(t.Fragment,null,(0,t.createElement)(u.ToggleControl,{label:(0,c.__)("Send to webhook","generateblocks-pro"),help:(0,c.__)("POST submission data as JSON to an external URL (e.g. Zapier, Make, n8n).","generateblocks-pro"),checked:a,onChange:e=>{n(e?{actions:[...o,"webhook"]}:{actions:o.filter((e=>"webhook"!==e))})},__nextHasNoMarginBottom:!0}),a&&(0,t.createElement)(u.TextControl,{label:(0,c.__)("Webhook URL","generateblocks-pro"),value:(e.actionSettings||{}).webhook?.url||"",onChange:t=>n({actionSettings:{...e.actionSettings||{},webhook:{...(e.actionSettings||{}).webhook||{},url:t}}}),type:"url",placeholder:"https://",__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}))}const ce="gblocks_form",me="generateblocks-pro-form-editor/gb-form";function ue(){const e=function(){const{formType:e,hasEmail:t}=K();return{emailSignup:x===e||w===e,email:t}}();return(0,t.createElement)(t.Fragment,null,(0,t.createElement)(X,null),(0,t.createElement)(m,{title:(0,c.__)("Form Type","generateblocks-pro")},(0,t.createElement)(ee,null)),e.emailSignup&&(0,t.createElement)(m,{title:(0,c.__)("Email Signup","generateblocks-pro")},(0,t.createElement)(te,null)),e.email&&(0,t.createElement)(m,{title:(0,c.__)("Email Settings","generateblocks-pro")},(0,t.createElement)(oe,null)),(0,t.createElement)(m,{title:(0,c.__)("Confirmation Email","generateblocks-pro")},(0,t.createElement)(ae,null)),(0,t.createElement)(m,{title:(0,c.__)("Messages","generateblocks-pro")},(0,t.createElement)(re,null)),(0,t.createElement)(m,{title:(0,c.__)("Submission Storage","generateblocks-pro")},(0,t.createElement)(le,null)),(0,t.createElement)(m,{title:(0,c.__)("Spam Protection","generateblocks-pro")},(0,t.createElement)(ie,null)),(0,t.createElement)(m,{title:(0,c.__)("Webhook","generateblocks-pro")},(0,t.createElement)(se,null)))}a()((()=>{(0,n.getBlockType)("generateblocks-pro/form-render")&&(0,n.unregisterBlockType)("generateblocks-pro/form-render")})),(0,r.registerPlugin)("generateblocks-pro-form-editor",{render:function(){const e=(0,i.useSelect)((e=>e("core/editor").getCurrentPostType()),[]);return function(e){const t=(0,s.useRef)(!1),{toggleEditorPanelOpened:n}=(0,i.useDispatch)("core/editor"),{toggleEditorPanelOpened:o}=(0,i.useDispatch)("core/edit-post"),a=n||o,r=(0,i.useSelect)((e=>{const t=e("core/editor");return t?.isEditorPanelOpened?t.isEditorPanelOpened(me):e("core/edit-post")?.isEditorPanelOpened?.(me)}),[]);(0,s.useEffect)((()=>{t.current||ce===e&&(t.current=!0,!r&&a&&a(me))}),[e,r,a])}(e),ce!==e?null:(0,t.createElement)(l.PluginDocumentSettingPanel,{name:"gb-form",title:(0,c.__)("Form Settings","generateblocks-pro"),className:"gb-form-document-panel"},(0,t.createElement)(q,null,(0,t.createElement)(ue,null)))}})})();