useblocks 1.1.5 → 1.1.6

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 (45) hide show
  1. package/iframe/js/amp.CMBnFdLA.js +1 -1
  2. package/iframe/js/iframe-eblock.js +1 -1
  3. package/iframe/js/iframe.js +1 -1
  4. package/iframe/js/rules.B4dVzZIU.js +1 -1
  5. package/iframe/js/sanitize-html.jj9shohA.js +1 -1
  6. package/package.json +1 -1
  7. package/static/core/{fa18e245.js → 1326223f.js} +1 -1
  8. package/static/core/{a7eda932.js → 335013fc.js} +9 -9
  9. package/static/core/{37f78ba7.js → 395cdb1b.js} +16 -16
  10. package/static/core/3ee304c4.js +1 -0
  11. package/static/core/{fcbafd79.js → 47dba41e.js} +2 -2
  12. package/static/core/{39959460.js → 510315e7.js} +1 -1
  13. package/static/core/{c18fc18b.js → 604497f2.js} +2 -2
  14. package/static/core/{5d104ba3.js → 779a8eb5.js} +2 -2
  15. package/static/core/{2a0b696b.js → 902b3490.js} +1 -1
  16. package/static/core/970190e72.js +1 -0
  17. package/static/core/{28903230.js → 9d75803c.js} +1 -1
  18. package/static/core/9deb5885.js +1 -0
  19. package/static/core/{dbf0b1cc.js → a4277108.js} +1 -1
  20. package/static/core/{39b63d3a.js → aaaead9c.js} +1 -1
  21. package/static/core/{b5066b9e.js → b713ee78.js} +6 -6
  22. package/static/core/cb14142e.js +1 -0
  23. package/static/core/{31bd0e9c.js → cba792ea.js} +1 -1
  24. package/static/core/{594312cb.js → e068fc9c.js} +4 -4
  25. package/static/core/{91b8142d.js → e72e96db.js} +2 -2
  26. package/static/core/ee8bab83.js +1 -0
  27. package/static/core/f1547990.js +29 -0
  28. package/static/core/fb8ae895.js +1 -0
  29. package/static/core/{a9203e9a.js → fbcecf0c.js} +2 -2
  30. package/static/core/fc5e10b92.js +1 -0
  31. package/{useblocks-core.ec177965.js → useblocks-core.c589fcf1.js} +1 -1
  32. package/useblocks-esm.js +2 -2
  33. package/useblocks.d.ts +18 -10
  34. package/useblocks.js +2 -2
  35. package/static/core/19862da2.js +0 -1
  36. package/static/core/1f835788.js +0 -1
  37. package/static/core/366b74ab.js +0 -1
  38. package/static/core/47793441.js +0 -1
  39. package/static/core/50bc8ba9.js +0 -29
  40. package/static/core/5605653d.js +0 -1
  41. package/static/core/5e7ba0f62.js +0 -1
  42. package/static/core/79a8d7cc2.js +0 -1
  43. package/static/core/d493261a.js +0 -1
  44. /package/iframe/{iframe-eblock.ec177965.html → iframe-eblock.c589fcf1.html} +0 -0
  45. /package/iframe/{iframe.ec177965.html → iframe.c589fcf1.html} +0 -0
package/useblocks.d.ts CHANGED
@@ -1909,16 +1909,6 @@ export declare namespace ExportedApi {
1909
1909
  interface Instance extends Events {
1910
1910
  /**
1911
1911
  * show block or email
1912
- *
1913
- * Промис резолвится, когда письмо **полностью инициализировано**: поднят редактор
1914
- * (`ON_EMAIL_INIT`) и — для сохранённого письма (есть `id`) — применена autosave-recovery
1915
- * из истории ревизий. Поэтому `getEmail()` сразу после `await show()` отдаёт финальный html.
1916
- *
1917
- * Ожидание ограничено таймаутом (~12 c, перекрывает fast-poll `revisionService`). При
1918
- * таймауте `show()` всё равно резолвится с текущим контентом, применение recovery
1919
- * продолжается в фоне и завершается событием `handleEmailChanged` (тихого возврата старого нет).
1920
- *
1921
- * Для нового письма (без `id`) контент синхронный — ждётся только инициализация редактора.
1922
1912
  * @param content entity content
1923
1913
  */
1924
1914
  show(content: Content): Promise<void>;
@@ -2836,12 +2826,30 @@ export declare namespace ExportedApi {
2836
2826
  };
2837
2827
  type ResourceProxyValue = string | ResourceProxyRule | Array<string | ResourceProxyRule>;
2838
2828
  type ResourceProxyConfig = ResourceProxyValue;
2829
+ /**
2830
+ * Hosts that bypass the proxy chain and are fetched directly (requires CORS on the asset host).
2831
+ * Plain array = union with previous layers; `{ replace: true, value }` resets the accumulated list.
2832
+ */
2833
+ type DirectHostsConfig = string[] | {
2834
+ replace?: boolean;
2835
+ value: string[];
2836
+ };
2839
2837
  type ResourceProxyPolicy = {
2840
2838
  recoveryTtlMs?: number;
2841
2839
  proxyBlobFetch?: boolean;
2842
2840
  proxyCdn?: boolean;
2843
2841
  proxyEmFiles?: boolean;
2844
2842
  proxyStockImages?: boolean;
2843
+ /**
2844
+ * When true (hosted default), build-time env proxy rules are merged as the bottom layer of `resourceProxy`.
2845
+ * Standalone default: false.
2846
+ */
2847
+ inheritEnvDefaults?: boolean;
2848
+ /**
2849
+ * When true (default), same-origin URLs skip the proxy chain.
2850
+ */
2851
+ proxySameOrigin?: boolean; /** Hosts fetched directly without proxy (union merge across config layers). */
2852
+ directHosts?: DirectHostsConfig;
2845
2853
  };
2846
2854
  type BackendProxyRequestType = 'generic' | 'emFiles' | 'ai';
2847
2855
  type BackendProxyMatchContext = {
package/useblocks.js CHANGED
@@ -12,7 +12,7 @@
12
12
  })(typeof globalThis !== 'undefined' ? globalThis : typeof self !== 'undefined' ? self : this, function() {
13
13
  'use strict';
14
14
 
15
- var e=window.__useblocks__||(window.__useblocks__={});(function(){"use strict";if(e!==void 0&&e.define)return;e===void 0&&(window.__amdEnv={});var t={},n={},r={},i={},a={},o=`./`,s={};function c(e,t){var n=Error(`[AMD] Failed to load module "`+e+`"`+(t?`: `+t.message:``));return n.moduleId=e,n.cause=t,n}function l(e,t,n){var r=Error(`[AMD] Failed to resolve dependency "`+t+`" for module "`+e+`"`+(n?`: `+n.message:``));return r.moduleId=e,r.dependencyId=t,r.cause=n,r}function u(e){for(var t=String(e||``).split(`/`),n=[],r=0;r<t.length;r++){var i=t[r];if(!(!i||i===`.`)){if(i===`..`){n.length>0&&n.pop();continue}n.push(i)}}return n.join(`/`)}function d(e){var t=String(e||``).replace(/\\/g,`/`),n=String(o||`./`).replace(/\\/g,`/`);return n=n.replace(/^\.\/+/,``),n=n.replace(/^\/+/,``),n&&n.slice(-1)!==`/`&&(n+=`/`),n&&t.indexOf(n)===0&&(t=t.slice(n.length)),t.indexOf(`./`)===0&&(t=t.slice(2)),t}function f(e,t){var n=String(e||``);if(!n)return n;if(!(n.indexOf(`./`)===0||n.indexOf(`../`)===0))return d(u(n));var r=u(t||``),i=r?r.split(`/`):[];i.length>0&&i.pop();for(var a=n.split(`/`),o=0;o<a.length;o++){var s=a[o];if(!(!s||s===`.`)){if(s===`..`){i.length>0&&i.pop();continue}i.push(s)}}return d(i.join(`/`))}function p(e){return/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(e)||e.indexOf(`//`)===0}function m(e){var t=String(e||``);if(!t||p(t))return t;try{var n=typeof document<`u`&&document.baseURI?document.baseURI:typeof window<`u`&&window.location?window.location.href:``;return n?new URL(t,n).href:t}catch{return t}}function h(){var t=String(o||`./`);if(t.slice(-1)!==`/`&&(t+=`/`),p(t)||t.charAt(0)===`/`)return t;if(e!==void 0&&e&&e.publicPath)try{return new URL(t,m(e.publicPath)).href}catch{}return m(t)}function g(e,t){var n=f(e,t),r=h(),i=Object.prototype.hasOwnProperty.call(s,n)?String(s[n]||``):n;i.slice(-3)!==`.js`&&(i+=`.js`);try{return new URL(i,r).href}catch{return r+i}}function _(){if(typeof document>`u`)return``;var e=document.currentScript;if(e){var t=e.getAttribute(`data-amd-module-id`);if(t)return t}return``}function v(e,n,r){if(Array.isArray(e)?(r=n,n=e,e=_()):typeof e==`function`?(r=e,n=[],e=_()):typeof n==`function`&&(r=n,n=[]),!e)throw Error(`[AMD] Anonymous define() could not be associated with a module id`);e in t||(t[e]={deps:n||[],factory:r})}v.amd={async:!0};function y(){return function(){}}function b(e,t){return{id:e,exports:t,uri:g(e)}}function x(e,t,n,r){if(Array.isArray(e)){var i=Promise.all(e.map(function(e){return C(e,r)})).then(function(e){return t&&t.apply(null,e),e});return n&&i.catch(n),i}return C(e,r)}function S(e,o){if(Array.isArray(e))throw Error(`[AMD] syncRequire does not support dependency arrays`);var s=f(e,o);if(s in a)throw a[s];if(s in n)return n[s];if(s in r||s in i)throw c(s,Error(`Module is still loading asynchronously`));if(!(s in t))throw c(s,Error(`Module is not available for syncRequire`));return T(s)}function C(e,i){var o=f(e,i);return o in a?Promise.reject(a[o]):o in n?Promise.resolve(n[o]):o in r?r[o]:o in t?(r[o]=w(o),r[o]):(r[o]=D(o).then(function(){if(!(o in t)){var e=c(o,Error(`Module not defined after script load`));throw a[o]=e,e}return w(o)}).catch(function(e){delete r[o];var t=c(o,e);throw a[o]=t,t}),r[o])}function w(e){var i=t[e],o=E(e),s=y(),c=b(e,s);return Promise.all(i.deps.map(function(t){return t===`exports`?s:t===`require`?o:t===`module`?c:C(t,e).catch(function(n){throw l(e,t,n)})})).then(function(t){var a=i.factory.apply(null,t);return a&&typeof a.then==`function`?a.then(function(t){return n[e]=t===void 0?c.exports:t,delete r[e],n[e]}):(n[e]=a===void 0?c.exports:a,delete r[e],n[e])}).catch(function(t){throw delete r[e],a[e]=t,t})}function T(e){var r=t[e],i=E(e),o=y(),s=b(e,o);try{var u=r.deps.map(function(t){if(t===`exports`)return o;if(t===`require`)return i;if(t===`module`)return s;try{return S(t,e)}catch(n){throw l(e,t,n)}}),d=r.factory.apply(null,u);if(d&&typeof d.then==`function`)throw c(e,Error(`Module resolved asynchronously and cannot be syncRequired`));return n[e]=d===void 0?s.exports:d,n[e]}catch(t){throw a[e]=t,t}}function E(e){var r=function(r,i,a){if(Array.isArray(r))return x(r,i,a,e);var o=f(r,e);return o in n?n[o]:o in t?S(r,e):C(r,e)};return r.resolve=function(t){return f(t,e)},r.toUrl=function(t){return g(t,e)},r.sync=function(t){return S(t,e)},r}function D(e){if(e in i)return i[e];var t=g(e);return document.querySelector(`script[src="`+t+`"]`)?(i[e]=Promise.resolve(),i[e]):(i[e]=new Promise(function(n,r){var a=document.createElement(`script`);a.src=t,a.setAttribute(`data-amd-module-id`,e),a.async=!0,a.onload=function(){n()},a.onerror=function(){delete i[e],r(Error(`Failed to load script: `+t))},document.head.appendChild(a)}),i[e])}x.config=function(e){if(e.baseUrl&&(o=e.baseUrl),e.paths)for(var t in e.paths)Object.prototype.hasOwnProperty.call(e.paths,t)&&(s[t]=e.paths[t])},x.modules=t,x.resolved=n,x.errors=a,x.toUrl=g,x.sync=S,e.define=v,e.require=x,e.syncRequire=S})(),e.require.config({baseUrl:`./`,paths:{core:`useblocks-core.ec177965.js`}});
15
+ var e=window.__useblocks__||(window.__useblocks__={});(function(){"use strict";if(e!==void 0&&e.define)return;e===void 0&&(window.__amdEnv={});var t={},n={},r={},i={},a={},o=`./`,s={};function c(e,t){var n=Error(`[AMD] Failed to load module "`+e+`"`+(t?`: `+t.message:``));return n.moduleId=e,n.cause=t,n}function l(e,t,n){var r=Error(`[AMD] Failed to resolve dependency "`+t+`" for module "`+e+`"`+(n?`: `+n.message:``));return r.moduleId=e,r.dependencyId=t,r.cause=n,r}function u(e){for(var t=String(e||``).split(`/`),n=[],r=0;r<t.length;r++){var i=t[r];if(!(!i||i===`.`)){if(i===`..`){n.length>0&&n.pop();continue}n.push(i)}}return n.join(`/`)}function d(e){var t=String(e||``).replace(/\\/g,`/`),n=String(o||`./`).replace(/\\/g,`/`);return n=n.replace(/^\.\/+/,``),n=n.replace(/^\/+/,``),n&&n.slice(-1)!==`/`&&(n+=`/`),n&&t.indexOf(n)===0&&(t=t.slice(n.length)),t.indexOf(`./`)===0&&(t=t.slice(2)),t}function f(e,t){var n=String(e||``);if(!n)return n;if(!(n.indexOf(`./`)===0||n.indexOf(`../`)===0))return d(u(n));var r=u(t||``),i=r?r.split(`/`):[];i.length>0&&i.pop();for(var a=n.split(`/`),o=0;o<a.length;o++){var s=a[o];if(!(!s||s===`.`)){if(s===`..`){i.length>0&&i.pop();continue}i.push(s)}}return d(i.join(`/`))}function p(e){return/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(e)||e.indexOf(`//`)===0}function m(e){var t=String(e||``);if(!t||p(t))return t;try{var n=typeof document<`u`&&document.baseURI?document.baseURI:typeof window<`u`&&window.location?window.location.href:``;return n?new URL(t,n).href:t}catch{return t}}function h(){var t=String(o||`./`);if(t.slice(-1)!==`/`&&(t+=`/`),p(t)||t.charAt(0)===`/`)return t;if(e!==void 0&&e&&e.publicPath)try{return new URL(t,m(e.publicPath)).href}catch{}return m(t)}function g(e,t){var n=f(e,t),r=h(),i=Object.prototype.hasOwnProperty.call(s,n)?String(s[n]||``):n;i.slice(-3)!==`.js`&&(i+=`.js`);try{return new URL(i,r).href}catch{return r+i}}function _(){if(typeof document>`u`)return``;var e=document.currentScript;if(e){var t=e.getAttribute(`data-amd-module-id`);if(t)return t}return``}function v(e,n,r){if(Array.isArray(e)?(r=n,n=e,e=_()):typeof e==`function`?(r=e,n=[],e=_()):typeof n==`function`&&(r=n,n=[]),!e)throw Error(`[AMD] Anonymous define() could not be associated with a module id`);e in t||(t[e]={deps:n||[],factory:r})}v.amd={async:!0};function y(){return function(){}}function b(e,t){return{id:e,exports:t,uri:g(e)}}function x(e,t,n,r){if(Array.isArray(e)){var i=Promise.all(e.map(function(e){return C(e,r)})).then(function(e){return t&&t.apply(null,e),e});return n&&i.catch(n),i}return C(e,r)}function S(e,o){if(Array.isArray(e))throw Error(`[AMD] syncRequire does not support dependency arrays`);var s=f(e,o);if(s in a)throw a[s];if(s in n)return n[s];if(s in r||s in i)throw c(s,Error(`Module is still loading asynchronously`));if(!(s in t))throw c(s,Error(`Module is not available for syncRequire`));return T(s)}function C(e,i){var o=f(e,i);return o in a?Promise.reject(a[o]):o in n?Promise.resolve(n[o]):o in r?r[o]:o in t?(r[o]=w(o),r[o]):(r[o]=D(o).then(function(){if(!(o in t)){var e=c(o,Error(`Module not defined after script load`));throw a[o]=e,e}return w(o)}).catch(function(e){delete r[o];var t=c(o,e);throw a[o]=t,t}),r[o])}function w(e){var i=t[e],o=E(e),s=y(),c=b(e,s);return Promise.all(i.deps.map(function(t){return t===`exports`?s:t===`require`?o:t===`module`?c:C(t,e).catch(function(n){throw l(e,t,n)})})).then(function(t){var a=i.factory.apply(null,t);return a&&typeof a.then==`function`?a.then(function(t){return n[e]=t===void 0?c.exports:t,delete r[e],n[e]}):(n[e]=a===void 0?c.exports:a,delete r[e],n[e])}).catch(function(t){throw delete r[e],a[e]=t,t})}function T(e){var r=t[e],i=E(e),o=y(),s=b(e,o);try{var u=r.deps.map(function(t){if(t===`exports`)return o;if(t===`require`)return i;if(t===`module`)return s;try{return S(t,e)}catch(n){throw l(e,t,n)}}),d=r.factory.apply(null,u);if(d&&typeof d.then==`function`)throw c(e,Error(`Module resolved asynchronously and cannot be syncRequired`));return n[e]=d===void 0?s.exports:d,n[e]}catch(t){throw a[e]=t,t}}function E(e){var r=function(r,i,a){if(Array.isArray(r))return x(r,i,a,e);var o=f(r,e);return o in n?n[o]:o in t?S(r,e):C(r,e)};return r.resolve=function(t){return f(t,e)},r.toUrl=function(t){return g(t,e)},r.sync=function(t){return S(t,e)},r}function D(e){if(e in i)return i[e];var t=g(e);return document.querySelector(`script[src="`+t+`"]`)?(i[e]=Promise.resolve(),i[e]):(i[e]=new Promise(function(n,r){var a=document.createElement(`script`);a.src=t,a.setAttribute(`data-amd-module-id`,e),a.async=!0,a.onload=function(){n()},a.onerror=function(){delete i[e],r(Error(`Failed to load script: `+t))},document.head.appendChild(a)}),i[e])}x.config=function(e){if(e.baseUrl&&(o=e.baseUrl),e.paths)for(var t in e.paths)Object.prototype.hasOwnProperty.call(e.paths,t)&&(s[t]=e.paths[t])},x.modules=t,x.resolved=n,x.errors=a,x.toUrl=g,x.sync=S,e.define=v,e.require=x,e.syncRequire=S})(),e.require.config({baseUrl:`./`,paths:{core:`useblocks-core.c589fcf1.js`}});
16
16
 
17
17
  // PublicPath (script detection via document.currentScript)
18
18
  if (!__useblocks__.publicPath) {
@@ -740,7 +740,7 @@ __useblocks__.define(`useblocks.js`,[`require`,`exports`,`module`],function(e,t,
740
740
  100% {
741
741
  transform: rotate(360deg);
742
742
  }
743
- }`;function ue(){return()=>{}}function de(e,t){if(!U()||!e||typeof document>`u`)return ue();e.querySelectorAll(`.blocks-app-initial-spinner-wrapper`).forEach(e=>{e.remove()});let n=document.createElement(`div`);n.classList.add(`blocks-app-initial-spinner-wrapper`);let r=document.createElement(`div`);r.classList.add(`blocks-app-initial-spinner`),n.appendChild(r);let i=document.createElement(`style`);i.setAttribute(t,`true`),i.textContent=W,document.head?.appendChild(i),e.appendChild(n);let a=!1;return()=>{a||(a=!0,n.remove(),i.remove())}}function G(e){return f(e)}G(`HANDLE_ATOM_INSERT`),G(`SETTINGS_PANEL_EVENT`),G(`MODAL_SHOW_EVENT`),G(`MODAL_CLOSE_EVENT`),G(`MODAL_UPDATE_EVENT`);var fe=i((e=>{var t={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},n=Object.assign,r={};function i(e,n,i){this.props=e,this.context=n,this.refs=r,this.updater=i||t}i.prototype.isReactComponent={},i.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`setState(...): takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},i.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function a(){}a.prototype=i.prototype;function o(e,n,i){this.props=e,this.context=n,this.refs=r,this.updater=i||t}var s=o.prototype=new a;s.constructor=o,n(s,i.prototype),s.isPureReactComponent=!0,Array.isArray}));i(((e,t)=>{t.exports=fe()}))();function K(e){return f(e)}var pe;(function(e){e.BEFORE_SAVE_EMAIL=K(),e.ON_SAVEBUTTON_CLICK_ID=K(),e.ON_NEXTBUTTON_CLICK_ID=K(),e.ON_PREVIOUSBUTTON_CLICK_ID=K(),e.ON_MODEL_CHANGE=K(),e.WILL_EMAIL_INIT_ID=K(),e.ON_EMAIL_INIT_ID=K(),e.ON_BLOCK_INIT_ID=K(),e.ON_CONTENT_CHANGED_ID=K(),e.ON_PREHEADER_CHANGED_ID=K(),e.ON_SUBJECT_CHANGED_ID=K(),e.ON_EMAIL_CHANGED_ID=K(),e.ON_BLOCK_CHANGED_ID=K(),e.ON_CHUNKS_LOADED=K(),e.ON_SEND_TESTEMAIL_ID=K(),e.ON_SEND_LIVEPREVIEW_ID=K(),e.ON_SHARE_ID=K(),e.ON_SHOW_PREVIEW_ID=K(),e.ON_EMAIL_CLONE_ID=K(),e.ON_SEND_EMAIL_MODAL_ID=K(),e.ON_NOTIFICATION=K(),e.READ_LOCALE=K(),e.ON_TRANSLATE_ID=K(),e.ON_CODE_VALIDATE_ID=K(),e.UPLOAD_EVENT_ID=K(),e.PROXY_URL_EVENT_ID=K(),e.FILE_PROXY_EVENT_ID=K(),e.ON_LIMIT_ID=K(),e.ON_GLOBAL_BLOCK_PROPAGATE_UPDATE_ID=K(),e.ON_BROWSER_EXTENSION_DETECTED_ID=K()})(pe||={}),K(`APP_LOAD_EVENT`),K(`CONFIG_CHANGED_EVENT`);function q(e){for(;e.endsWith(`/`);)e=e.slice(0,e.length-1);return/\/wp-json$/i.test(e)?e:`${e}/wp-json`}q(`https://app.useblocks.io/api`);var me;(function(e){let t=`https://racs.rest/v3`;function n(e,n){let r={method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify(n)};return fetch(`${t}?resource=${e}&dataset=${document.location.hostname}`,r)}e.post=n;async function r(e,n=0){let r={method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:`{"filter":{},"limit":${n}}`};return await(await fetch(`${t}/get?resource=${e}&dataset=${document.location.hostname}`,r)).json()}e.getAll=r})(me||={});var J=new Map,Y=new WeakMap;function X(e){return q(String(e||``).trim()||`https://app.useblocks.io/api`)}async function he(e){if(!e.getAuthToken)return;let t=await e.getAuthToken(e.user,e.project,void 0);return t?`Bearer ${t}`:void 0}function ge(e){return async({baseUrl:t})=>{let n=X(t);if(!n)throw Error(`[Loader] appInit warmup requires baseUrl or REACT_APP_OPENAPI_BASE_URL`);let r=new Headers({Accept:`application/json`,"Content-Type":`application/x-www-form-urlencoded;charset=UTF-8`}),i=await he(e);i&&r.set(`authorization`,i);let a=await fetch(`${n}/app/v1/app_init`,{method:`POST`,headers:r,body:new URLSearchParams,credentials:`same-origin`});if(!a.ok)throw Error(`[Loader] appInit request failed: ${a.status} ${a.statusText}`);return a.json()}}function _e(e){return JSON.stringify({baseUrl:X(e.baseUrl)||``,project:e.project??``,userId:e.user?.id??``})}function ve(e){return async t=>{let n=_e(t),r=J.get(n);if(r)return r;let i=Promise.resolve(e(t)).catch(e=>{throw J.delete(n),e});return J.set(n,i),i}}function ye(e){if(e.standaloneKey)return e;let t=e.appInit||ge(e),n=Y.get(t);return n||(n=ve(t),Y.set(t,n)),Promise.resolve(n({baseUrl:e.baseUrl,user:e.user,project:e.project,prevApp:void 0})).catch(e=>{}),{...e,appInit:n}}var Z=new WeakMap;function be(e){let t=null;return async(n,r,i)=>(t||=Promise.resolve(e(n,r,i)).finally(()=>{t=null}),t)}function xe(e){if(e.standaloneKey)return e;let t=e.getAuthToken;if(!t)return e;let n=Z.get(t);return n||(n=be(t),Z.set(t,n)),Promise.resolve(n(e.user,e.project,void 0)).catch(e=>{}),{...e,getAuthToken:n}}var Q=a({FileManagerApiError:()=>y}),Se=a({mapHttpStatusToErrorCode:()=>b});function Ce(e,t){return{...e,element:t}}function $(){return()=>{}}function we(e){let t=e.element;return!t||typeof t==`string`||typeof document>`u`?$():(z(t,e.config?.styles,t),()=>{B(t)})}function Te(e){if(!U()||e.initialSpinner===!1||typeof document>`u`)return{options:e,cleanup:$()};let t=e.element;if(!t||typeof t==`string`)return{options:e,cleanup:$()};t.querySelectorAll(`.blocks-app-initial-spinner-wrapper`).forEach(e=>{e.remove()});let n=de(t,`data-useblocks`),r=e.handleChunkLoaded;return{options:{...e,handleChunkLoaded:()=>{n(),r?.()}},cleanup:n}}function Ee(e){return e?.length?e.some(e=>Array.isArray(e)?!1:!!(e&&typeof e==`object`&&`url`in e)):!1}var De=`1.1.5`;async function Oe(e){await D(typeof __useblocks__<`u`?__useblocks__:void 0)}async function ke(e){let t=new o,n=await V(e.element,t);t.dispose();let r=ye(xe(Ce(e,n)));if(n){let e=H.get(n);if(e)try{let t=await e;if(t.getElement()===n)return t.reset(r)}catch{H.get(n)===e&&H.delete(n)}}let i=we(r),a=Te(r),s=a.options;await T();let c=typeof __useblocks__<`u`?__useblocks__:void 0;Ee(s.plugins)?await E(c):A(c);let l=S().then(e=>e.init(s));n&&H.set(n,l);try{let e=await l;return n&&H.set(n,e),e}catch(e){throw i(),a.cleanup(),n&&H.get(n)===l&&H.delete(n),e}}async function Ae(e){return(await S()).parseAMP(e)}typeof window<`u`&&j(typeof __useblocks__<`u`?__useblocks__:void 0),Object.defineProperty(t,"errors",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(t,"helpers",{enumerable:!0,get:function(){return Se}}),t.init=ke,t.parseAMP=Ae,t.pluginRegistry=P,t.preload=Oe,t.version=De});
743
+ }`;function ue(){return()=>{}}function de(e,t){if(!U()||!e||typeof document>`u`)return ue();e.querySelectorAll(`.blocks-app-initial-spinner-wrapper`).forEach(e=>{e.remove()});let n=document.createElement(`div`);n.classList.add(`blocks-app-initial-spinner-wrapper`);let r=document.createElement(`div`);r.classList.add(`blocks-app-initial-spinner`),n.appendChild(r);let i=document.createElement(`style`);i.setAttribute(t,`true`),i.textContent=W,document.head?.appendChild(i),e.appendChild(n);let a=!1;return()=>{a||(a=!0,n.remove(),i.remove())}}function G(e){return f(e)}G(`HANDLE_ATOM_INSERT`),G(`SETTINGS_PANEL_EVENT`),G(`MODAL_SHOW_EVENT`),G(`MODAL_CLOSE_EVENT`),G(`MODAL_UPDATE_EVENT`);var fe=i((e=>{var t={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},n=Object.assign,r={};function i(e,n,i){this.props=e,this.context=n,this.refs=r,this.updater=i||t}i.prototype.isReactComponent={},i.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`setState(...): takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},i.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function a(){}a.prototype=i.prototype;function o(e,n,i){this.props=e,this.context=n,this.refs=r,this.updater=i||t}var s=o.prototype=new a;s.constructor=o,n(s,i.prototype),s.isPureReactComponent=!0,Array.isArray}));i(((e,t)=>{t.exports=fe()}))();function K(e){return f(e)}var pe;(function(e){e.BEFORE_SAVE_EMAIL=K(),e.ON_SAVEBUTTON_CLICK_ID=K(),e.ON_NEXTBUTTON_CLICK_ID=K(),e.ON_PREVIOUSBUTTON_CLICK_ID=K(),e.ON_MODEL_CHANGE=K(),e.WILL_EMAIL_INIT_ID=K(),e.ON_EMAIL_INIT_ID=K(),e.ON_BLOCK_INIT_ID=K(),e.ON_CONTENT_CHANGED_ID=K(),e.ON_PREHEADER_CHANGED_ID=K(),e.ON_SUBJECT_CHANGED_ID=K(),e.ON_EMAIL_CHANGED_ID=K(),e.ON_BLOCK_CHANGED_ID=K(),e.ON_CHUNKS_LOADED=K(),e.ON_SEND_TESTEMAIL_ID=K(),e.ON_SEND_LIVEPREVIEW_ID=K(),e.ON_SHARE_ID=K(),e.ON_SHOW_PREVIEW_ID=K(),e.ON_EMAIL_CLONE_ID=K(),e.ON_SEND_EMAIL_MODAL_ID=K(),e.ON_NOTIFICATION=K(),e.READ_LOCALE=K(),e.ON_TRANSLATE_ID=K(),e.ON_CODE_VALIDATE_ID=K(),e.UPLOAD_EVENT_ID=K(),e.PROXY_URL_EVENT_ID=K(),e.FILE_PROXY_EVENT_ID=K(),e.ON_LIMIT_ID=K(),e.ON_GLOBAL_BLOCK_PROPAGATE_UPDATE_ID=K(),e.ON_BROWSER_EXTENSION_DETECTED_ID=K()})(pe||={}),K(`APP_LOAD_EVENT`),K(`CONFIG_CHANGED_EVENT`);function q(e){for(;e.endsWith(`/`);)e=e.slice(0,e.length-1);return/\/wp-json$/i.test(e)?e:`${e}/wp-json`}q(`https://app.useblocks.io/api`);var me;(function(e){let t=`https://racs.rest/v3`;function n(e,n){let r={method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify(n)};return fetch(`${t}?resource=${e}&dataset=${document.location.hostname}`,r)}e.post=n;async function r(e,n=0){let r={method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:`{"filter":{},"limit":${n}}`};return await(await fetch(`${t}/get?resource=${e}&dataset=${document.location.hostname}`,r)).json()}e.getAll=r})(me||={});var J=new Map,Y=new WeakMap;function X(e){return q(String(e||``).trim()||`https://app.useblocks.io/api`)}async function he(e){if(!e.getAuthToken)return;let t=await e.getAuthToken(e.user,e.project,void 0);return t?`Bearer ${t}`:void 0}function ge(e){return async({baseUrl:t})=>{let n=X(t);if(!n)throw Error(`[Loader] appInit warmup requires baseUrl or REACT_APP_OPENAPI_BASE_URL`);let r=new Headers({Accept:`application/json`,"Content-Type":`application/x-www-form-urlencoded;charset=UTF-8`}),i=await he(e);i&&r.set(`authorization`,i);let a=await fetch(`${n}/app/v1/app_init`,{method:`POST`,headers:r,body:new URLSearchParams,credentials:`same-origin`});if(!a.ok)throw Error(`[Loader] appInit request failed: ${a.status} ${a.statusText}`);return a.json()}}function _e(e){return JSON.stringify({baseUrl:X(e.baseUrl)||``,project:e.project??``,userId:e.user?.id??``})}function ve(e){return async t=>{let n=_e(t),r=J.get(n);if(r)return r;let i=Promise.resolve(e(t)).catch(e=>{throw J.delete(n),e});return J.set(n,i),i}}function ye(e){if(e.standaloneKey)return e;let t=e.appInit||ge(e),n=Y.get(t);return n||(n=ve(t),Y.set(t,n)),Promise.resolve(n({baseUrl:e.baseUrl,user:e.user,project:e.project,prevApp:void 0})).catch(e=>{}),{...e,appInit:n}}var Z=new WeakMap;function be(e){let t=null;return async(n,r,i)=>(t||=Promise.resolve(e(n,r,i)).finally(()=>{t=null}),t)}function xe(e){if(e.standaloneKey)return e;let t=e.getAuthToken;if(!t)return e;let n=Z.get(t);return n||(n=be(t),Z.set(t,n)),Promise.resolve(n(e.user,e.project,void 0)).catch(e=>{}),{...e,getAuthToken:n}}var Q=a({FileManagerApiError:()=>y}),Se=a({mapHttpStatusToErrorCode:()=>b});function Ce(e,t){return{...e,element:t}}function $(){return()=>{}}function we(e){let t=e.element;return!t||typeof t==`string`||typeof document>`u`?$():(z(t,e.config?.styles,t),()=>{B(t)})}function Te(e){if(!U()||e.initialSpinner===!1||typeof document>`u`)return{options:e,cleanup:$()};let t=e.element;if(!t||typeof t==`string`)return{options:e,cleanup:$()};t.querySelectorAll(`.blocks-app-initial-spinner-wrapper`).forEach(e=>{e.remove()});let n=de(t,`data-useblocks`),r=e.handleChunkLoaded;return{options:{...e,handleChunkLoaded:()=>{n(),r?.()}},cleanup:n}}function Ee(e){return e?.length?e.some(e=>Array.isArray(e)?!1:!!(e&&typeof e==`object`&&`url`in e)):!1}var De=`1.1.6`;async function Oe(e){await D(typeof __useblocks__<`u`?__useblocks__:void 0)}async function ke(e){let t=new o,n=await V(e.element,t);t.dispose();let r=ye(xe(Ce(e,n)));if(n){let e=H.get(n);if(e)try{let t=await e;if(t.getElement()===n)return t.reset(r)}catch{H.get(n)===e&&H.delete(n)}}let i=we(r),a=Te(r),s=a.options;await T();let c=typeof __useblocks__<`u`?__useblocks__:void 0;Ee(s.plugins)?await E(c):A(c);let l=S().then(e=>e.init(s));n&&H.set(n,l);try{let e=await l;return n&&H.set(n,e),e}catch(e){throw i(),a.cleanup(),n&&H.get(n)===l&&H.delete(n),e}}async function Ae(e){return(await S()).parseAMP(e)}typeof window<`u`&&j(typeof __useblocks__<`u`?__useblocks__:void 0),Object.defineProperty(t,"errors",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(t,"helpers",{enumerable:!0,get:function(){return Se}}),t.init=ke,t.parseAMP=Ae,t.pluginRegistry=P,t.preload=Oe,t.version=De});
744
744
 
745
745
  // Возвращаем API из entry модуля
746
746
  return __useblocks__.syncRequire("useblocks.js");
@@ -1 +0,0 @@
1
- __useblocks__.define(`static/core/19862da2.js`,[`require`,`exports`,`module`,`static/core/4dc58c63.js`,`static/core/a7eda932.js`],function(e,t,n){e("./4dc58c63.js"),t.default=e("./a7eda932.js").t});
@@ -1 +0,0 @@
1
- __useblocks__.define(`static/core/1f835788.js`,[`require`,`exports`,`module`],function(e,t,n){function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}Object.defineProperty(t,"t",{enumerable:!0,get:function(){return r}})});
@@ -1 +0,0 @@
1
- __useblocks__.define(`static/core/366b74ab.js`,[`require`,`exports`,`module`,`static/core/50bc8ba9.js`,`static/core/d493261a.js`,`react`,`react-router-dom`],function(e,t,n){let r=e("./50bc8ba9.js"),i=e("./d493261a.js"),a=e("react"),o=e("react-router-dom");var s=()=>r.Ar.useInstance(r.fa);function c(e,t){if(e){if(t===`preview`){let t=e;return t.preview??t.test_sends}return e[t]}}function l(e,t){if(e?.flags){if(t===`preview`){let t=e.flags;return t.preview??t.test_sends}return e.flags[t]}}var u=[10,30,300],d=[10,50,150];function f(e,t){for(let n of t)if(n>e)return n;return`infinity`}function p(e){return e<=10?`email_10_30`:e<=30?`email_30_300`:`email_300_inf`}function m(e){return e<=10?`ai_10_50`:e<=50?`ai_30_150`:`ai_150_inf`}function h(e,t){return t?.limit_exceeded?!0:e.is_unlimited||e.total_limit<=0?!1:e.remaining<=0||e.used>=e.total_limit}var g=[`optimization`,`image_generate`,`preview`,`link_check`,`image_check`,`spam_check`];function _(e){return g.includes(e)}var v={optimization:`optimization_exceeded`,image_generate:`image_generate_exceeded`,preview:`preview_exceeded`,link_check:`link_check_exceeded`,image_check:`image_check_exceeded`,spam_check:`spam_check_exceeded`};function y(e,t,n){if(_(e))return null;let r=c(t,e),i=l(n,e);if(!r||!h(r,i))return null;let a=r.total_limit;return{kind:e,presetId:v[e],previousLimit:a,nextLimit:`infinity`}}function b(e,t){if(!e)return null;let n=c(e,`ai`),r=l(t,`ai`);if(n&&h(n,r)){let e=n.total_limit;return{kind:`ai`,presetId:m(e),previousLimit:e,nextLimit:f(e,d)}}let i=c(e,`email_generate`),a=l(t,`email_generate`);if(i&&h(i,a)){let e=i.total_limit;return{kind:`email_generate`,presetId:p(e),previousLimit:e,nextLimit:f(e,u)}}return y(`image_generate`,e,t)||y(`optimization`,e,t)||y(`preview`,e,t)||y(`link_check`,e,t)||y(`image_check`,e,t)||y(`spam_check`,e,t)}function x(e){return{presetId:m(e),previousLimit:e,nextLimit:f(e,d)}}function S(e){let t=String(e??``).split(`;`)[0].trim();if(!t)return``;let n=t.toLowerCase(),r=n.indexOf(`/`);if(r===-1)return n;let i=n.slice(r+1);return i===`svg+xml`?`svg`:i}async function C(e){if(typeof createImageBitmap==`function`)try{let t=await createImageBitmap(e);try{return{width:t.width,height:t.height}}finally{t.close?.()}}catch{}return new Promise((t,n)=>{let r=URL.createObjectURL(e),i=new Image;i.onload=()=>{URL.revokeObjectURL(r);let e=i.naturalWidth||i.width,a=i.naturalHeight||i.height;e>0&&a>0?t({width:e,height:a}):n(Error(`Could not read image dimensions`))},i.onerror=()=>{URL.revokeObjectURL(r),n(Error(`Could not decode image`))},i.src=r})}function w(e){return e.trim()}function T(){let e=new Map,t=new Map;function n(e,t){return t?new Promise((n,r)=>{if(t.aborted){r(new DOMException(`Aborted`,`AbortError`));return}let i=()=>{r(new DOMException(`Aborted`,`AbortError`))};t.addEventListener(`abort`,i,{once:!0}),e.then(e=>{t.removeEventListener(`abort`,i),n(e)},e=>{t.removeEventListener(`abort`,i),r(e)})}):e}async function r(r,i,a){let o=w(r);if(!o)throw Error(`Empty image URL`);let s=e.get(o);if(s){if(i?.aborted)throw new DOMException(`Aborted`,`AbortError`);return s}let c=t.get(o);if(c)return n(c.promise,i);let l=new AbortController,u=a(o,l.signal).then(n=>(t.delete(o),e.set(o,n),n)).catch(e=>{throw t.delete(o),e});return t.set(o,{promise:u,controller:l}),n(u,i)}function i(n){let r=w(n);if(!r)return;let i=t.get(r);i&&(i.controller.abort(),t.delete(r)),e.delete(r)}function a(){for(let[,e]of t)e.controller.abort();t.clear(),e.clear()}return{resolve:r,abandonKey:i,invalidateAll:a}}function E(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(typeof n==`string`&&n)return n}}function D(e){for(let t=0;t<e.length;t++){let n=e[t];if(n instanceof Blob)return n}}function O(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(typeof r==`string`&&r&&r!==t)return r}}async function k(e,t){if(!e||typeof e.findFileByUrl!=`function`)return null;let n=await e.findFileByUrl(t);if(!n)return null;let r=typeof e.getFileById==`function`&&n.id&&await e.getFileById(n.id)||n,i=r.url||t,a=r.thumbnailUrl||r.thumbnail||i||(typeof e.getThumbnailUrl==`function`?await e.getThumbnailUrl(r):``)||``;return a?{file:r,previewUrl:a}:null}function A(){let e=r.vn(),t=i.t(),n=r.Fr(r.ct),{projectId:s}=(0,o.useParams)(),c=n?.id===void 0?s||``:String(n.id),l=r.q(r.Da.FILE_PROXY_EVENT_ID),u=r.q(r.Da.PROXY_URL_EVENT_ID),d=(0,a.useCallback)(async e=>O(await u.fire({url:e,project:c}),e),[c,u]);return(0,a.useCallback)(async(n,i)=>{let a=D(await l.fire({url:n,project:c}));if(a)return a;let o=await d(n);if(i?.aborted)throw new DOMException(`Aborted`,`AbortError`);let s=i?{signal:i}:void 0,u=o&&o!==n?await fetch(o,s):await r.oa(n,{config:e,standalone:t,intent:`downloadBlob`,validateBlob:async e=>!e.type||e.type.startsWith(`image/`),init:s});if(!u.ok)throw Error(`Server returned ${u.status}`);return u.blob()},[e,c,t,l,d])}Object.defineProperty(t,"a",{enumerable:!0,get:function(){return T}}),Object.defineProperty(t,"c",{enumerable:!0,get:function(){return x}}),Object.defineProperty(t,"i",{enumerable:!0,get:function(){return w}}),Object.defineProperty(t,"l",{enumerable:!0,get:function(){return b}}),Object.defineProperty(t,"n",{enumerable:!0,get:function(){return k}}),Object.defineProperty(t,"o",{enumerable:!0,get:function(){return C}}),Object.defineProperty(t,"r",{enumerable:!0,get:function(){return E}}),Object.defineProperty(t,"s",{enumerable:!0,get:function(){return S}}),Object.defineProperty(t,"t",{enumerable:!0,get:function(){return A}}),Object.defineProperty(t,"u",{enumerable:!0,get:function(){return s}})});