(()=>{"use strict";var e={n:t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window.ReactJSXRuntime,n=window.wp.element,o=window.wp.i18n;var r=function(){return r=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},r.apply(this,arguments)};function s(e){return e.toLowerCase()}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var a=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],i=/[^A-Z0-9]+/gi;function l(e,t,n){return t instanceof RegExp?e.replace(t,n):t.reduce(function(e,t){return e.replace(t,n)},e)}const c=window.wp.apiFetch;var p=e.n(c);const d=window.wp.blob;var u=async function(e){const t=await p()({path:"/wp/v2/types/wp_block"}),n=await p()({path:`/wp/v2/${t.rest_base}/${e}?context=edit`}),o=n.title.raw,c=n.content.raw,u=n.wp_pattern_sync_status,w=JSON.stringify({__file:"wp_block",title:o,content:c,syncStatus:u},null,2),f=(void 0===m&&(m={}),function(e,t){return void 0===t&&(t={}),function(e,t){void 0===t&&(t={});for(var n=t.splitRegexp,o=void 0===n?a:n,r=t.stripRegexp,c=void 0===r?i:r,p=t.transform,d=void 0===p?s:p,u=t.delimiter,w=void 0===u?" ":u,f=l(l(e,o,"$1\0$2"),c,"\0"),m=0,b=f.length;"\0"===f.charAt(m);)m++;for(;"\0"===f.charAt(b-1);)b--;return f.slice(m,b).split("\0").map(d).join(w)}(e,r({delimiter:"."},t))}(o,r({delimiter:"-"},m))+".json");var m;(0,d.downloadBlob)(f,w,"application/json")};const w=window.wp.compose,f=window.wp.components;var m=(0,w.withInstanceId)(function({instanceId:e,onUpload:r}){const s="list-reusable-blocks-import-form-"+e,a=(0,n.useRef)(),[i,l]=(0,n.useState)(!1),[c,d]=(0,n.useState)(null),[u,w]=(0,n.useState)(null);return(0,t.jsxs)("form",{className:"list-reusable-blocks-import-form",onSubmit:e=>{e.preventDefault(),u&&(l({isLoading:!0}),async function(e){const t=await function(e){const t=new window.FileReader;return new Promise(n=>{t.onload=()=>{n(t.result)},t.readAsText(e)})}(e);let n;try{n=JSON.parse(t)}catch(e){throw new Error("Invalid JSON file")}if("wp_block"!==n.__file||!n.title||!n.content||"string"!=typeof n.title||"string"!=typeof n.content||n.syncStatus&&"string"!=typeof n.syncStatus)throw new Error("Invalid pattern JSON file");const o=await p()({path:"/wp/v2/types/wp_block"});return await p()({path:`/wp/v2/${o.rest_base}`,data:{title:n.title,content:n.content,status:"publish",meta:"unsynced"===n.syncStatus?{wp_pattern_sync_status:n.syncStatus}:void 0},method:"POST"})}(u).then(e=>{a&&(l(!1),r(e))}).catch(e=>{if(!a)return;let t;switch(e.message){case"Invalid JSON file":t=(0,o.__)("Invalid JSON file");break;case"Invalid pattern JSON file":t=(0,o.__)("Invalid pattern JSON file");break;default:t=(0,o.__)("Unknown error")}l(!1),d(t)}))},ref:a,children:[c&&(0,t.jsx)(f.Notice,{status:"error",onRemove:()=>{d(null)},children:c}),(0,t.jsx)("label",{htmlFor:s,className:"list-reusable-blocks-import-form__label",children:(0,o.__)("File")}),(0,t.jsx)("input",{id:s,type:"file",onChange:e=>{w(e.target.files[0]),d(null)}}),(0,t.jsx)(f.Button,{__next40pxDefaultSize:!0,type:"submit",isBusy:i,accessibleWhenDisabled:!0,disabled:!u||i,variant:"secondary",className:"list-reusable-blocks-import-form__button",children:(0,o._x)("Import","button label")})]})}),b=function({onUpload:e}){return(0,t.jsx)(f.Dropdown,{popoverProps:{placement:"bottom-start"},contentClassName:"list-reusable-blocks-import-dropdown__content",renderToggle:({isOpen:e,onToggle:n})=>(0,t.jsx)(f.Button,{size:"compact",className:"list-reusable-blocks-import-dropdown__button","aria-expanded":e,onClick:n,variant:"primary",children:(0,o.__)("Import from JSON")}),renderContent:({onClose:n})=>(0,t.jsx)(m,{onUpload:(0,w.pipe)(n,e)})})};document.body.addEventListener("click",e=>{e.target.classList.contains("wp-list-reusable-blocks__export")&&(e.preventDefault(),u(e.target.dataset.id))}),document.addEventListener("DOMContentLoaded",()=>{const e=document.querySelector(".page-title-action");if(!e)return;const r=document.createElement("div");r.className="list-reusable-blocks__container",e.parentNode.insertBefore(r,e),(0,n.createRoot)(r).render((0,t.jsx)(n.StrictMode,{children:(0,t.jsx)(b,{onUpload:()=>{const e=document.createElement("div");e.className="notice notice-success is-dismissible",e.innerHTML=`<p>${(0,o.__)("Pattern imported successfully!")}</p>`;const t=document.querySelector(".wp-header-end");t&&t.parentNode.insertBefore(e,t)}})}))}),(window.wp=window.wp||{}).listReusableBlocks={}})();