@emailmaker/emailmaker 1.1.18 → 1.1.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/{emailmaker-core.18e2e08a.js → emailmaker-core.f6a81a2b.js} +1 -1
  2. package/emailmaker-esm.js +3 -3
  3. package/emailmaker.js +16 -10
  4. package/iframe/js/amp.BbapYQ7c.js +1 -0
  5. package/iframe/js/iframe-eblock.js +1 -1
  6. package/iframe/js/iframe.js +1 -1
  7. package/iframe/js/rules.CNqvmp_P.js +1 -1
  8. package/package.json +1 -1
  9. package/singlepage_headless_plugin.html +1 -1
  10. package/static/core/{1c0e987c.js → 18ba331f.js} +1 -1
  11. package/static/core/{83f8d1a4.js → 20f9532b.js} +1 -1
  12. package/static/core/{22a59378.js → 313b4001.js} +1 -1
  13. package/static/core/{84263298.js → 39c9310d.js} +1 -1
  14. package/static/core/{e865979e.js → 52228076.js} +1 -1
  15. package/static/core/{4829f3dc.js → 7efc3bcb.js} +1 -1
  16. package/static/core/{97c7d145.js → 7ff62923.js} +1 -1
  17. package/static/core/{a899caaf.js → 8202e0f8.js} +1 -1
  18. package/static/core/{da8f68e0.js → 873a79c1.js} +1 -1
  19. package/static/core/957ff2fc.js +834 -0
  20. package/static/core/{9a11e317.js → 9bc6d2d5.js} +1 -1
  21. package/static/core/b827e0bb.js +1 -0
  22. package/static/core/{82a963a8.js → ce528e2c.js} +6 -6
  23. package/static/core/{b7cabc9c.js → f99ffa93.js} +1 -1
  24. package/static/esm/{c4069a00.js → 6efa3ebe.js} +1 -1
  25. package/two_step_headless_plugin.html +1 -1
  26. package/vite/index.cjs +21 -3
  27. package/vite/index.js +21 -3
  28. package/webpack/index.cjs +21 -3
  29. package/webpack/index.js +21 -3
  30. package/iframe/js/amp.C-2gKk7c.js +0 -1
  31. package/static/core/2545db9f.js +0 -1
  32. package/static/core/cd98a657.js +0 -834
  33. /package/iframe/{iframe-eblock.18e2e08a.html → iframe-eblock.f6a81a2b.html} +0 -0
  34. /package/iframe/{iframe.18e2e08a.html → iframe.f6a81a2b.html} +0 -0
@@ -1,4 +1,4 @@
1
- __emailmaker__.define(`static/core/b7cabc9c.js`,[`require`,`exports`,`module`,`static/core/354bf8a9.js`,`static/core/68599f0c.js`,`static/core/4829f3dc.js`,`static/core/a899caaf.js`,`static/core/e865979e.js`],function(e,t,n){let r=e("./354bf8a9.js"),i=e("./4829f3dc.js"),a=e("./a899caaf.js"),o=e("./68599f0c.js"),s=e("./e865979e.js");var c=class{_plugins=new Map;_listeners=new Map;_getOrCreateEntry(e){let t=this._plugins.get(e);return t||(t={overrides:[]},this._plugins.set(e,t)),t}_applyOverrides(e,t){let n=this._plugins.get(e);if(n?.overrides)for(let e of n.overrides)t=e(t)||t;return t}_notifyListeners(e,t){let n=this._listeners.get(e);if(!n||n.length===0)return;for(let e of n)try{e.callback(t)}catch{}let r=n.filter(e=>!e.once);r.length>0?this._listeners.set(e,r):this._listeners.delete(e)}get(e){let t=this._plugins.get(e);if(t?.ctor)return this._applyOverrides(e,t.ctor)}async getAsync(e){let t=this._plugins.get(e);if(t?.ctor)return this._applyOverrides(e,t.ctor);if(t?.loading){let n=await t.loading;return this._applyOverrides(e,n)}if(t?.factory){let n=Promise.resolve(t.factory()).then(n=>(t.ctor=n,t.loading=void 0,this._notifyListeners(e,n),n));t.loading=n;let r=await n;return this._applyOverrides(e,r)}return new Promise(t=>{this.on(e,n=>t(this._applyOverrides(e,n)))})}add(e,t){let n=this._getOrCreateEntry(e);n.ctor=t,this._notifyListeners(e,t)}addAll(e){for(let t of Object.keys(e)){let n=e[t];n!==void 0&&this.add(t,n)}}addAsync(e,t){let n=this._getOrCreateEntry(e);return n.factory=t,{dispose:()=>{n.ctor||(n.factory=void 0)}}}has(e){let t=this._plugins.get(e);return!!(t?.ctor||t?.factory)}isLoaded(e){return!!this._plugins.get(e)?.ctor}override(e,t){let n=this._getOrCreateEntry(e);return n.overrides.push(t),{dispose:()=>{let e=n.overrides.indexOf(t);e>=0&&n.overrides.splice(e,1)}}}on(e,t){let n=this.get(e);n&&t(n);let r=this._listeners.get(e);r||(r=[],this._listeners.set(e,r));let i={callback:t,once:!1};return r.push(i),{dispose:()=>this._removeListener(e,t)}}once(e,t){let n=this.get(e);if(n)return t(n),{dispose:()=>{}};let r=this._listeners.get(e);r||(r=[],this._listeners.set(e,r));let i={callback:t,once:!0};return r.push(i),{dispose:()=>this._removeListener(e,t)}}off(e,t){this._removeListener(e,t)}_removeListener(e,t){let n=this._listeners.get(e);if(n){let r=n.findIndex(e=>e.callback===t);r>=0&&n.splice(r,1),n.length===0&&this._listeners.delete(e)}}keys(){return Array.from(this._plugins.keys())}forContext(){let e=this;return{add(t,n){e.add(t,n)}}}},l=class{resolveRegistry;constructor(e){this.resolveRegistry=e}target(){return this.resolveRegistry()}get(e){return this.target().get(e)}getAsync(e){return this.target().getAsync(e)}add(e,t){return this.target().add(e,t)}addAll(e){return this.target().addAll(e)}addAsync(e,t){return this.target().addAsync(e,t)}has(e){return this.target().has(e)}isLoaded(e){return this.target().isLoaded(e)}override(e,t){return this.target().override(e,t)}on(e,t){return this.target().on(e,t)}once(e,t){return this.target().once(e,t)}off(e,t){return this.target().off(e,t)}keys(){return this.target().keys()}forContext(){return this.target().forContext()}};function u(e){if(e instanceof DOMException&&e.name===`AbortError`)return e;let t=e===void 0?`The operation was aborted.`:typeof e==`string`?e:e instanceof Error?e.message:String(e);return new DOMException(t,`AbortError`)}function d(e){if(e?.aborted)throw u(e.reason)}function f(e,t){return t?(d(t),new Promise((n,r)=>{let i=()=>{a(),r(u(t.reason))},a=()=>{t.removeEventListener(`abort`,i)};t.addEventListener(`abort`,i),e.then(e=>{a(),n(e)},e=>{a(),r(e)})})):e}var p=e=>{let t={current:Promise.resolve(),state:e,decorate:(e,n)=>(n&&(e=e.bind(n)),function(...n){let r=t.current.then(()=>e(...n));return t.current=r.then(e=>{t.state=e},e=>{}),r})};return t};r.i(),o.n();var m=`Ai`,h=i.Si({reducerPath:`AiApi`,tagTypes:[m],baseQuery:i.pi({baseUrl:`https://app.emailmaker.ru/api/wp-json/save-file/v1/`}),endpoints:e=>({sendMessage:e.mutation({queryFn({body:e},t){return i.hi(t).aiGenerator.ai_create(e)}}),getDialog:e.query({queryFn({entity_id:e,connection:t=`chat`},n){return n.getState().configSlice?.config?.aiAssistentEnabled===!1?Promise.resolve({data:{documents:[],totalCount:0}}):i.hi(n).aiGenerator.ai_status_list({connection:t,entity_id:e})},providesTags:e=>e?.documents?[...e.documents.map(({id:e})=>({type:m,id:e})),{type:m,id:`LIST`}]:[{type:m,id:`LIST`}]})})}),{useSendMessageMutation:g,useGetDialogQuery:_,useLazyGetDialogQuery:v}=h,y=i.Si({reducerPath:`proxyApi`,tagTypes:[`Proxy`],baseQuery:i.pi({baseUrl:`https://app.emailmaker.ru/api/wp-json/cors-proxy/v1/get`}),endpoints:e=>({getFile:e.query({queryFn({url:e,tryFetch:t=!0,type:n},r){let a=i.hi(r),o=t?fetch(e):Promise.reject(),s=e=>{switch(n){case`json`:return e.json();case`text`:return e.text();default:return e.blob()}},c=e=>s(e).then(e=>({data:e}));return o.then(e=>c(e)).catch(()=>a.corsProxy.get_list({format:`blob`,extraQuery:{url:encodeURIComponent(e)}}))}})})}),{useGetFileQuery:b,useLazyGetFileQuery:x}=y,S=i.Si({reducerPath:`tokenApi`,baseQuery:i.pi({baseUrl:`https://app.emailmaker.ru/api/wp-json/jwt-auth/v1/`}),endpoints:e=>({tokenCreate:e.mutation({queryFn(e,t){return i.hi(t).jwtAuth.token_create({body:e,type:i.io.Json})}}),tokenValidate:e.mutation({queryFn(e,t){return i.hi(t).jwtAuth.token_validate_create({type:i.io.Json})}})})}),{useTokenCreateMutation:C,useTokenValidateMutation:w}=S,T=i.Si({reducerPath:`promoApi`,baseQuery:i.pi({baseUrl:`https://app.emailmaker.ru/api/wp-json/promo/v1/`}),endpoints:e=>({checkPromo:e.mutation({queryFn:({code:e,type:t},n)=>i.hi(n).promo.set_code_create({code:e,type:t})}),getPromoInfo:e.query({queryFn({code:e},t){return i.hi(t).promo.get_code_info_list({code:e})}})})}),{useCheckPromoMutation:E,useGetPromoInfoQuery:D}=T,O=`LOCALES`,k=i.Si({reducerPath:`localesApi`,tagTypes:[O],baseQuery:i.Di({baseUrl:`https://app.emailmaker.ru/api/wp-json/translations/v1`}),endpoints:e=>({getLocale:e.query({async queryFn({id:e},t){let n=i.hi(t);try{return await n.translations.get_translations3({id:e,file:`react_app`})}catch{return n.translations.get_translations3({id:`en_US`,file:`react_app`})}},providesTags:(e,t,n)=>[{type:O,id:n}]}),getLocales:e.query({queryFn:function(e,t){return i.hi(t).translations.get_translations2({file:`react_app`})},providesTags:(e,t,n)=>[{type:O,id:`react_app`}]})})}),{useGetLocalesQuery:A,useGetLocaleQuery:j,useLazyGetLocaleQuery:M,useLazyGetLocalesQuery:N}=k,P=i.Si({reducerPath:`saveFileApi`,tagTypes:[`Images`],baseQuery:i.pi({baseUrl:`https://app.emailmaker.ru/api/wp-json/save-file/v1/`}),endpoints:e=>({uploadImage:e.mutation({queryFn(e,t){return i.hi(t).saveFile.upload_create(e,{type:i.io.FormData})}}),sendTestEmail:e.mutation({queryFn(e,t){return i.hi(t).saveFile.send_email_create(e,{type:i.io.FormData})}}),sendLivePreview:e.mutation({queryFn(e,t){return i.hi(t).saveFile.get_link_create(e,{type:i.io.FormData})}}),sendShortLink:e.mutation({queryFn(e,t){return i.hi(t).saveFile.shortener_create(e,{type:i.io.FormData})}})})}),{useUploadImageMutation:ee,useSendTestEmailMutation:te,useSendLivePreviewMutation:ne,useSendShortLinkMutation:re}=P,ie=`EmailRaw`,ae=i.Si({reducerPath:`emailRawApi`,tagTypes:[ie],baseQuery:i.Di({baseUrl:`https://app.emailmaker.ru/api/wp-json/wp/v2/`}),endpoints:e=>({getEmailRaw:e.query({queryFn:function({emailId:e,secret_hash:t},n){return i.Ga(n).wp.email_detail({id:e},{extraQuery:{secret_hash:t}}).then(i.ci(i.li))},providesTags:(e,t,n)=>[{type:ie,id:n}]})})}),{useGetEmailRawQuery:oe}=ae,se=`Optimise`,F=`usage_limit_exceeded`,I=i.Si({reducerPath:`optimiseApi`,tagTypes:[se],baseQuery:async(e,t,n)=>{let r=await i.pi({baseUrl:`${i.hi(t).baseUrl.replaceAll(/[\\/]$/g,``)}/optimization/v1/validate`})(e,t,n);if(r.error){let e=r.error;if(typeof e.json==`function`)try{e=await e.json()}catch{e=await e}return{error:e}}return r},endpoints:e=>({editLinks:e.mutation({query:e=>({headers:{"Content-Type":`application/json`,Accept:`application/json`},method:`POST`,type:`application/json`,url:`/links`,body:e}),invalidatesTags:[se]}),editImages:e.mutation({query:e=>({headers:{"Content-Type":`application/json`,Accept:`application/json`},method:`POST`,type:`application/json`,url:`/images`,body:e})}),editSpam:e.mutation({query:e=>({headers:{"Content-Type":`application/json`,Accept:`application/json`},method:`POST`,type:`application/json`,url:`/spamassasin`,body:e})})})}),{useEditLinksMutation:ce,useEditImagesMutation:le,useEditSpamMutation:ue}=I,de=i.Si({reducerPath:`exportPngApi`,baseQuery:async(e,t,n)=>{try{let{notification:r,...a}=e,o=await i.Di({baseUrl:`https://racs.emcdn.ru/v3`})(a,t,n);if(o.error)throw Error();return o}catch(t){return(e?.notification).error(t),{error:t}}},endpoints:e=>({makeTemporaryMailForPng:e.mutation({query:({file:e,title:t,notification:n})=>{let r=new Blob([e],{type:`text/html`}),i=new FormData;return i.append(`file`,r,`base.html`),i.append(`contentType`,`text/html`),{url:`?resource=exportPngApi`,method:`POST`,body:i,notification:n}}}),deleteTemporaryMail:e.mutation({query:({id:e,notification:t})=>({url:`/${e}?resource=exportPngApi`,method:`DELETE`,notification:t})})})}),{useMakeTemporaryMailForPngMutation:L,useDeleteTemporaryMailMutation:fe}=de,pe=i.Si({reducerPath:`yandexAuthApi`,baseQuery:i.pi({baseUrl:`https://app.emailmaker.ru/api/wp-json/auth/v1/yandex/callback`}),endpoints:e=>({validateYandexToken:e.mutation({query:e=>({url:``,method:`POST`,body:e})})})}),{useValidateYandexTokenMutation:R}=pe,z=i.Si({reducerPath:`googleAuthApi`,baseQuery:i.pi({baseUrl:`https://app.emailmaker.ru/api//wp-json/auth/v1/google/callback`}),endpoints:e=>({validateGoogleToken:e.mutation({query:e=>({url:``,method:`POST`,body:e})})})}),{useValidateGoogleTokenMutation:B}=z,me=i.Si({reducerPath:`webHookApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({postDataByWebHook:e.mutation({query:({url:e,body:t})=>({url:`?proxy_url=${encodeURIComponent(e)}`,method:`POST`,body:t})})})}),{usePostDataByWebHookMutation:he}=me,V=i.Si({reducerPath:`unisenderApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({createEmailMessage:e.mutation({query:e=>{let t=new URLSearchParams;return t.append(`format`,`json`),Object.entries(e).forEach(([e,n])=>{t.append(e,String(n))}),{url:`?proxy_url=https%3A%2F%2Fapi.unisender.com%2Fru%2Fapi%2FcreateEmailMessage`,method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t.toString()}}})})}),{useCreateEmailMessageMutation:ge}=V,H=i.Si({reducerPath:`mailganerApi`,baseQuery:i.Di({baseUrl:`https://mailganer.com`}),endpoints:e=>({createMailing:e.mutation({query:e=>{let t=new URLSearchParams;return t.append(`api_key`,e.api_key),t.append(`name`,e.name),t.append(`html-content`,e.html_content),e.theme&&t.append(`theme`,e.theme),e.from_name&&t.append(`from_name`,e.from_name),e.from_email&&t.append(`from_email`,e.from_email),e.segment_id&&t.append(`segment_id`,String(e.segment_id)),e.utm_campaign&&t.append(`utm_campaign`,e.utm_campaign),e.utm_source&&t.append(`utm_source`,e.utm_source),e.utm_medium&&t.append(`utm_medium`,e.utm_medium),{url:`/api/v1/mailing/create/`,method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t.toString()}}})})}),{useCreateMailingMutation:U}=H,W=i.Si({reducerPath:`sendsayApi`,baseQuery:i.Di({baseUrl:`https://api.sendsay.ru`}),endpoints:e=>({createDraft:e.mutation({query:e=>{let t={action:`issue.draft.set`,apikey:e.api_key,return_fresh_obj:1,obj:{name:e.name,letter:{subject:e.subject,"from.name":e.from_name||void 0,"from.email":e.from_email||void 0,message:{html:e.html_content}}}};return{url:`/general/api/v100/json/${e.login.split(`/`).map(e=>encodeURIComponent(e)).join(`/`)}`,method:`POST`,headers:{"Content-Type":`application/json`},body:t}}})})}),{useCreateDraftMutation:G}=W,K=i.Si({reducerPath:`altcraftApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({addTemplate:e.mutation({query:e=>{let t=`${e.api_url}/api/v1.1/templates/add`,n={token:e.api_key,name:e.name,channels:[{sid:`email`,fields:{html:e.html_content,text:``,subject:e.subject||e.name,from_email:e.from_email||``,from_name:e.from_name||``,replyto_email:``,replyto_name:``,is_not_inline:!0}}],is_draft:e.is_draft??!1};return{url:`?proxy_url=${encodeURIComponent(t)}`,method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)}}})})}),{useAddTemplateMutation:q}=K,_e=e=>e.replace(/<style[^>]*>[\s\S]*?<\/style>/gi,``).replace(/<script[^>]*>[\s\S]*?<\/script>/gi,``).replace(/<[^>]+>/g,` `).replace(/&nbsp;/g,` `).replace(/&amp;/g,`&`).replace(/&lt;/g,`<`).replace(/&gt;/g,`>`).replace(/&quot;/g,`"`).replace(/\s+/g,` `).trim(),ve=i.Si({reducerPath:`enkodApi`,baseQuery:i.Di({baseUrl:`https://api.enkod.ru`}),endpoints:e=>({createMessage:e.mutation({query:e=>{let t=_e(e.html_content)||e.subject,n={message:{subject:e.subject,fromEmail:e.sender_email||``,fromName:e.sender_name||``,html:e.html_content,plainText:t},isDraft:!0};return{url:`/v1/message/onetime/`,method:`POST`,headers:{"Content-Type":`application/json`,Apikey:e.api_key},body:n}}})})}),{useCreateMessageMutation:J}=ve,ye=e=>{let t=e.split(`-`);return t.length>1?t[1]:`us1`},be=e=>`https://${ye(e)}.api.mailchimp.com/3.0`,Y=i.Si({reducerPath:`mailchimpApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i=be(e.api_key),a=btoa(`anystring:${e.api_key}`),o={type:`regular`,recipients:{list_id:e.list_id},settings:{subject_line:e.subject,from_name:e.from_name,reply_to:e.from_email}},s=await r({url:`?proxy_url=${encodeURIComponent(`${i}/campaigns`)}`,method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Basic ${a}`},body:JSON.stringify(o)});if(s.error){let e=s.error,t=e?.data?.detail||e?.error||String(s.error),n=e?.data?.errors;return{error:{status:`CUSTOM_ERROR`,error:n?.length?n.map(e=>e.detail||e.title).join(`; `):t}}}let c=s.data;if(!c?.id)return{error:{status:`CUSTOM_ERROR`,error:s.data?.errors?.map(e=>e.detail||e.title).join(`; `)||`Failed to create campaign`}};let l={html:e.html},u=await r({url:`?proxy_url=${encodeURIComponent(`${i}/campaigns/${c.id}/content`)}`,method:`PUT`,headers:{"Content-Type":`application/json`,Authorization:`Basic ${a}`},body:JSON.stringify(l)});if(u.error){let e=u.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.detail||e?.error||String(u.error)}}}return{data:{id:c.id,status:c.status,web_id:c.web_id}}}})})}),{useCreateCampaignMutation:X}=Y,xe=`https://a.klaviyo.com/api`,Se=`2025-04-15`,Ce=e=>({"Content-Type":`application/json`,Accept:`application/json`,Authorization:`Klaviyo-API-Key ${e}`,revision:Se}),we=i.Si({reducerPath:`klaviyoApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i=Ce(e.api_key),a={data:{type:`template`,attributes:{name:`Email ${Date.now()}`,editor_type:`CODE`,html:e.html}}},o=await r({url:`?proxy_url=${encodeURIComponent(`${xe}/templates`)}`,method:`POST`,headers:i,body:JSON.stringify(a)});if(o.error){let e=o.error,t=e?.data?.errors,n=e?.data?.detail;return{error:{status:`CUSTOM_ERROR`,error:t?.length?t.map(e=>e.detail||e.status).join(`; `):n||e?.error||String(o.error)}}}let s=o.data?.data?.id;if(!s)return{error:{status:`CUSTOM_ERROR`,error:`Failed to create template`}};let c={data:{type:`campaign`,attributes:{name:`Campaign ${Date.now()}`,audiences:{included:[e.list_id],excluded:[]},send_strategy:{method:`immediate`},"campaign-messages":{data:[{type:`campaign-message`,attributes:{definition:{channel:`email`,label:e.subject,content:{subject:e.subject,from_email:e.from_email,from_label:e.from_name,reply_to_email:e.from_email}}}}]}}}},l=await r({url:`?proxy_url=${encodeURIComponent(`${xe}/campaigns`)}`,method:`POST`,headers:i,body:JSON.stringify(c)});if(l.error){let e=l.error,t=e?.data?.errors,n=e?.data?.detail;return{error:{status:`CUSTOM_ERROR`,error:t?.length?t.map(e=>e.detail||e.status).join(`; `):n||e?.error||String(l.error)}}}let u=l.data,d=u?.data?.relationships?.[`campaign-messages`]?.data?.[0]?.id,f=u?.data?.id;if(!d)return{error:{status:`CUSTOM_ERROR`,error:`Failed to get campaign message from campaign`}};let p={data:{type:`campaign-message`,id:d,relationships:{template:{data:{type:`template`,id:s}}}}},m=await r({url:`?proxy_url=${encodeURIComponent(`${xe}/campaign-message-assign-template`)}`,method:`POST`,headers:i,body:JSON.stringify(p)});if(m.error){let e=m.error,t=e?.data?.errors,n=e?.data?.detail;return{error:{status:`CUSTOM_ERROR`,error:t?.length?t.map(e=>e.detail||e.status).join(`; `):n||e?.error||String(m.error)}}}return{data:{id:f,campaign_message_id:d}}}})})}),{useCreateCampaignMutation:Te}=we,Ee=`https://api.hubapi.com`,De=e=>({"Content-Type":`application/json`,Authorization:`Bearer ${e}`}),Oe=i.Si({reducerPath:`hubspotApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({createEmail:e.mutation({queryFn:async(e,t,n,r)=>{let i=De(e.api_key),a={name:e.name,subject:e.subject,from:{fromName:e.from_name,replyTo:e.from_email},content:{templatePath:`@hubspot/email/dnd/plain_text.html`,widgets:{"module-0-1-1":{body:{html:e.html,path:`@hubspot/rich_text`,schema_version:2},child_css:{},css:{},id:`module-0-1-1`,name:`module-0-1-1`,order:2,styles:{},type:`module`},"module-1-1-1":{body:{align:`center`,path:`@hubspot/email_footer`,schema_version:2,unsubscribe_link_type:`both`},child_css:{},css:{},id:`module-1-1-1`,name:`module-1-1-1`,order:3,styles:{},type:`module`}}}},o=await r({url:`?proxy_url=${encodeURIComponent(`${Ee}/marketing/v3/emails/`)}`,method:`POST`,headers:i,body:JSON.stringify(a)});if(o.error){let e=o.error,t=e?.data?.errors,n=e?.data?.message;return{error:{status:`CUSTOM_ERROR`,error:t?.length?t.map(e=>e.message||e.errorType).join(`; `):n||e?.error||String(o.error)}}}let s=o.data;return s?.id?{data:{id:s.id}}:{error:{status:`CUSTOM_ERROR`,error:o.data?.errors?.map(e=>e.message||e.errorType).join(`; `)||`Failed to create email`}}}})})}),{useCreateEmailMutation:ke}=Oe,Ae=i.Si({reducerPath:`salesforceMcApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({createEmail:e.mutation({queryFn:async(e,t,n,r)=>{let i=`https://${e.subdomain}.auth.marketingcloudapis.com/v2/token`,a=await r({url:`?proxy_url=${encodeURIComponent(i)}`,method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({grant_type:`client_credentials`,client_id:e.client_id,client_secret:e.client_secret})});if(a.error){let e=a.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.error_description||e?.data?.error||e?.error||String(a.error)}}}let o=a.data,s=o?.access_token,c=o?.rest_instance_url;if(!s||!c)return{error:{status:`CUSTOM_ERROR`,error:o?.error_description||o?.error||`Failed to get access token`}};let l={name:e.name,assetType:{id:208,name:`htmlemail`},views:{html:{content:e.html},text:{},subjectline:{content:e.subject},preheader:{}},data:{email:{options:{characterEncoding:`utf-8`}}}},u=await r({url:`?proxy_url=${encodeURIComponent(`${c.replace(/\/$/,``)}/asset/v1/content/assets`)}`,method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${s}`},body:JSON.stringify(l)});if(u.error){let e=u.error,t=e?.data?.errors,n=e?.data?.message;return{error:{status:`CUSTOM_ERROR`,error:t?.length?t.map(e=>e.message||e.documentation).join(`; `):n||e?.error||String(u.error)}}}let d=u.data;return d?.id?{data:{id:d.id}}:{error:{status:`CUSTOM_ERROR`,error:u.data?.errors?.map(e=>e.message).join(`; `)||`Failed to create email`}}}})})}),{useCreateEmailMutation:je}=Ae,Me=e=>e.replace(/\/$/,``),Ne=e=>e.replace(/<[^>]*>/g,` `).replace(/\s+/g,` `).trim()||` `,Pe=i.Si({reducerPath:`activecampaignApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i=Me(e.api_url),a=e.api_key,o={"Content-Type":`application/json`,"Api-Token":a},s=await r({url:`?proxy_url=${encodeURIComponent(`${i}/api/3/addresses`)}`,method:`GET`,headers:{"Api-Token":a}});if(s.error)return{error:{status:`CUSTOM_ERROR`,error:`Failed to load mailing addresses. Check your API URL and Key.`}};let c=s.data?.addresses??[],l=c.find(e=>e.isDefault===`1`)??c[0];if(!l?.id)return{error:{status:`CUSTOM_ERROR`,error:`NO_MAILING_ADDRESS`}};let u={message:{name:e.name,fromname:e.from_name,fromemail:e.from_email,email:e.from_email,reply2:e.from_email,subject:e.subject,html:e.html,text:Ne(e.html),preheader_text:``,format:`mime`}},d=await r({url:`?proxy_url=${encodeURIComponent(`${i}/api/3/messages`)}`,method:`POST`,headers:o,body:JSON.stringify(u)});if(d.error){let e=d.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.message||e?.error||`Failed to create message.`}}}let f=d.data?.message?.id;if(!f)return{error:{status:`CUSTOM_ERROR`,error:`Message created but no ID returned.`}};let p=`${i}/admin/api.php?api_action=campaign_create&api_output=json`,m=new URLSearchParams;m.append(`type`,`single`),m.append(`name`,e.name),m.append(`sdate`,`2099-12-31 12:00:00`),m.append(`status`,`0`),m.append(`public`,`1`),m.append(`trackreads`,`1`),m.append(`tracklinks`,`all`),m.append(`htmlunsub`,`1`),m.append(`textunsub`,`1`),m.append(`addressid`,String(l.id)),m.append(`p[${e.list_id}]`,e.list_id),m.append(`m[${f}]`,`100`);let h=await r({url:`?proxy_url=${encodeURIComponent(p)}`,method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,"Api-Token":a},body:m.toString()});if(h.error){let e=h.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.result_message||e?.error||`Message created, but campaign creation failed.`}}}let g=h.data;if(Number(g?.result_code)===0)return{error:{status:`CUSTOM_ERROR`,error:g?.result_message||`Campaign creation failed (v1 API).`}};let _=g?.id;return _?{data:{campaignId:String(_)}}:{error:{status:`CUSTOM_ERROR`,error:g?.result_message||`Campaign created but no ID returned.`}}}})})}),{useCreateCampaignMutation:Fe}=Pe,Ie=`https://api.brevo.com/v3`,Le=i.Si({reducerPath:`brevoApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i={name:e.name,subject:e.subject,sender:{name:e.from_name,email:e.from_email},htmlContent:e.html,recipients:{listIds:[e.list_id]}},a=await r({url:`?proxy_url=${encodeURIComponent(`${Ie}/emailCampaigns`)}`,method:`POST`,headers:{"Content-Type":`application/json`,"api-key":e.api_key},body:JSON.stringify(i)});if(a.error){let e=a.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.message||e?.data?.code||e?.error||String(a.error)}}}let o=a.data;return o?.id?{data:{id:o.id}}:{error:{status:`CUSTOM_ERROR`,error:a.data?.message||`Failed to create campaign`}}}})})}),{useCreateCampaignMutation:Re}=Le,ze=`https://api.createsend.com/api/v3.3`,Be=e=>`Basic ${btoa(`${e}:x`)}`,Ve=i.Si({reducerPath:`campaignMonitorApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i={Name:e.name,Subject:e.subject,FromName:e.from_name,FromEmail:e.from_email,ReplyTo:e.from_email,HtmlUrl:e.html_url,ListIDs:[e.list_id],InlineCss:!0},a=await r({url:`?proxy_url=${encodeURIComponent(`${ze}/campaigns/${e.client_id}.json`)}`,method:`POST`,headers:{"Content-Type":`application/json`,Authorization:Be(e.api_key)},body:JSON.stringify(i)});if(a.error){let e=a.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.Message||e?.error||String(a.error)}}}let o=a.data,s=typeof o==`string`?o:o?.id;return!s||typeof s!=`string`?{error:{status:`CUSTOM_ERROR`,error:o?.Message||`Failed to create campaign`}}:{data:{id:s}}}})})}),{useCreateCampaignMutation:He}=Ve,Ue=`https://api.cc.email/v3`,We=e=>e.includes(`[[trackingImage]]`)?e:e.replace(/<body([^>]*)>/i,`<body$1>[[trackingImage]]`),Ge=i.Si({reducerPath:`constantContactApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i=We(e.html),a={name:e.name,email_campaign_activities:[{format_type:5,from_email:e.from_email,reply_to_email:e.from_email,from_name:e.from_name,subject:e.subject,html_content:i}]},o=await r({url:`?proxy_url=${encodeURIComponent(`${Ue}/emails`)}`,method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${e.access_token}`},body:JSON.stringify(a)});if(o.error){let e=o.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.error_message||e?.data?.error_key||e?.error||String(o.error)}}}let s=o.data,c=s?.campaign_activities?.find(e=>e.role===`primary_email`)?.campaign_activity_id,l=s?.campaign_id;if(!c||!l)return{error:{status:`CUSTOM_ERROR`,error:`Failed to create campaign`}};let u={campaign_activity_id:c,campaign_id:l,role:`primary_email`,contact_list_ids:[e.list_id],segment_ids:[],current_status:`DRAFT`,format_type:5,from_email:e.from_email,from_name:e.from_name,reply_to_email:e.from_email,subject:e.subject,html_content:i},d=await r({url:`?proxy_url=${encodeURIComponent(`${Ue}/emails/activities/${c}`)}`,method:`PUT`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${e.access_token}`},body:JSON.stringify(u)});if(d.error){let e=d.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.error_message||e?.data?.error_key||e?.error||String(d.error)}}}return{data:{campaign_id:l}}}})})}),{useCreateCampaignMutation:Ke}=Ge,qe=`https://api.getresponse.com/v3`,Je=e=>`api-key ${e}`,Ye=i.Si({reducerPath:`getresponseApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({createNewsletter:e.mutation({queryFn:async(e,t,n,r)=>{let i=e.html.replace(/<[^>]*>/g,` `).replace(/\s+/g,` `).trim(),a={name:e.name,type:`draft`,subject:e.subject,fromField:{fromFieldId:e.from_field_id},replyTo:{fromFieldId:e.from_field_id},campaign:{campaignId:e.campaign_id},content:{html:e.html,plain:i||`Newsletter`},flags:[`openrate`,`clicktrack`],sendSettings:{selectedCampaigns:[e.campaign_id]}},o=await r({url:`?proxy_url=${encodeURIComponent(`${qe}/newsletters`)}`,method:`POST`,headers:{"Content-Type":`application/json`,"X-Auth-Token":Je(e.api_key)},body:JSON.stringify(a)});if(o.error){let e=o.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.message||e?.data?.code||e?.error||String(o.error)}}}let s=o.data;return s?.newsletterId?{data:{newsletterId:s.newsletterId}}:{error:{status:`CUSTOM_ERROR`,error:o.data?.message||`Failed to create newsletter`}}}})})}),{useCreateNewsletterMutation:Xe}=Ye,Ze=e=>`https://${e||`r1`}-api.dotdigital.com/v2`,Qe=(e,t)=>`Basic ${btoa(`${e}:${t}`)}`,$e=e=>e&&typeof e==`object`&&`data`in e&&e.data!==void 0?e.data:e,et=e=>e.trim().toLowerCase(),tt=i.Si({reducerPath:`dotdigitalApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i=e.html.replace(/<[^>]*>/g,` `).replace(/\s+/g,` `).trim(),a=Ze(e.region),o={"Content-Type":`application/json`,Authorization:Qe(e.username,e.password)},s=await r({url:`?proxy_url=${encodeURIComponent(`${a}/custom-from-addresses`)}`,method:`GET`,headers:{Authorization:Qe(e.username,e.password)}}),c=[];if(!s.error){let e=$e(s.data);Array.isArray(e)?c=e:e&&typeof e==`object`&&Array.isArray(e.items)&&(c=e.items)}let l=et(e.from_email),u=c.find(e=>e.email&&et(e.email)===l),d={name:e.name,subject:e.subject,fromName:e.from_name,htmlContent:e.html,plainTextContent:i||`Newsletter`},f=!u?.id;u?.id!=null&&(d.fromAddress={id:u.id});let p=await r({url:`?proxy_url=${encodeURIComponent(`${a}/campaigns`)}`,method:`POST`,headers:o,body:JSON.stringify(d)});if(p.error){let e=p.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.message||e?.error||String(p.error)}}}let m=$e(p.data);return m?.id?{data:{id:m.id,usedAccountDefaultFromAddress:f}}:{error:{status:`CUSTOM_ERROR`,error:p.data?.message||m?.message||`Failed to create campaign`}}}})})}),{useCreateCampaignMutation:nt}=tt,rt=`https://app.bentonow.com/api/v1`,it=(e,t)=>`Basic ${btoa(`${e}:${t}`)}`,at=i.Si({reducerPath:`bentoApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({createBroadcast:e.mutation({queryFn:async(e,t,n,r)=>{let i={broadcasts:[{name:e.name,subject:e.subject,content:e.html,type:`raw`,from:{email:e.from_email,name:e.from_name},inclusive_tags:e.inclusive_tags||`subscribers`,exclusive_tags:``,segment_id:e.segment_id||``,batch_size_per_hour:500,approved:!1}]},a=`${rt}/batch/broadcasts?site_uuid=${encodeURIComponent(e.site_uuid)}`,o=await r({url:`?proxy_url=${encodeURIComponent(a)}`,method:`POST`,headers:{"Content-Type":`application/json`,Authorization:it(e.publishable_key,e.secret_key),"User-Agent":`EmailMaker/1.0`},body:JSON.stringify(i)});if(o.error){let e=o.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.message||e?.error||String(o.error)}}}return{data:{count:o.data?.count??1}}}})})}),{useCreateBroadcastMutation:ot}=at,st=a.w(),ct=i.Si({reducerPath:`AiApiGenerator`,baseQuery:async(e,t,n)=>{let r=await i.pi({baseUrl:i.hi(t).baseUrl.replaceAll(/[\\/]$/g,``)})(e,t,n);if(r.error){let e=r.error;if(typeof e.json==`function`)try{e=await e.json()}catch{e=await e}return{error:e}}return r},endpoints:e=>({generateIdForTask:e.mutation({queryFn(e,t){return i.mi(t).tasks.tasksControllerCreateTask(e).then(e=>e)}}),clearAiChat:e.query({queryFn(e,t){return i.hi(t).aiGenerator.clear_history_list(e).then(e=>e)}}),getGeneratedContent:e.query({queryFn:e=>({data:[]}),async onCacheEntryAdded({id:e,setError:t},n){let{updateCachedData:r,cacheEntryRemoved:o}=n,s=i.hi(n).baseUrl.indexOf(`emailmaker`)>=0?i.Pa.maker:i.Pa.blocks,c=i.ya.isPlugin?await i.vi.getInstance(n,a.D):a.T.get(i.Fi.em_token),l=c?{Authorization:`Bearer ${c}`}:{},u=new st.EventSourcePolyfill(`${s}/tasks/${e}`,{headers:l});u.onmessage=e=>{let t=JSON.parse(e.data);r(e=>{e.push(t)})},u.onerror=e=>{t(`Error connecting to EventSource`),u.close()},await o,u.close()}}),getAiGenerateStatus:e.mutation({query:e=>({url:`/constructor/v1/ai-save-task`,method:`POST`,body:e})})})}),{useGenerateIdForTaskMutation:lt,useGetGeneratedContentQuery:ut,useLazyClearAiChatQuery:dt,useLazyGetGeneratedContentQuery:ft,useGetAiGenerateStatusMutation:pt}=ct,mt=async e=>{let t=await e.text(),n=t;try{n=JSON.parse(t)}catch{n=t}return n},ht=(e,t,n)=>{if(!e)throw Error(`Set ${n}`);return{url:`?proxy_url=${encodeURIComponent(e)}`,method:`POST`,headers:{"Content-Type":`application/json`},body:t,responseHandler:mt}},gt=(e,t,n)=>{if(!e)throw Error(`Set ${n}`);return{url:`?proxy_url=${encodeURIComponent(e)}`,method:`POST`,body:t,responseHandler:mt}},_t=i.Si({reducerPath:`requestPlaneApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({getRequest:e.mutation({query:e=>gt(`https://webhook.latenode.com/5868/prod/9e7a6445-2244-4dd5-bda4-5bca82997bf8`,e,`REACT_APP_PIPEDREAM_REQUEST_PLANE_SRC`)}),getInvoiceRequest:e.mutation({query:e=>ht(`https://webhook.latenode.com/5868/prod/6e2d04a8-6cd9-4ec3-b884-ee2fd67267a3`,e,`REACT_APP_REQUEST_PLANE_WEBHOOK_URL`)})})}),{useGetRequestMutation:vt,useGetInvoiceRequestMutation:yt}=_t,bt=i.Si({reducerPath:`htmlToPdfPlusApi`,baseQuery:async(e,t,n)=>{try{let{notification:r,...a}=e,o=await i.Di({baseUrl:`https://html2pdf.emcdn.ru/convert/html-to-pdf`})(a,t,n);if(o.error)throw Error();return o}catch(t){return(e?.notification).error(t),{error:t}}},endpoints:e=>({generateHtmlToPdf:e.mutation({query:({htmlContent:e,notification:t})=>({url:``,method:`POST`,body:e,notification:t,responseHandler:e=>e.blob()})})})}),{useGenerateHtmlToPdfMutation:xt}=bt;function St({title:e,content:t,acf:{seen:n,type:r,event:a,data:o},...s}){return{...s,seen:n,type:r,event:a,data:o,title:i.di(e),content:t}}var Ct=`Notifications`,wt=i.Si({reducerPath:`notificationsApi`,tagTypes:[Ct],baseQuery:i.pi({baseUrl:`https://app.emailmaker.ru/api/wp-json/wp/v2/`}),endpoints:e=>({getNotifications:e.query({queryFn(e,t){return i.hi(t).wp.notification_list({author:[Number(e)]}).then(i.si(St))},providesTags:e=>e?[...e.map(({id:e})=>({type:Ct,id:e})),{type:Ct,id:`LIST`}]:[{type:Ct,id:`LIST`}]}),notificationShown:e.mutation({queryFn({id:e,datetime:t},n){return i.hi(n).wp.notification_create2({id:e},{},{type:i.io.Json,extraQuery:{"acf[seen]":t}}).then(i.ci(St))},invalidatesTags:[{type:Ct,id:`LIST`}]})})}),{useGetNotificationsQuery:Tt,useNotificationShownMutation:Et}=wt,Dt=i.Si({reducerPath:`getCheckoutUrlApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({GetCheckoutUrl:e.mutation({query:e=>({url:`?proxy_url=${encodeURIComponent(o.t.env.REACT_APP_PIPEDREAM_GET_CHECKOUT_URL)}`,method:`POST`,body:e})})})}),{useGetCheckoutUrlMutation:Ot}=Dt,kt=i.Si({reducerPath:`recoverPasswordApi`,baseQuery:i.Di({baseUrl:`https://app.emailmaker.ru/api/wp-json/bdpwr/v1/`}),endpoints:e=>({resetPassword:e.mutation({queryFn(e,t){return i.Ga(t).bdpwr.reset_password_create({body:e,type:i.io.Json})}}),setPassword:e.mutation({queryFn(e,t){return i.Ga(t).bdpwr.set_password_create({body:e,type:i.io.Json})}}),validateRecoverPasswordCode:e.mutation({queryFn(e,t){return i.Ga(t).bdpwr.validate_code_create({body:e,type:i.io.Json})}})})}),{useResetPasswordMutation:At,useSetPasswordMutation:jt,useValidateRecoverPasswordCodeMutation:Mt}=kt,Nt=i.Si({reducerPath:`addUserToProjectApi`,baseQuery:i.pi({baseUrl:`https://app.emailmaker.ru/api/wp-json/user_to_project/v1/add_user`}),endpoints:e=>({addUserToProject:e.mutation({queryFn(e,t){return i.hi(t).userToProject.add_user_create(e,{type:i.io.FormData})}})})}),{useAddUserToProjectMutation:Pt}=Nt,Ft=i.Si({reducerPath:`confirmationMailApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`,responseHandler:e=>e.text()}),endpoints:e=>({getConfirmationMail:e.query({query:({userId:e,email:t})=>({url:`?proxy_url=${encodeURIComponent(`https://webhook.latenode.com/5868/prod/f0da9c0f-ed12-4d23-8a86-b86f7bf1a276?user_id=${e}&user_email=${t}`)}`})})})}),{useLazyGetConfirmationMailQuery:It}=Ft,Lt=i.Si({reducerPath:`recurrenceSubscriptionsOffApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({getCanselRecurrence:e.query({query:e=>({url:`?proxy_url=${encodeURIComponent(`https://webhook.latenode.com/5868/prod/07ae4159-132b-4a00-998b-bc47c20365ba?subscription_id=${e.sid}&user_id=${e.uid}`)}`})})})}),{useLazyGetCanselRecurrenceQuery:Rt,useGetCanselRecurrenceQuery:zt}=Lt,Bt=i.Si({reducerPath:`recurrenceSubscriptionsOnApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({getRecurrence:e.query({query:e=>({url:`?proxy_url=${encodeURIComponent(`https://webhook.latenode.com/5868/prod/e1dd37b1-c3d4-4441-b329-d6b3aa51bfe7?subscription_id=${e.sid}&user_id=${e.uid}`)}`})})})}),{useLazyGetRecurrenceQuery:Vt,useGetRecurrenceQuery:Ht}=Bt,Ut=`<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
1
+ __emailmaker__.define(`static/core/f99ffa93.js`,[`require`,`exports`,`module`,`static/core/354bf8a9.js`,`static/core/68599f0c.js`,`static/core/7efc3bcb.js`,`static/core/8202e0f8.js`,`static/core/52228076.js`],function(e,t,n){let r=e("./354bf8a9.js"),i=e("./7efc3bcb.js"),a=e("./8202e0f8.js"),o=e("./68599f0c.js"),s=e("./52228076.js");var c=class{_plugins=new Map;_listeners=new Map;_getOrCreateEntry(e){let t=this._plugins.get(e);return t||(t={overrides:[]},this._plugins.set(e,t)),t}_applyOverrides(e,t){let n=this._plugins.get(e);if(n?.overrides)for(let e of n.overrides)t=e(t)||t;return t}_notifyListeners(e,t){let n=this._listeners.get(e);if(!n||n.length===0)return;for(let e of n)try{e.callback(t)}catch{}let r=n.filter(e=>!e.once);r.length>0?this._listeners.set(e,r):this._listeners.delete(e)}get(e){let t=this._plugins.get(e);if(t?.ctor)return this._applyOverrides(e,t.ctor)}async getAsync(e){let t=this._plugins.get(e);if(t?.ctor)return this._applyOverrides(e,t.ctor);if(t?.loading){let n=await t.loading;return this._applyOverrides(e,n)}if(t?.factory){let n=Promise.resolve(t.factory()).then(n=>(t.ctor=n,t.loading=void 0,this._notifyListeners(e,n),n));t.loading=n;let r=await n;return this._applyOverrides(e,r)}return new Promise(t=>{this.on(e,n=>t(this._applyOverrides(e,n)))})}add(e,t){let n=this._getOrCreateEntry(e);n.ctor=t,this._notifyListeners(e,t)}addAll(e){for(let t of Object.keys(e)){let n=e[t];n!==void 0&&this.add(t,n)}}addAsync(e,t){let n=this._getOrCreateEntry(e);return n.factory=t,{dispose:()=>{n.ctor||(n.factory=void 0)}}}has(e){let t=this._plugins.get(e);return!!(t?.ctor||t?.factory)}isLoaded(e){return!!this._plugins.get(e)?.ctor}override(e,t){let n=this._getOrCreateEntry(e);return n.overrides.push(t),{dispose:()=>{let e=n.overrides.indexOf(t);e>=0&&n.overrides.splice(e,1)}}}on(e,t){let n=this.get(e);n&&t(n);let r=this._listeners.get(e);r||(r=[],this._listeners.set(e,r));let i={callback:t,once:!1};return r.push(i),{dispose:()=>this._removeListener(e,t)}}once(e,t){let n=this.get(e);if(n)return t(n),{dispose:()=>{}};let r=this._listeners.get(e);r||(r=[],this._listeners.set(e,r));let i={callback:t,once:!0};return r.push(i),{dispose:()=>this._removeListener(e,t)}}off(e,t){this._removeListener(e,t)}_removeListener(e,t){let n=this._listeners.get(e);if(n){let r=n.findIndex(e=>e.callback===t);r>=0&&n.splice(r,1),n.length===0&&this._listeners.delete(e)}}keys(){return Array.from(this._plugins.keys())}forContext(){let e=this;return{add(t,n){e.add(t,n)}}}},l=class{resolveRegistry;constructor(e){this.resolveRegistry=e}target(){return this.resolveRegistry()}get(e){return this.target().get(e)}getAsync(e){return this.target().getAsync(e)}add(e,t){return this.target().add(e,t)}addAll(e){return this.target().addAll(e)}addAsync(e,t){return this.target().addAsync(e,t)}has(e){return this.target().has(e)}isLoaded(e){return this.target().isLoaded(e)}override(e,t){return this.target().override(e,t)}on(e,t){return this.target().on(e,t)}once(e,t){return this.target().once(e,t)}off(e,t){return this.target().off(e,t)}keys(){return this.target().keys()}forContext(){return this.target().forContext()}};function u(e){if(e instanceof DOMException&&e.name===`AbortError`)return e;let t=e===void 0?`The operation was aborted.`:typeof e==`string`?e:e instanceof Error?e.message:String(e);return new DOMException(t,`AbortError`)}function d(e){if(e?.aborted)throw u(e.reason)}function f(e,t){return t?(d(t),new Promise((n,r)=>{let i=()=>{a(),r(u(t.reason))},a=()=>{t.removeEventListener(`abort`,i)};t.addEventListener(`abort`,i),e.then(e=>{a(),n(e)},e=>{a(),r(e)})})):e}var p=e=>{let t={current:Promise.resolve(),state:e,decorate:(e,n)=>(n&&(e=e.bind(n)),function(...n){let r=t.current.then(()=>e(...n));return t.current=r.then(e=>{t.state=e},e=>{}),r})};return t};r.i(),o.n();var m=`Ai`,h=i.Si({reducerPath:`AiApi`,tagTypes:[m],baseQuery:i.pi({baseUrl:`https://app.emailmaker.ru/api/wp-json/save-file/v1/`}),endpoints:e=>({sendMessage:e.mutation({queryFn({body:e},t){return i.hi(t).aiGenerator.ai_create(e)}}),getDialog:e.query({queryFn({entity_id:e,connection:t=`chat`},n){return n.getState().configSlice?.config?.aiAssistentEnabled===!1?Promise.resolve({data:{documents:[],totalCount:0}}):i.hi(n).aiGenerator.ai_status_list({connection:t,entity_id:e})},providesTags:e=>e?.documents?[...e.documents.map(({id:e})=>({type:m,id:e})),{type:m,id:`LIST`}]:[{type:m,id:`LIST`}]})})}),{useSendMessageMutation:g,useGetDialogQuery:_,useLazyGetDialogQuery:v}=h,y=i.Si({reducerPath:`proxyApi`,tagTypes:[`Proxy`],baseQuery:i.pi({baseUrl:`https://app.emailmaker.ru/api/wp-json/cors-proxy/v1/get`}),endpoints:e=>({getFile:e.query({queryFn({url:e,tryFetch:t=!0,type:n},r){let a=i.hi(r),o=t?fetch(e):Promise.reject(),s=e=>{switch(n){case`json`:return e.json();case`text`:return e.text();default:return e.blob()}},c=e=>s(e).then(e=>({data:e}));return o.then(e=>c(e)).catch(()=>a.corsProxy.get_list({format:`blob`,extraQuery:{url:encodeURIComponent(e)}}))}})})}),{useGetFileQuery:b,useLazyGetFileQuery:x}=y,S=i.Si({reducerPath:`tokenApi`,baseQuery:i.pi({baseUrl:`https://app.emailmaker.ru/api/wp-json/jwt-auth/v1/`}),endpoints:e=>({tokenCreate:e.mutation({queryFn(e,t){return i.hi(t).jwtAuth.token_create({body:e,type:i.io.Json})}}),tokenValidate:e.mutation({queryFn(e,t){return i.hi(t).jwtAuth.token_validate_create({type:i.io.Json})}})})}),{useTokenCreateMutation:C,useTokenValidateMutation:w}=S,T=i.Si({reducerPath:`promoApi`,baseQuery:i.pi({baseUrl:`https://app.emailmaker.ru/api/wp-json/promo/v1/`}),endpoints:e=>({checkPromo:e.mutation({queryFn:({code:e,type:t},n)=>i.hi(n).promo.set_code_create({code:e,type:t})}),getPromoInfo:e.query({queryFn({code:e},t){return i.hi(t).promo.get_code_info_list({code:e})}})})}),{useCheckPromoMutation:E,useGetPromoInfoQuery:D}=T,O=`LOCALES`,k=i.Si({reducerPath:`localesApi`,tagTypes:[O],baseQuery:i.Di({baseUrl:`https://app.emailmaker.ru/api/wp-json/translations/v1`}),endpoints:e=>({getLocale:e.query({async queryFn({id:e},t){let n=i.hi(t);try{return await n.translations.get_translations3({id:e,file:`react_app`})}catch{return n.translations.get_translations3({id:`en_US`,file:`react_app`})}},providesTags:(e,t,n)=>[{type:O,id:n}]}),getLocales:e.query({queryFn:function(e,t){return i.hi(t).translations.get_translations2({file:`react_app`})},providesTags:(e,t,n)=>[{type:O,id:`react_app`}]})})}),{useGetLocalesQuery:A,useGetLocaleQuery:j,useLazyGetLocaleQuery:M,useLazyGetLocalesQuery:N}=k,P=i.Si({reducerPath:`saveFileApi`,tagTypes:[`Images`],baseQuery:i.pi({baseUrl:`https://app.emailmaker.ru/api/wp-json/save-file/v1/`}),endpoints:e=>({uploadImage:e.mutation({queryFn(e,t){return i.hi(t).saveFile.upload_create(e,{type:i.io.FormData})}}),sendTestEmail:e.mutation({queryFn(e,t){return i.hi(t).saveFile.send_email_create(e,{type:i.io.FormData})}}),sendLivePreview:e.mutation({queryFn(e,t){return i.hi(t).saveFile.get_link_create(e,{type:i.io.FormData})}}),sendShortLink:e.mutation({queryFn(e,t){return i.hi(t).saveFile.shortener_create(e,{type:i.io.FormData})}})})}),{useUploadImageMutation:ee,useSendTestEmailMutation:te,useSendLivePreviewMutation:ne,useSendShortLinkMutation:re}=P,ie=`EmailRaw`,ae=i.Si({reducerPath:`emailRawApi`,tagTypes:[ie],baseQuery:i.Di({baseUrl:`https://app.emailmaker.ru/api/wp-json/wp/v2/`}),endpoints:e=>({getEmailRaw:e.query({queryFn:function({emailId:e,secret_hash:t},n){return i.Ga(n).wp.email_detail({id:e},{extraQuery:{secret_hash:t}}).then(i.ci(i.li))},providesTags:(e,t,n)=>[{type:ie,id:n}]})})}),{useGetEmailRawQuery:oe}=ae,se=`Optimise`,F=`usage_limit_exceeded`,I=i.Si({reducerPath:`optimiseApi`,tagTypes:[se],baseQuery:async(e,t,n)=>{let r=await i.pi({baseUrl:`${i.hi(t).baseUrl.replaceAll(/[\\/]$/g,``)}/optimization/v1/validate`})(e,t,n);if(r.error){let e=r.error;if(typeof e.json==`function`)try{e=await e.json()}catch{e=await e}return{error:e}}return r},endpoints:e=>({editLinks:e.mutation({query:e=>({headers:{"Content-Type":`application/json`,Accept:`application/json`},method:`POST`,type:`application/json`,url:`/links`,body:e}),invalidatesTags:[se]}),editImages:e.mutation({query:e=>({headers:{"Content-Type":`application/json`,Accept:`application/json`},method:`POST`,type:`application/json`,url:`/images`,body:e})}),editSpam:e.mutation({query:e=>({headers:{"Content-Type":`application/json`,Accept:`application/json`},method:`POST`,type:`application/json`,url:`/spamassasin`,body:e})})})}),{useEditLinksMutation:ce,useEditImagesMutation:le,useEditSpamMutation:ue}=I,de=i.Si({reducerPath:`exportPngApi`,baseQuery:async(e,t,n)=>{try{let{notification:r,...a}=e,o=await i.Di({baseUrl:`https://racs.emcdn.ru/v3`})(a,t,n);if(o.error)throw Error();return o}catch(t){return(e?.notification).error(t),{error:t}}},endpoints:e=>({makeTemporaryMailForPng:e.mutation({query:({file:e,title:t,notification:n})=>{let r=new Blob([e],{type:`text/html`}),i=new FormData;return i.append(`file`,r,`base.html`),i.append(`contentType`,`text/html`),{url:`?resource=exportPngApi`,method:`POST`,body:i,notification:n}}}),deleteTemporaryMail:e.mutation({query:({id:e,notification:t})=>({url:`/${e}?resource=exportPngApi`,method:`DELETE`,notification:t})})})}),{useMakeTemporaryMailForPngMutation:L,useDeleteTemporaryMailMutation:fe}=de,pe=i.Si({reducerPath:`yandexAuthApi`,baseQuery:i.pi({baseUrl:`https://app.emailmaker.ru/api/wp-json/auth/v1/yandex/callback`}),endpoints:e=>({validateYandexToken:e.mutation({query:e=>({url:``,method:`POST`,body:e})})})}),{useValidateYandexTokenMutation:R}=pe,z=i.Si({reducerPath:`googleAuthApi`,baseQuery:i.pi({baseUrl:`https://app.emailmaker.ru/api//wp-json/auth/v1/google/callback`}),endpoints:e=>({validateGoogleToken:e.mutation({query:e=>({url:``,method:`POST`,body:e})})})}),{useValidateGoogleTokenMutation:B}=z,me=i.Si({reducerPath:`webHookApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({postDataByWebHook:e.mutation({query:({url:e,body:t})=>({url:`?proxy_url=${encodeURIComponent(e)}`,method:`POST`,body:t})})})}),{usePostDataByWebHookMutation:he}=me,V=i.Si({reducerPath:`unisenderApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({createEmailMessage:e.mutation({query:e=>{let t=new URLSearchParams;return t.append(`format`,`json`),Object.entries(e).forEach(([e,n])=>{t.append(e,String(n))}),{url:`?proxy_url=https%3A%2F%2Fapi.unisender.com%2Fru%2Fapi%2FcreateEmailMessage`,method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t.toString()}}})})}),{useCreateEmailMessageMutation:ge}=V,H=i.Si({reducerPath:`mailganerApi`,baseQuery:i.Di({baseUrl:`https://mailganer.com`}),endpoints:e=>({createMailing:e.mutation({query:e=>{let t=new URLSearchParams;return t.append(`api_key`,e.api_key),t.append(`name`,e.name),t.append(`html-content`,e.html_content),e.theme&&t.append(`theme`,e.theme),e.from_name&&t.append(`from_name`,e.from_name),e.from_email&&t.append(`from_email`,e.from_email),e.segment_id&&t.append(`segment_id`,String(e.segment_id)),e.utm_campaign&&t.append(`utm_campaign`,e.utm_campaign),e.utm_source&&t.append(`utm_source`,e.utm_source),e.utm_medium&&t.append(`utm_medium`,e.utm_medium),{url:`/api/v1/mailing/create/`,method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t.toString()}}})})}),{useCreateMailingMutation:U}=H,W=i.Si({reducerPath:`sendsayApi`,baseQuery:i.Di({baseUrl:`https://api.sendsay.ru`}),endpoints:e=>({createDraft:e.mutation({query:e=>{let t={action:`issue.draft.set`,apikey:e.api_key,return_fresh_obj:1,obj:{name:e.name,letter:{subject:e.subject,"from.name":e.from_name||void 0,"from.email":e.from_email||void 0,message:{html:e.html_content}}}};return{url:`/general/api/v100/json/${e.login.split(`/`).map(e=>encodeURIComponent(e)).join(`/`)}`,method:`POST`,headers:{"Content-Type":`application/json`},body:t}}})})}),{useCreateDraftMutation:G}=W,K=i.Si({reducerPath:`altcraftApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({addTemplate:e.mutation({query:e=>{let t=`${e.api_url}/api/v1.1/templates/add`,n={token:e.api_key,name:e.name,channels:[{sid:`email`,fields:{html:e.html_content,text:``,subject:e.subject||e.name,from_email:e.from_email||``,from_name:e.from_name||``,replyto_email:``,replyto_name:``,is_not_inline:!0}}],is_draft:e.is_draft??!1};return{url:`?proxy_url=${encodeURIComponent(t)}`,method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)}}})})}),{useAddTemplateMutation:q}=K,_e=e=>e.replace(/<style[^>]*>[\s\S]*?<\/style>/gi,``).replace(/<script[^>]*>[\s\S]*?<\/script>/gi,``).replace(/<[^>]+>/g,` `).replace(/&nbsp;/g,` `).replace(/&amp;/g,`&`).replace(/&lt;/g,`<`).replace(/&gt;/g,`>`).replace(/&quot;/g,`"`).replace(/\s+/g,` `).trim(),ve=i.Si({reducerPath:`enkodApi`,baseQuery:i.Di({baseUrl:`https://api.enkod.ru`}),endpoints:e=>({createMessage:e.mutation({query:e=>{let t=_e(e.html_content)||e.subject,n={message:{subject:e.subject,fromEmail:e.sender_email||``,fromName:e.sender_name||``,html:e.html_content,plainText:t},isDraft:!0};return{url:`/v1/message/onetime/`,method:`POST`,headers:{"Content-Type":`application/json`,Apikey:e.api_key},body:n}}})})}),{useCreateMessageMutation:J}=ve,ye=e=>{let t=e.split(`-`);return t.length>1?t[1]:`us1`},be=e=>`https://${ye(e)}.api.mailchimp.com/3.0`,Y=i.Si({reducerPath:`mailchimpApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i=be(e.api_key),a=btoa(`anystring:${e.api_key}`),o={type:`regular`,recipients:{list_id:e.list_id},settings:{subject_line:e.subject,from_name:e.from_name,reply_to:e.from_email}},s=await r({url:`?proxy_url=${encodeURIComponent(`${i}/campaigns`)}`,method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Basic ${a}`},body:JSON.stringify(o)});if(s.error){let e=s.error,t=e?.data?.detail||e?.error||String(s.error),n=e?.data?.errors;return{error:{status:`CUSTOM_ERROR`,error:n?.length?n.map(e=>e.detail||e.title).join(`; `):t}}}let c=s.data;if(!c?.id)return{error:{status:`CUSTOM_ERROR`,error:s.data?.errors?.map(e=>e.detail||e.title).join(`; `)||`Failed to create campaign`}};let l={html:e.html},u=await r({url:`?proxy_url=${encodeURIComponent(`${i}/campaigns/${c.id}/content`)}`,method:`PUT`,headers:{"Content-Type":`application/json`,Authorization:`Basic ${a}`},body:JSON.stringify(l)});if(u.error){let e=u.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.detail||e?.error||String(u.error)}}}return{data:{id:c.id,status:c.status,web_id:c.web_id}}}})})}),{useCreateCampaignMutation:X}=Y,xe=`https://a.klaviyo.com/api`,Se=`2025-04-15`,Ce=e=>({"Content-Type":`application/json`,Accept:`application/json`,Authorization:`Klaviyo-API-Key ${e}`,revision:Se}),we=i.Si({reducerPath:`klaviyoApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i=Ce(e.api_key),a={data:{type:`template`,attributes:{name:`Email ${Date.now()}`,editor_type:`CODE`,html:e.html}}},o=await r({url:`?proxy_url=${encodeURIComponent(`${xe}/templates`)}`,method:`POST`,headers:i,body:JSON.stringify(a)});if(o.error){let e=o.error,t=e?.data?.errors,n=e?.data?.detail;return{error:{status:`CUSTOM_ERROR`,error:t?.length?t.map(e=>e.detail||e.status).join(`; `):n||e?.error||String(o.error)}}}let s=o.data?.data?.id;if(!s)return{error:{status:`CUSTOM_ERROR`,error:`Failed to create template`}};let c={data:{type:`campaign`,attributes:{name:`Campaign ${Date.now()}`,audiences:{included:[e.list_id],excluded:[]},send_strategy:{method:`immediate`},"campaign-messages":{data:[{type:`campaign-message`,attributes:{definition:{channel:`email`,label:e.subject,content:{subject:e.subject,from_email:e.from_email,from_label:e.from_name,reply_to_email:e.from_email}}}}]}}}},l=await r({url:`?proxy_url=${encodeURIComponent(`${xe}/campaigns`)}`,method:`POST`,headers:i,body:JSON.stringify(c)});if(l.error){let e=l.error,t=e?.data?.errors,n=e?.data?.detail;return{error:{status:`CUSTOM_ERROR`,error:t?.length?t.map(e=>e.detail||e.status).join(`; `):n||e?.error||String(l.error)}}}let u=l.data,d=u?.data?.relationships?.[`campaign-messages`]?.data?.[0]?.id,f=u?.data?.id;if(!d)return{error:{status:`CUSTOM_ERROR`,error:`Failed to get campaign message from campaign`}};let p={data:{type:`campaign-message`,id:d,relationships:{template:{data:{type:`template`,id:s}}}}},m=await r({url:`?proxy_url=${encodeURIComponent(`${xe}/campaign-message-assign-template`)}`,method:`POST`,headers:i,body:JSON.stringify(p)});if(m.error){let e=m.error,t=e?.data?.errors,n=e?.data?.detail;return{error:{status:`CUSTOM_ERROR`,error:t?.length?t.map(e=>e.detail||e.status).join(`; `):n||e?.error||String(m.error)}}}return{data:{id:f,campaign_message_id:d}}}})})}),{useCreateCampaignMutation:Te}=we,Ee=`https://api.hubapi.com`,De=e=>({"Content-Type":`application/json`,Authorization:`Bearer ${e}`}),Oe=i.Si({reducerPath:`hubspotApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({createEmail:e.mutation({queryFn:async(e,t,n,r)=>{let i=De(e.api_key),a={name:e.name,subject:e.subject,from:{fromName:e.from_name,replyTo:e.from_email},content:{templatePath:`@hubspot/email/dnd/plain_text.html`,widgets:{"module-0-1-1":{body:{html:e.html,path:`@hubspot/rich_text`,schema_version:2},child_css:{},css:{},id:`module-0-1-1`,name:`module-0-1-1`,order:2,styles:{},type:`module`},"module-1-1-1":{body:{align:`center`,path:`@hubspot/email_footer`,schema_version:2,unsubscribe_link_type:`both`},child_css:{},css:{},id:`module-1-1-1`,name:`module-1-1-1`,order:3,styles:{},type:`module`}}}},o=await r({url:`?proxy_url=${encodeURIComponent(`${Ee}/marketing/v3/emails/`)}`,method:`POST`,headers:i,body:JSON.stringify(a)});if(o.error){let e=o.error,t=e?.data?.errors,n=e?.data?.message;return{error:{status:`CUSTOM_ERROR`,error:t?.length?t.map(e=>e.message||e.errorType).join(`; `):n||e?.error||String(o.error)}}}let s=o.data;return s?.id?{data:{id:s.id}}:{error:{status:`CUSTOM_ERROR`,error:o.data?.errors?.map(e=>e.message||e.errorType).join(`; `)||`Failed to create email`}}}})})}),{useCreateEmailMutation:ke}=Oe,Ae=i.Si({reducerPath:`salesforceMcApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({createEmail:e.mutation({queryFn:async(e,t,n,r)=>{let i=`https://${e.subdomain}.auth.marketingcloudapis.com/v2/token`,a=await r({url:`?proxy_url=${encodeURIComponent(i)}`,method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({grant_type:`client_credentials`,client_id:e.client_id,client_secret:e.client_secret})});if(a.error){let e=a.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.error_description||e?.data?.error||e?.error||String(a.error)}}}let o=a.data,s=o?.access_token,c=o?.rest_instance_url;if(!s||!c)return{error:{status:`CUSTOM_ERROR`,error:o?.error_description||o?.error||`Failed to get access token`}};let l={name:e.name,assetType:{id:208,name:`htmlemail`},views:{html:{content:e.html},text:{},subjectline:{content:e.subject},preheader:{}},data:{email:{options:{characterEncoding:`utf-8`}}}},u=await r({url:`?proxy_url=${encodeURIComponent(`${c.replace(/\/$/,``)}/asset/v1/content/assets`)}`,method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${s}`},body:JSON.stringify(l)});if(u.error){let e=u.error,t=e?.data?.errors,n=e?.data?.message;return{error:{status:`CUSTOM_ERROR`,error:t?.length?t.map(e=>e.message||e.documentation).join(`; `):n||e?.error||String(u.error)}}}let d=u.data;return d?.id?{data:{id:d.id}}:{error:{status:`CUSTOM_ERROR`,error:u.data?.errors?.map(e=>e.message).join(`; `)||`Failed to create email`}}}})})}),{useCreateEmailMutation:je}=Ae,Me=e=>e.replace(/\/$/,``),Ne=e=>e.replace(/<[^>]*>/g,` `).replace(/\s+/g,` `).trim()||` `,Pe=i.Si({reducerPath:`activecampaignApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i=Me(e.api_url),a=e.api_key,o={"Content-Type":`application/json`,"Api-Token":a},s=await r({url:`?proxy_url=${encodeURIComponent(`${i}/api/3/addresses`)}`,method:`GET`,headers:{"Api-Token":a}});if(s.error)return{error:{status:`CUSTOM_ERROR`,error:`Failed to load mailing addresses. Check your API URL and Key.`}};let c=s.data?.addresses??[],l=c.find(e=>e.isDefault===`1`)??c[0];if(!l?.id)return{error:{status:`CUSTOM_ERROR`,error:`NO_MAILING_ADDRESS`}};let u={message:{name:e.name,fromname:e.from_name,fromemail:e.from_email,email:e.from_email,reply2:e.from_email,subject:e.subject,html:e.html,text:Ne(e.html),preheader_text:``,format:`mime`}},d=await r({url:`?proxy_url=${encodeURIComponent(`${i}/api/3/messages`)}`,method:`POST`,headers:o,body:JSON.stringify(u)});if(d.error){let e=d.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.message||e?.error||`Failed to create message.`}}}let f=d.data?.message?.id;if(!f)return{error:{status:`CUSTOM_ERROR`,error:`Message created but no ID returned.`}};let p=`${i}/admin/api.php?api_action=campaign_create&api_output=json`,m=new URLSearchParams;m.append(`type`,`single`),m.append(`name`,e.name),m.append(`sdate`,`2099-12-31 12:00:00`),m.append(`status`,`0`),m.append(`public`,`1`),m.append(`trackreads`,`1`),m.append(`tracklinks`,`all`),m.append(`htmlunsub`,`1`),m.append(`textunsub`,`1`),m.append(`addressid`,String(l.id)),m.append(`p[${e.list_id}]`,e.list_id),m.append(`m[${f}]`,`100`);let h=await r({url:`?proxy_url=${encodeURIComponent(p)}`,method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,"Api-Token":a},body:m.toString()});if(h.error){let e=h.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.result_message||e?.error||`Message created, but campaign creation failed.`}}}let g=h.data;if(Number(g?.result_code)===0)return{error:{status:`CUSTOM_ERROR`,error:g?.result_message||`Campaign creation failed (v1 API).`}};let _=g?.id;return _?{data:{campaignId:String(_)}}:{error:{status:`CUSTOM_ERROR`,error:g?.result_message||`Campaign created but no ID returned.`}}}})})}),{useCreateCampaignMutation:Fe}=Pe,Ie=`https://api.brevo.com/v3`,Le=i.Si({reducerPath:`brevoApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i={name:e.name,subject:e.subject,sender:{name:e.from_name,email:e.from_email},htmlContent:e.html,recipients:{listIds:[e.list_id]}},a=await r({url:`?proxy_url=${encodeURIComponent(`${Ie}/emailCampaigns`)}`,method:`POST`,headers:{"Content-Type":`application/json`,"api-key":e.api_key},body:JSON.stringify(i)});if(a.error){let e=a.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.message||e?.data?.code||e?.error||String(a.error)}}}let o=a.data;return o?.id?{data:{id:o.id}}:{error:{status:`CUSTOM_ERROR`,error:a.data?.message||`Failed to create campaign`}}}})})}),{useCreateCampaignMutation:Re}=Le,ze=`https://api.createsend.com/api/v3.3`,Be=e=>`Basic ${btoa(`${e}:x`)}`,Ve=i.Si({reducerPath:`campaignMonitorApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i={Name:e.name,Subject:e.subject,FromName:e.from_name,FromEmail:e.from_email,ReplyTo:e.from_email,HtmlUrl:e.html_url,ListIDs:[e.list_id],InlineCss:!0},a=await r({url:`?proxy_url=${encodeURIComponent(`${ze}/campaigns/${e.client_id}.json`)}`,method:`POST`,headers:{"Content-Type":`application/json`,Authorization:Be(e.api_key)},body:JSON.stringify(i)});if(a.error){let e=a.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.Message||e?.error||String(a.error)}}}let o=a.data,s=typeof o==`string`?o:o?.id;return!s||typeof s!=`string`?{error:{status:`CUSTOM_ERROR`,error:o?.Message||`Failed to create campaign`}}:{data:{id:s}}}})})}),{useCreateCampaignMutation:He}=Ve,Ue=`https://api.cc.email/v3`,We=e=>e.includes(`[[trackingImage]]`)?e:e.replace(/<body([^>]*)>/i,`<body$1>[[trackingImage]]`),Ge=i.Si({reducerPath:`constantContactApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i=We(e.html),a={name:e.name,email_campaign_activities:[{format_type:5,from_email:e.from_email,reply_to_email:e.from_email,from_name:e.from_name,subject:e.subject,html_content:i}]},o=await r({url:`?proxy_url=${encodeURIComponent(`${Ue}/emails`)}`,method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${e.access_token}`},body:JSON.stringify(a)});if(o.error){let e=o.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.error_message||e?.data?.error_key||e?.error||String(o.error)}}}let s=o.data,c=s?.campaign_activities?.find(e=>e.role===`primary_email`)?.campaign_activity_id,l=s?.campaign_id;if(!c||!l)return{error:{status:`CUSTOM_ERROR`,error:`Failed to create campaign`}};let u={campaign_activity_id:c,campaign_id:l,role:`primary_email`,contact_list_ids:[e.list_id],segment_ids:[],current_status:`DRAFT`,format_type:5,from_email:e.from_email,from_name:e.from_name,reply_to_email:e.from_email,subject:e.subject,html_content:i},d=await r({url:`?proxy_url=${encodeURIComponent(`${Ue}/emails/activities/${c}`)}`,method:`PUT`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${e.access_token}`},body:JSON.stringify(u)});if(d.error){let e=d.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.error_message||e?.data?.error_key||e?.error||String(d.error)}}}return{data:{campaign_id:l}}}})})}),{useCreateCampaignMutation:Ke}=Ge,qe=`https://api.getresponse.com/v3`,Je=e=>`api-key ${e}`,Ye=i.Si({reducerPath:`getresponseApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({createNewsletter:e.mutation({queryFn:async(e,t,n,r)=>{let i=e.html.replace(/<[^>]*>/g,` `).replace(/\s+/g,` `).trim(),a={name:e.name,type:`draft`,subject:e.subject,fromField:{fromFieldId:e.from_field_id},replyTo:{fromFieldId:e.from_field_id},campaign:{campaignId:e.campaign_id},content:{html:e.html,plain:i||`Newsletter`},flags:[`openrate`,`clicktrack`],sendSettings:{selectedCampaigns:[e.campaign_id]}},o=await r({url:`?proxy_url=${encodeURIComponent(`${qe}/newsletters`)}`,method:`POST`,headers:{"Content-Type":`application/json`,"X-Auth-Token":Je(e.api_key)},body:JSON.stringify(a)});if(o.error){let e=o.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.message||e?.data?.code||e?.error||String(o.error)}}}let s=o.data;return s?.newsletterId?{data:{newsletterId:s.newsletterId}}:{error:{status:`CUSTOM_ERROR`,error:o.data?.message||`Failed to create newsletter`}}}})})}),{useCreateNewsletterMutation:Xe}=Ye,Ze=e=>`https://${e||`r1`}-api.dotdigital.com/v2`,Qe=(e,t)=>`Basic ${btoa(`${e}:${t}`)}`,$e=e=>e&&typeof e==`object`&&`data`in e&&e.data!==void 0?e.data:e,et=e=>e.trim().toLowerCase(),tt=i.Si({reducerPath:`dotdigitalApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({createCampaign:e.mutation({queryFn:async(e,t,n,r)=>{let i=e.html.replace(/<[^>]*>/g,` `).replace(/\s+/g,` `).trim(),a=Ze(e.region),o={"Content-Type":`application/json`,Authorization:Qe(e.username,e.password)},s=await r({url:`?proxy_url=${encodeURIComponent(`${a}/custom-from-addresses`)}`,method:`GET`,headers:{Authorization:Qe(e.username,e.password)}}),c=[];if(!s.error){let e=$e(s.data);Array.isArray(e)?c=e:e&&typeof e==`object`&&Array.isArray(e.items)&&(c=e.items)}let l=et(e.from_email),u=c.find(e=>e.email&&et(e.email)===l),d={name:e.name,subject:e.subject,fromName:e.from_name,htmlContent:e.html,plainTextContent:i||`Newsletter`},f=!u?.id;u?.id!=null&&(d.fromAddress={id:u.id});let p=await r({url:`?proxy_url=${encodeURIComponent(`${a}/campaigns`)}`,method:`POST`,headers:o,body:JSON.stringify(d)});if(p.error){let e=p.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.message||e?.error||String(p.error)}}}let m=$e(p.data);return m?.id?{data:{id:m.id,usedAccountDefaultFromAddress:f}}:{error:{status:`CUSTOM_ERROR`,error:p.data?.message||m?.message||`Failed to create campaign`}}}})})}),{useCreateCampaignMutation:nt}=tt,rt=`https://app.bentonow.com/api/v1`,it=(e,t)=>`Basic ${btoa(`${e}:${t}`)}`,at=i.Si({reducerPath:`bentoApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({createBroadcast:e.mutation({queryFn:async(e,t,n,r)=>{let i={broadcasts:[{name:e.name,subject:e.subject,content:e.html,type:`raw`,from:{email:e.from_email,name:e.from_name},inclusive_tags:e.inclusive_tags||`subscribers`,exclusive_tags:``,segment_id:e.segment_id||``,batch_size_per_hour:500,approved:!1}]},a=`${rt}/batch/broadcasts?site_uuid=${encodeURIComponent(e.site_uuid)}`,o=await r({url:`?proxy_url=${encodeURIComponent(a)}`,method:`POST`,headers:{"Content-Type":`application/json`,Authorization:it(e.publishable_key,e.secret_key),"User-Agent":`EmailMaker/1.0`},body:JSON.stringify(i)});if(o.error){let e=o.error;return{error:{status:`CUSTOM_ERROR`,error:e?.data?.message||e?.error||String(o.error)}}}return{data:{count:o.data?.count??1}}}})})}),{useCreateBroadcastMutation:ot}=at,st=a.w(),ct=i.Si({reducerPath:`AiApiGenerator`,baseQuery:async(e,t,n)=>{let r=await i.pi({baseUrl:i.hi(t).baseUrl.replaceAll(/[\\/]$/g,``)})(e,t,n);if(r.error){let e=r.error;if(typeof e.json==`function`)try{e=await e.json()}catch{e=await e}return{error:e}}return r},endpoints:e=>({generateIdForTask:e.mutation({queryFn(e,t){return i.mi(t).tasks.tasksControllerCreateTask(e).then(e=>e)}}),clearAiChat:e.query({queryFn(e,t){return i.hi(t).aiGenerator.clear_history_list(e).then(e=>e)}}),getGeneratedContent:e.query({queryFn:e=>({data:[]}),async onCacheEntryAdded({id:e,setError:t},n){let{updateCachedData:r,cacheEntryRemoved:o}=n,s=i.hi(n).baseUrl.indexOf(`emailmaker`)>=0?i.Pa.maker:i.Pa.blocks,c=i.ya.isPlugin?await i.vi.getInstance(n,a.D):a.T.get(i.Fi.em_token),l=c?{Authorization:`Bearer ${c}`}:{},u=new st.EventSourcePolyfill(`${s}/tasks/${e}`,{headers:l});u.onmessage=e=>{let t=JSON.parse(e.data);r(e=>{e.push(t)})},u.onerror=e=>{t(`Error connecting to EventSource`),u.close()},await o,u.close()}}),getAiGenerateStatus:e.mutation({query:e=>({url:`/constructor/v1/ai-save-task`,method:`POST`,body:e})})})}),{useGenerateIdForTaskMutation:lt,useGetGeneratedContentQuery:ut,useLazyClearAiChatQuery:dt,useLazyGetGeneratedContentQuery:ft,useGetAiGenerateStatusMutation:pt}=ct,mt=async e=>{let t=await e.text(),n=t;try{n=JSON.parse(t)}catch{n=t}return n},ht=(e,t,n)=>{if(!e)throw Error(`Set ${n}`);return{url:`?proxy_url=${encodeURIComponent(e)}`,method:`POST`,headers:{"Content-Type":`application/json`},body:t,responseHandler:mt}},gt=(e,t,n)=>{if(!e)throw Error(`Set ${n}`);return{url:`?proxy_url=${encodeURIComponent(e)}`,method:`POST`,body:t,responseHandler:mt}},_t=i.Si({reducerPath:`requestPlaneApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({getRequest:e.mutation({query:e=>gt(`https://webhook.latenode.com/5868/prod/9e7a6445-2244-4dd5-bda4-5bca82997bf8`,e,`REACT_APP_PIPEDREAM_REQUEST_PLANE_SRC`)}),getInvoiceRequest:e.mutation({query:e=>ht(`https://webhook.latenode.com/5868/prod/6e2d04a8-6cd9-4ec3-b884-ee2fd67267a3`,e,`REACT_APP_REQUEST_PLANE_WEBHOOK_URL`)})})}),{useGetRequestMutation:vt,useGetInvoiceRequestMutation:yt}=_t,bt=i.Si({reducerPath:`htmlToPdfPlusApi`,baseQuery:async(e,t,n)=>{try{let{notification:r,...a}=e,o=await i.Di({baseUrl:`https://html2pdf.emcdn.ru/convert/html-to-pdf`})(a,t,n);if(o.error)throw Error();return o}catch(t){return(e?.notification).error(t),{error:t}}},endpoints:e=>({generateHtmlToPdf:e.mutation({query:({htmlContent:e,notification:t})=>({url:``,method:`POST`,body:e,notification:t,responseHandler:e=>e.blob()})})})}),{useGenerateHtmlToPdfMutation:xt}=bt;function St({title:e,content:t,acf:{seen:n,type:r,event:a,data:o},...s}){return{...s,seen:n,type:r,event:a,data:o,title:i.di(e),content:t}}var Ct=`Notifications`,wt=i.Si({reducerPath:`notificationsApi`,tagTypes:[Ct],baseQuery:i.pi({baseUrl:`https://app.emailmaker.ru/api/wp-json/wp/v2/`}),endpoints:e=>({getNotifications:e.query({queryFn(e,t){return i.hi(t).wp.notification_list({author:[Number(e)]}).then(i.si(St))},providesTags:e=>e?[...e.map(({id:e})=>({type:Ct,id:e})),{type:Ct,id:`LIST`}]:[{type:Ct,id:`LIST`}]}),notificationShown:e.mutation({queryFn({id:e,datetime:t},n){return i.hi(n).wp.notification_create2({id:e},{},{type:i.io.Json,extraQuery:{"acf[seen]":t}}).then(i.ci(St))},invalidatesTags:[{type:Ct,id:`LIST`}]})})}),{useGetNotificationsQuery:Tt,useNotificationShownMutation:Et}=wt,Dt=i.Si({reducerPath:`getCheckoutUrlApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({GetCheckoutUrl:e.mutation({query:e=>({url:`?proxy_url=${encodeURIComponent(o.t.env.REACT_APP_PIPEDREAM_GET_CHECKOUT_URL)}`,method:`POST`,body:e})})})}),{useGetCheckoutUrlMutation:Ot}=Dt,kt=i.Si({reducerPath:`recoverPasswordApi`,baseQuery:i.Di({baseUrl:`https://app.emailmaker.ru/api/wp-json/bdpwr/v1/`}),endpoints:e=>({resetPassword:e.mutation({queryFn(e,t){return i.Ga(t).bdpwr.reset_password_create({body:e,type:i.io.Json})}}),setPassword:e.mutation({queryFn(e,t){return i.Ga(t).bdpwr.set_password_create({body:e,type:i.io.Json})}}),validateRecoverPasswordCode:e.mutation({queryFn(e,t){return i.Ga(t).bdpwr.validate_code_create({body:e,type:i.io.Json})}})})}),{useResetPasswordMutation:At,useSetPasswordMutation:jt,useValidateRecoverPasswordCodeMutation:Mt}=kt,Nt=i.Si({reducerPath:`addUserToProjectApi`,baseQuery:i.pi({baseUrl:`https://app.emailmaker.ru/api/wp-json/user_to_project/v1/add_user`}),endpoints:e=>({addUserToProject:e.mutation({queryFn(e,t){return i.hi(t).userToProject.add_user_create(e,{type:i.io.FormData})}})})}),{useAddUserToProjectMutation:Pt}=Nt,Ft=i.Si({reducerPath:`confirmationMailApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`,responseHandler:e=>e.text()}),endpoints:e=>({getConfirmationMail:e.query({query:({userId:e,email:t})=>({url:`?proxy_url=${encodeURIComponent(`https://webhook.latenode.com/5868/prod/f0da9c0f-ed12-4d23-8a86-b86f7bf1a276?user_id=${e}&user_email=${t}`)}`})})})}),{useLazyGetConfirmationMailQuery:It}=Ft,Lt=i.Si({reducerPath:`recurrenceSubscriptionsOffApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({getCanselRecurrence:e.query({query:e=>({url:`?proxy_url=${encodeURIComponent(`https://webhook.latenode.com/5868/prod/07ae4159-132b-4a00-998b-bc47c20365ba?subscription_id=${e.sid}&user_id=${e.uid}`)}`})})})}),{useLazyGetCanselRecurrenceQuery:Rt,useGetCanselRecurrenceQuery:zt}=Lt,Bt=i.Si({reducerPath:`recurrenceSubscriptionsOnApi`,baseQuery:i.Di({baseUrl:`https://px0.emailmaker.ru/`}),endpoints:e=>({getRecurrence:e.query({query:e=>({url:`?proxy_url=${encodeURIComponent(`https://webhook.latenode.com/5868/prod/e1dd37b1-c3d4-4441-b329-d6b3aa51bfe7?subscription_id=${e.sid}&user_id=${e.uid}`)}`})})})}),{useLazyGetRecurrenceQuery:Vt,useGetRecurrenceQuery:Ht}=Bt,Ut=`<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
2
  <html>
3
3
  <head>
4
4
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
@@ -1 +1 @@
1
- import{d as e,s as t}from"./b9d66884.js";import"@emailmaker/emailmaker/runtime/react";function n(e){if(e instanceof DOMException&&e.name===`AbortError`)return e;let t=e===void 0?`The operation was aborted.`:typeof e==`string`?e:e instanceof Error?e.message:String(e);return new DOMException(t,`AbortError`)}function r(e){if(e?.aborted)throw n(e.reason)}function i(e,t){return t?(r(t),new Promise((r,i)=>{let a=()=>{o(),i(n(t.reason))},o=()=>{t.removeEventListener(`abort`,a)};t.addEventListener(`abort`,a),e.then(e=>{o(),r(e)},e=>{o(),i(e)})})):e}function a(t,i,a){if(r(a),t!==void 0){if(typeof t==`string`){let r=t,o=document.querySelector(r);if(o)return o;let s=i.addDisposable(new e);return new Promise((e,t)=>{let i=e=>{s.dispose(),e()},o=()=>{i(()=>t(n(a?.reason)))};if(a?.aborted){o();return}a?.addEventListener(`abort`,o),s.addDispose(()=>a?.removeEventListener(`abort`,o));let c=new MutationObserver(()=>{let t=document.querySelector(r);t&&i(()=>e(t))});c.observe(document.body,{attributes:!0,childList:!0,subtree:!0}),s.addDispose(()=>c.disconnect())})}return t}return t}var o=new Map;t(`ELEMENT_INSERT_HTML_PIPELINE`),t(`BLOCK_INSERT_HTML_PIPELINE`),t(`DomComponentRegistry`),t(`ComponentRegistry`);function s(e){return t(e)}var c;(function(e){e.BEFORE_SAVE_EMAIL=s(),e.ON_SAVEBUTTON_CLICK_ID=s(),e.ON_NEXTBUTTON_CLICK_ID=s(),e.ON_PREVIOUSBUTTON_CLICK_ID=s(),e.ON_MODEL_CHANGE=s(),e.WILL_EMAIL_INIT_ID=s(),e.ON_EMAIL_INIT_ID=s(),e.ON_BLOCK_INIT_ID=s(),e.ON_CONTENT_CHANGED_ID=s(),e.ON_PREHEADER_CHANGED_ID=s(),e.ON_SUBJECT_CHANGED_ID=s(),e.ON_EMAIL_CHANGED_ID=s(),e.ON_BLOCK_CHANGED_ID=s(),e.ON_CHUNKS_LOADED=s(),e.ON_SEND_TESTEMAIL_ID=s(),e.ON_SEND_LIVEPREVIEW_ID=s(),e.ON_SHARE_ID=s(),e.ON_SHOW_PREVIEW_ID=s(),e.ON_EMAIL_CLONE_ID=s(),e.ON_SEND_EMAIL_MODAL_ID=s(),e.ON_NOTIFICATION=s(),e.READ_LOCALE=s(),e.ON_TRANSLATE_ID=s(),e.ON_CODE_VALIDATE_ID=s(),e.UPLOAD_EVENT_ID=s(),e.PROXY_URL_EVENT_ID=s(),e.FILE_PROXY_EVENT_ID=s(),e.ON_LIMIT_ID=s(),e.ON_BROWSER_EXTENSION_DETECTED_ID=s()})(c||={}),t(),t(),t(`InitPipelineContext`),t(),t(),t(),t(),t(),t(),t(`PluginCollection`),s(`APP_LOAD_EVENT`),s(`CONFIG_CHANGED_EVENT`);export{r as a,i,a as n,n as r,o as t};
1
+ import{d as e,s as t}from"./b9d66884.js";import"@emailmaker/emailmaker/runtime/react";function n(e){if(e instanceof DOMException&&e.name===`AbortError`)return e;let t=e===void 0?`The operation was aborted.`:typeof e==`string`?e:e instanceof Error?e.message:String(e);return new DOMException(t,`AbortError`)}function r(e){if(e?.aborted)throw n(e.reason)}function i(e,t){return t?(r(t),new Promise((r,i)=>{let a=()=>{o(),i(n(t.reason))},o=()=>{t.removeEventListener(`abort`,a)};t.addEventListener(`abort`,a),e.then(e=>{o(),r(e)},e=>{o(),i(e)})})):e}function a(t,i,a){if(r(a),t!==void 0){if(typeof t==`string`){let r=t,o=document.querySelector(r);if(o)return o;let s=i.addDisposable(new e);return new Promise((e,t)=>{let i=e=>{s.dispose(),e()},o=()=>{i(()=>t(n(a?.reason)))};if(a?.aborted){o();return}a?.addEventListener(`abort`,o),s.addDispose(()=>a?.removeEventListener(`abort`,o));let c=new MutationObserver(()=>{let t=document.querySelector(r);t&&i(()=>e(t))});c.observe(document.body,{attributes:!0,childList:!0,subtree:!0}),s.addDispose(()=>c.disconnect())})}return t}return t}var o=new Map;t(`ELEMENT_INSERT_HTML_PIPELINE`),t(`BLOCK_INSERT_HTML_PIPELINE`),t(`DomComponentRegistry`),t(`ComponentRegistry`);function s(e){return t(e)}var c;(function(e){e.BEFORE_SAVE_EMAIL=s(),e.ON_SAVEBUTTON_CLICK_ID=s(),e.ON_NEXTBUTTON_CLICK_ID=s(),e.ON_PREVIOUSBUTTON_CLICK_ID=s(),e.ON_MODEL_CHANGE=s(),e.WILL_EMAIL_INIT_ID=s(),e.ON_EMAIL_INIT_ID=s(),e.ON_BLOCK_INIT_ID=s(),e.ON_CONTENT_CHANGED_ID=s(),e.ON_PREHEADER_CHANGED_ID=s(),e.ON_SUBJECT_CHANGED_ID=s(),e.ON_EMAIL_CHANGED_ID=s(),e.ON_BLOCK_CHANGED_ID=s(),e.ON_CHUNKS_LOADED=s(),e.ON_SEND_TESTEMAIL_ID=s(),e.ON_SEND_LIVEPREVIEW_ID=s(),e.ON_SHARE_ID=s(),e.ON_SHOW_PREVIEW_ID=s(),e.ON_EMAIL_CLONE_ID=s(),e.ON_SEND_EMAIL_MODAL_ID=s(),e.ON_NOTIFICATION=s(),e.READ_LOCALE=s(),e.ON_TRANSLATE_ID=s(),e.ON_CODE_VALIDATE_ID=s(),e.UPLOAD_EVENT_ID=s(),e.PROXY_URL_EVENT_ID=s(),e.FILE_PROXY_EVENT_ID=s(),e.ON_LIMIT_ID=s(),e.ON_BROWSER_EXTENSION_DETECTED_ID=s(),e.ON_BROWSER_TRANSLATE_DETECTED_ID=s()})(c||={}),t(),t(),t(`InitPipelineContext`),t(),t(),t(),t(),t(),t(),t(`PluginCollection`),s(`APP_LOAD_EVENT`),s(`CONFIG_CHANGED_EVENT`);export{r as a,i,a as n,n as r,o as t};
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="utf-8" />
5
5
  <title>Two-step flow: design → subject/preheader (headless)</title>
6
- <script id="plugin-script" type="text/javascript" src="emailmaker.js?18e2e08a"></script>
6
+ <script id="plugin-script" type="text/javascript" src="emailmaker.js?f6a81a2b"></script>
7
7
  <style>
8
8
  body {
9
9
  margin: 0;
package/vite/index.cjs CHANGED
@@ -93,6 +93,25 @@ async function copyFolder(src, dest, filter) {
93
93
  //#endregion
94
94
  //#region src/shared/hostBootstrap.ts
95
95
  /**
96
+ * Joins an integrator-provided `publicPath` prefix with the product `outputFolder`
97
+ * into the contractual runtime `publicPath` (always trailing-slash terminated).
98
+ *
99
+ * Unlike `path.posix.join`, this preserves the `//` in absolute URLs
100
+ * (`http://localhost:3032` must NOT collapse to `http:/localhost:3032`), so an
101
+ * absolute origin passed in Vite `serve`/`build` reaches the runtime intact.
102
+ *
103
+ * - No `publicPath`: keeps the leading-slash semantics of `outputFolder`
104
+ * (`/product` -> `/product/`, resolved against the host `document.baseURI`).
105
+ * - With `publicPath`: `http://host:3032` + `/product` -> `http://host:3032/product/`.
106
+ */
107
+ function joinHostPublicPath(publicPath, outputFolder, defaultOutputFolder) {
108
+ const folder = outputFolder != null && outputFolder !== "" ? String(outputFolder) : defaultOutputFolder;
109
+ const base = String(publicPath || "").replace(/\/+$/, "");
110
+ if (!base) return `${folder.replace(/\/+$/, "")}/`;
111
+ const segment = folder.replace(/^\/+/, "").replace(/\/+$/, "");
112
+ return `${(segment ? `${base}/${segment}` : base).replace(/\/+$/, "")}/`;
113
+ }
114
+ /**
96
115
  * Host plugin bootstrap: sets contractual `window.__ns__.publicPath` (e.g. `/product/`)
97
116
  * before product entry runs. Publish bootstrap uses script/meta detection only when
98
117
  * `publicPath` is still unset — plugin-dev must rely on host prepend, not detection.
@@ -442,7 +461,7 @@ var ViteServePlugin = (options) => {
442
461
  const mountSeg = outputFolderFsSegment(options.outputFolder, BUNDLER_DEFAULT_APP_NAME);
443
462
  const destPath = path.default.normalize(path.default.join(rootPath, mountSeg));
444
463
  const packageRoot = path.default.join(options.modulesPath || DEFAULT_MODULES_PATH, BUNDLER_DEFAULT_PACKAGE_NAME);
445
- const publicPath = `${String(options.outputFolder || DEFAULT_OUTPUT_FOLDER).replace(/\/$/, "")}/`;
464
+ const publicPath = joinHostPublicPath(options.publicPath, options.outputFolder, DEFAULT_OUTPUT_FOLDER);
446
465
  const startupPrefetchMode = options.startupPrefetchMode || DEFAULT_STARTUP_PREFETCH_MODE;
447
466
  let optimizedFacadeFile = getFlattenedOptimizedDepFileName();
448
467
  return {
@@ -585,10 +604,9 @@ var ViteServePlugin = (options) => {
585
604
  };
586
605
  };
587
606
  var ViteBuildPlugin = (options) => {
588
- const publicPath = options.publicPath || "";
589
607
  const sourcePath = path.default.join(options.modulesPath || DEFAULT_MODULES_PATH, BUNDLER_DEFAULT_PACKAGE_NAME);
590
608
  let resolvedConfig;
591
- const normalizedPublicPath = `${String(path.default.posix.join(publicPath, options.outputFolder || DEFAULT_OUTPUT_FOLDER)).replace(/\/$/, "")}/`;
609
+ const normalizedPublicPath = joinHostPublicPath(options.publicPath, options.outputFolder, DEFAULT_OUTPUT_FOLDER);
592
610
  const startupPrefetchMode = options.startupPrefetchMode || DEFAULT_STARTUP_PREFETCH_MODE;
593
611
  return {
594
612
  name: `${PLUGIN_NAME}-build`,
package/vite/index.js CHANGED
@@ -64,6 +64,25 @@ async function copyFolder(src, dest, filter) {
64
64
  //#endregion
65
65
  //#region src/shared/hostBootstrap.ts
66
66
  /**
67
+ * Joins an integrator-provided `publicPath` prefix with the product `outputFolder`
68
+ * into the contractual runtime `publicPath` (always trailing-slash terminated).
69
+ *
70
+ * Unlike `path.posix.join`, this preserves the `//` in absolute URLs
71
+ * (`http://localhost:3032` must NOT collapse to `http:/localhost:3032`), so an
72
+ * absolute origin passed in Vite `serve`/`build` reaches the runtime intact.
73
+ *
74
+ * - No `publicPath`: keeps the leading-slash semantics of `outputFolder`
75
+ * (`/product` -> `/product/`, resolved against the host `document.baseURI`).
76
+ * - With `publicPath`: `http://host:3032` + `/product` -> `http://host:3032/product/`.
77
+ */
78
+ function joinHostPublicPath(publicPath, outputFolder, defaultOutputFolder) {
79
+ const folder = outputFolder != null && outputFolder !== "" ? String(outputFolder) : defaultOutputFolder;
80
+ const base = String(publicPath || "").replace(/\/+$/, "");
81
+ if (!base) return `${folder.replace(/\/+$/, "")}/`;
82
+ const segment = folder.replace(/^\/+/, "").replace(/\/+$/, "");
83
+ return `${(segment ? `${base}/${segment}` : base).replace(/\/+$/, "")}/`;
84
+ }
85
+ /**
67
86
  * Host plugin bootstrap: sets contractual `window.__ns__.publicPath` (e.g. `/product/`)
68
87
  * before product entry runs. Publish bootstrap uses script/meta detection only when
69
88
  * `publicPath` is still unset — plugin-dev must rely on host prepend, not detection.
@@ -413,7 +432,7 @@ var ViteServePlugin = (options) => {
413
432
  const mountSeg = outputFolderFsSegment(options.outputFolder, BUNDLER_DEFAULT_APP_NAME);
414
433
  const destPath = path.normalize(path.join(rootPath, mountSeg));
415
434
  const packageRoot = path.join(options.modulesPath || DEFAULT_MODULES_PATH, BUNDLER_DEFAULT_PACKAGE_NAME);
416
- const publicPath = `${String(options.outputFolder || DEFAULT_OUTPUT_FOLDER).replace(/\/$/, "")}/`;
435
+ const publicPath = joinHostPublicPath(options.publicPath, options.outputFolder, DEFAULT_OUTPUT_FOLDER);
417
436
  const startupPrefetchMode = options.startupPrefetchMode || DEFAULT_STARTUP_PREFETCH_MODE;
418
437
  let optimizedFacadeFile = getFlattenedOptimizedDepFileName();
419
438
  return {
@@ -556,10 +575,9 @@ var ViteServePlugin = (options) => {
556
575
  };
557
576
  };
558
577
  var ViteBuildPlugin = (options) => {
559
- const publicPath = options.publicPath || "";
560
578
  const sourcePath = path.join(options.modulesPath || DEFAULT_MODULES_PATH, BUNDLER_DEFAULT_PACKAGE_NAME);
561
579
  let resolvedConfig;
562
- const normalizedPublicPath = `${String(path.posix.join(publicPath, options.outputFolder || DEFAULT_OUTPUT_FOLDER)).replace(/\/$/, "")}/`;
580
+ const normalizedPublicPath = joinHostPublicPath(options.publicPath, options.outputFolder, DEFAULT_OUTPUT_FOLDER);
563
581
  const startupPrefetchMode = options.startupPrefetchMode || DEFAULT_STARTUP_PREFETCH_MODE;
564
582
  return {
565
583
  name: `${PLUGIN_NAME}-build`,
package/webpack/index.cjs CHANGED
@@ -31,6 +31,25 @@ function toPascalCase(str) {
31
31
  //#endregion
32
32
  //#region src/shared/hostBootstrap.ts
33
33
  /**
34
+ * Joins an integrator-provided `publicPath` prefix with the product `outputFolder`
35
+ * into the contractual runtime `publicPath` (always trailing-slash terminated).
36
+ *
37
+ * Unlike `path.posix.join`, this preserves the `//` in absolute URLs
38
+ * (`http://localhost:3032` must NOT collapse to `http:/localhost:3032`), so an
39
+ * absolute origin passed in Vite `serve`/`build` reaches the runtime intact.
40
+ *
41
+ * - No `publicPath`: keeps the leading-slash semantics of `outputFolder`
42
+ * (`/product` -> `/product/`, resolved against the host `document.baseURI`).
43
+ * - With `publicPath`: `http://host:3032` + `/product` -> `http://host:3032/product/`.
44
+ */
45
+ function joinHostPublicPath(publicPath, outputFolder, defaultOutputFolder) {
46
+ const folder = outputFolder != null && outputFolder !== "" ? String(outputFolder) : defaultOutputFolder;
47
+ const base = String(publicPath || "").replace(/\/+$/, "");
48
+ if (!base) return `${folder.replace(/\/+$/, "")}/`;
49
+ const segment = folder.replace(/^\/+/, "").replace(/\/+$/, "");
50
+ return `${(segment ? `${base}/${segment}` : base).replace(/\/+$/, "")}/`;
51
+ }
52
+ /**
34
53
  * Host plugin bootstrap: sets contractual `window.__ns__.publicPath` (e.g. `/product/`)
35
54
  * before product entry runs. Publish bootstrap uses script/meta detection only when
36
55
  * `publicPath` is still unset — plugin-dev must rely on host prepend, not detection.
@@ -106,7 +125,7 @@ var BUNDLER_DEFAULT_APP_NAME = "emailmaker";
106
125
  var PLUGIN_NAME = `${toPascalCase(BUNDLER_DEFAULT_APP_NAME)}WebpackPlugin`;
107
126
  var PACKAGE_ENTRY_NAME = `${BUNDLER_DEFAULT_APP_NAME}.js`;
108
127
  var ESM_PACKAGE_ENTRY_NAME = `${BUNDLER_DEFAULT_APP_NAME}-esm.js`;
109
- var DEFAULT_OUTPUT_FOLDER = BUNDLER_DEFAULT_APP_NAME;
128
+ var DEFAULT_OUTPUT_FOLDER = `/${BUNDLER_DEFAULT_APP_NAME}`;
110
129
  var DEFAULT_MODULES_PATH = "node_modules";
111
130
  var DEFAULT_STARTUP_PREFETCH_MODE = "eager";
112
131
  var ENVIRONMENT_VARIABLE = `__${BUNDLER_DEFAULT_APP_NAME}__`;
@@ -189,8 +208,7 @@ var WebpackPlugin = class {
189
208
  apply(compiler) {
190
209
  const rawPub = compiler.options.output.publicPath;
191
210
  const optionsPublicPath = typeof rawPub === "string" ? rawPub : "";
192
- const publicPath = this._publicPath === void 0 ? optionsPublicPath : this._publicPath;
193
- const initFragment = createInitFragment(ENVIRONMENT_VARIABLE, publicPath + (publicPath.endsWith("/") ? "" : "/") + this._outputFolder + "/", this._startupPrefetchMode);
211
+ const initFragment = createInitFragment(ENVIRONMENT_VARIABLE, joinHostPublicPath(this._publicPath === void 0 ? optionsPublicPath : this._publicPath, this._outputFolder, DEFAULT_OUTPUT_FOLDER), this._startupPrefetchMode);
194
212
  const webpack = compiler.webpack;
195
213
  const javascript = webpack.javascript;
196
214
  this._sources = webpack.sources;
package/webpack/index.js CHANGED
@@ -7,6 +7,25 @@ function toPascalCase(str) {
7
7
  //#endregion
8
8
  //#region src/shared/hostBootstrap.ts
9
9
  /**
10
+ * Joins an integrator-provided `publicPath` prefix with the product `outputFolder`
11
+ * into the contractual runtime `publicPath` (always trailing-slash terminated).
12
+ *
13
+ * Unlike `path.posix.join`, this preserves the `//` in absolute URLs
14
+ * (`http://localhost:3032` must NOT collapse to `http:/localhost:3032`), so an
15
+ * absolute origin passed in Vite `serve`/`build` reaches the runtime intact.
16
+ *
17
+ * - No `publicPath`: keeps the leading-slash semantics of `outputFolder`
18
+ * (`/product` -> `/product/`, resolved against the host `document.baseURI`).
19
+ * - With `publicPath`: `http://host:3032` + `/product` -> `http://host:3032/product/`.
20
+ */
21
+ function joinHostPublicPath(publicPath, outputFolder, defaultOutputFolder) {
22
+ const folder = outputFolder != null && outputFolder !== "" ? String(outputFolder) : defaultOutputFolder;
23
+ const base = String(publicPath || "").replace(/\/+$/, "");
24
+ if (!base) return `${folder.replace(/\/+$/, "")}/`;
25
+ const segment = folder.replace(/^\/+/, "").replace(/\/+$/, "");
26
+ return `${(segment ? `${base}/${segment}` : base).replace(/\/+$/, "")}/`;
27
+ }
28
+ /**
10
29
  * Host plugin bootstrap: sets contractual `window.__ns__.publicPath` (e.g. `/product/`)
11
30
  * before product entry runs. Publish bootstrap uses script/meta detection only when
12
31
  * `publicPath` is still unset — plugin-dev must rely on host prepend, not detection.
@@ -82,7 +101,7 @@ var BUNDLER_DEFAULT_APP_NAME = "emailmaker";
82
101
  var PLUGIN_NAME = `${toPascalCase(BUNDLER_DEFAULT_APP_NAME)}WebpackPlugin`;
83
102
  var PACKAGE_ENTRY_NAME = `${BUNDLER_DEFAULT_APP_NAME}.js`;
84
103
  var ESM_PACKAGE_ENTRY_NAME = `${BUNDLER_DEFAULT_APP_NAME}-esm.js`;
85
- var DEFAULT_OUTPUT_FOLDER = BUNDLER_DEFAULT_APP_NAME;
104
+ var DEFAULT_OUTPUT_FOLDER = `/${BUNDLER_DEFAULT_APP_NAME}`;
86
105
  var DEFAULT_MODULES_PATH = "node_modules";
87
106
  var DEFAULT_STARTUP_PREFETCH_MODE = "eager";
88
107
  var ENVIRONMENT_VARIABLE = `__${BUNDLER_DEFAULT_APP_NAME}__`;
@@ -165,8 +184,7 @@ var WebpackPlugin = class {
165
184
  apply(compiler) {
166
185
  const rawPub = compiler.options.output.publicPath;
167
186
  const optionsPublicPath = typeof rawPub === "string" ? rawPub : "";
168
- const publicPath = this._publicPath === void 0 ? optionsPublicPath : this._publicPath;
169
- const initFragment = createInitFragment(ENVIRONMENT_VARIABLE, publicPath + (publicPath.endsWith("/") ? "" : "/") + this._outputFolder + "/", this._startupPrefetchMode);
187
+ const initFragment = createInitFragment(ENVIRONMENT_VARIABLE, joinHostPublicPath(this._publicPath === void 0 ? optionsPublicPath : this._publicPath, this._outputFolder, DEFAULT_OUTPUT_FOLDER), this._startupPrefetchMode);
170
188
  const webpack = compiler.webpack;
171
189
  const javascript = webpack.javascript;
172
190
  this._sources = webpack.sources;