File: /wordpress/core/beta/wp-includes/js/dist/list-reusable-blocks.min.js
/*! This file is auto-generated */
"use strict";var wp;(wp||={}).listReusableBlocks=(()=>{var ie=Object.create;var F=Object.defineProperty;var ae=Object.getOwnPropertyDescriptor;var se=Object.getOwnPropertyNames;var ce=Object.getPrototypeOf,ue=Object.prototype.hasOwnProperty;var u=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var le=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of se(e))!ue.call(r,o)&&o!==t&&F(r,o,{get:()=>e[o],enumerable:!(n=ae(e,o))||n.enumerable});return r};var i=(r,e,t)=>(t=r!=null?ie(ce(r)):{},le(e||!r||!r.__esModule?F(t,"default",{value:r,enumerable:!0}):t,r));var I=u((be,k)=>{k.exports=window.wp.element});var h=u((he,L)=>{L.exports=window.wp.i18n});var T=u((ve,B)=>{B.exports=window.wp.components});var C=u((ge,J)=>{J.exports=window.wp.compose});var R=u((xe,M)=>{M.exports=window.wp.apiFetch});var v=u((Ee,z)=>{z.exports=window.ReactJSXRuntime});var te=u(($e,ee)=>{ee.exports=window.wp.blob});var S=i(I(),1),oe=i(h(),1);var O=i(T(),1),q=i(C(),1),X=i(h(),1);var g=i(T(),1),G=i(C(),1),m=i(I(),1),l=i(h(),1);var N=i(R(),1);function $(r){let e=new window.FileReader;return new Promise(t=>{e.onload=()=>{t(e.result)},e.readAsText(r)})}async function fe(r){let e=await $(r),t;try{t=JSON.parse(e)}catch{throw new Error("Invalid JSON file")}if(t.__file!=="wp_block"||!t.title||!t.content||typeof t.title!="string"||typeof t.content!="string"||t.syncStatus&&typeof t.syncStatus!="string")throw new Error("Invalid pattern JSON file");let n=await(0,N.default)({path:"/wp/v2/types/wp_block"});return await(0,N.default)({path:`/wp/v2/${n.rest_base}`,data:{title:t.title,content:t.content,status:"publish",meta:t.syncStatus==="unsynced"?{wp_pattern_sync_status:t.syncStatus}:void 0},method:"POST"})}var U=fe;var f=i(v(),1);function pe({instanceId:r,onUpload:e}){let t="list-reusable-blocks-import-form-"+r,n=(0,m.useRef)(null),[o,a]=(0,m.useState)(!1),[s,c]=(0,m.useState)(null),[p,j]=(0,m.useState)(null),d=E=>{j(E.target.files?.[0]||null),c(null)},w=E=>{E.preventDefault(),p&&(a(!0),U(p).then(P=>{n.current&&(a(!1),e(P))}).catch(P=>{if(!n.current)return;let b;switch(P.message){case"Invalid JSON file":b=(0,l.__)("Invalid JSON file");break;case"Invalid pattern JSON file":b=(0,l.__)("Invalid pattern JSON file");break;default:b=(0,l.__)("Unknown error")}a(!1),c(b)}))},_=()=>{c(null)};return(0,f.jsxs)("form",{className:"list-reusable-blocks-import-form",onSubmit:w,ref:n,children:[s&&(0,f.jsx)(g.Notice,{status:"error",onRemove:()=>_(),children:s}),(0,f.jsx)("label",{htmlFor:t,className:"list-reusable-blocks-import-form__label",children:(0,l.__)("File")}),(0,f.jsx)("input",{id:t,type:"file",onChange:d}),(0,f.jsx)(g.Button,{__next40pxDefaultSize:!0,type:"submit",isBusy:o,accessibleWhenDisabled:!0,disabled:!p||o,variant:"secondary",className:"list-reusable-blocks-import-form__button",children:(0,l._x)("Import","button label")})]})}var Z=(0,G.withInstanceId)(pe);var x=i(v(),1);function de({onUpload:r}){return(0,x.jsx)(O.Dropdown,{popoverProps:{placement:"bottom-start"},contentClassName:"list-reusable-blocks-import-dropdown__content",renderToggle:({isOpen:e,onToggle:t})=>(0,x.jsx)(O.Button,{size:"compact",className:"list-reusable-blocks-import-dropdown__button","aria-expanded":e,onClick:t,variant:"primary",children:(0,X.__)("Import from JSON")}),renderContent:({onClose:e})=>(0,x.jsx)(Z,{onUpload:(0,q.pipe)(e,r)})})}var K=de;var y=function(){return y=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++){t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},y.apply(this,arguments)};function V(r){return r.toLowerCase()}var me=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],ye=/[^A-Z0-9]+/gi;function W(r,e){e===void 0&&(e={});for(var t=e.splitRegexp,n=t===void 0?me:t,o=e.stripRegexp,a=o===void 0?ye:o,s=e.transform,c=s===void 0?V:s,p=e.delimiter,j=p===void 0?" ":p,d=H(H(r,n,"$1\0$2"),a,"\0"),w=0,_=d.length;d.charAt(w)==="\0";)w++;for(;d.charAt(_-1)==="\0";)_--;return d.slice(w,_).split("\0").map(c).join(j)}function H(r,e,t){return e instanceof RegExp?r.replace(e,t):e.reduce(function(n,o){return n.replace(o,t)},r)}function Q(r,e){return e===void 0&&(e={}),W(r,y({delimiter:"."},e))}function Y(r,e){return e===void 0&&(e={}),Q(r,y({delimiter:"-"},e))}var D=i(R(),1),re=i(te(),1);async function we(r){let e=await(0,D.default)({path:"/wp/v2/types/wp_block"}),t=await(0,D.default)({path:`/wp/v2/${e.rest_base}/${r}?context=edit`}),n=t.title.raw,o=t.content.raw,a=t.wp_pattern_sync_status,s=JSON.stringify({__file:"wp_block",title:n,content:o,syncStatus:a},null,2),c=Y(n)+".json";(0,re.downloadBlob)(c,s,"application/json")}var ne=we;var A=i(v(),1);document.body.addEventListener("click",r=>{let e=r.target;if(!e.classList.contains("wp-list-reusable-blocks__export"))return;r.preventDefault();let t=e.dataset.id;t&&ne(Number(t))});document.addEventListener("DOMContentLoaded",()=>{let r=document.querySelector(".page-title-action");if(!r)return;let e=()=>{let n=document.createElement("div");n.className="notice notice-success is-dismissible",n.innerHTML=`<p>${(0,oe.__)("Pattern imported successfully!")}</p>`;let o=document.querySelector(".wp-header-end");!o||!o.parentNode||o.parentNode.insertBefore(n,o)},t=document.createElement("div");t.className="list-reusable-blocks__container",r.parentNode&&(r.parentNode.insertBefore(t,r),(0,S.createRoot)(t).render((0,A.jsx)(S.StrictMode,{children:(0,A.jsx)(K,{onUpload:e})})))});})();