var wp;(wp||={}).reusableBlocks=(()=>{var Ta=Object.create;var C=Object.defineProperty;var Ea=Object.getOwnPropertyDescriptor;var Da=Object.getOwnPropertyNames;var Ua=Object.getPrototypeOf,ja=Object.prototype.hasOwnProperty;var d=(a,t)=>()=>(t||a((t={exports:{}}).exports,t),t.exports),I=(a,t)=>{for(var o in t)C(a,o,{get:t[o],enumerable:!0})},X=(a,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Da(t))!ja.call(a,s)&&s!==o&&C(a,s,{get:()=>t[s],enumerable:!(r=Ea(t,s))||r.enumerable});return a};var e=(a,t,o)=>(o=a!=null?Ta(Ua(a)):{},X(t||!a||!a.__esModule?C(o,"default",{value:a,enumerable:!0}):o,a)),Aa=a=>X(C({},"__esModule",{value:!0}),a);var R=d((Ka,Y)=>{Y.exports=window.wp.data});var x=d((Wa,Z)=>{Z.exports=window.wp.blockEditor});var L=d((Qa,$)=>{$.exports=window.wp.blocks});var T=d((Xa,aa)=>{aa.exports=window.wp.i18n});var fa=d((at,ra)=>{ra.exports=window.wp.element});var z=d((tt,la)=>{la.exports=window.wp.components});var ua=d((et,sa)=>{sa.exports=window.wp.primitives});var _=d((ot,ma)=>{ma.exports=window.ReactJSXRuntime});var ia=d((st,da)=>{da.exports=window.wp.notices});var O=d((ut,pa)=>{pa.exports=window.wp.coreData});var ka=d((pt,ha)=>{ha.exports=window.wp.url});var qa={};I(qa,{ReusableBlocksMenuItems:()=>Ra,store:()=>k});var E=e(R());var N={};I(N,{__experimentalConvertBlockToStatic:()=>Ma,__experimentalConvertBlocksToReusable:()=>Ia,__experimentalDeleteReusableBlock:()=>Na,__experimentalSetEditingReusableBlock:()=>Va});var h=e(x()),c=e(L()),ta=e(T()),Ma=a=>({registry:t})=>{let o=t.select(h.store).getBlock(a),r=t.select("core").getEditedEntityRecord("postType","wp_block",o.attributes.ref),s=(0,c.parse)(typeof r.content=="function"?r.content(r):r.content);t.dispatch(h.store).replaceBlocks(o.clientId,s)},Ia=(a,t,o)=>async({registry:r,dispatch:s})=>{let p=o==="unsynced"?{wp_pattern_sync_status:o}:void 0,m={title:t||(0,ta.__)("Untitled pattern block"),content:(0,c.serialize)(r.select(h.store).getBlocksByClientId(a)),status:"publish",meta:p},w=await r.dispatch("core").saveEntityRecord("postType","wp_block",m);if(o==="unsynced")return;let i=(0,c.createBlock)("core/block",{ref:w.id});r.dispatch(h.store).replaceBlocks(a,i),s.__experimentalSetEditingReusableBlock(i.clientId,!0)},Na=a=>async({registry:t})=>{if(!t.select("core").getEditedEntityRecord("postType","wp_block",a))return;let p=t.select(h.store).getBlocks().filter(m=>(0,c.isReusableBlock)(m)&&m.attributes.ref===a).map(m=>m.clientId);p.length&&t.dispatch(h.store).removeBlocks(p),await t.dispatch("core").deleteEntityRecord("postType","wp_block",a)};function Va(a,t){return{type:"SET_EDITING_REUSABLE_BLOCK",clientId:a,isEditing:t}}var ea=e(R());function za(a={},t){return t?.type==="SET_EDITING_REUSABLE_BLOCK"?{...a,[t.clientId]:t.isEditing}:a}var oa=(0,ea.combineReducers)({isEditingReusableBlock:za});var V={};I(V,{__experimentalIsEditingReusableBlock:()=>Fa});function Fa(a,t){return a.isEditingReusableBlock[t]}var Pa="core/reusable-blocks",k=(0,E.createReduxStore)(Pa,{actions:N,reducer:oa,selectors:V});(0,E.register)(k);var va=e(x());var U=e(L()),na=e(x()),B=e(fa()),l=e(z());var D=e(ua()),F=e(_()),P=(0,F.jsx)(D.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,F.jsx)(D.Path,{d:"M21.3 10.8l-5.6-5.6c-.7-.7-1.8-.7-2.5 0l-5.6 5.6c-.7.7-.7 1.8 0 2.5l5.6 5.6c.3.3.8.5 1.2.5s.9-.2 1.2-.5l5.6-5.6c.8-.7.8-1.9.1-2.5zm-1 1.4l-5.6 5.6c-.1.1-.3.1-.4 0l-5.6-5.6c-.1-.1-.1-.3 0-.4l5.6-5.6s.1-.1.2-.1.1 0 .2.1l5.6 5.6c.1.1.1.3 0 .4zm-16.6-.4L10 5.5l-1-1-6.3 6.3c-.7.7-.7 1.8 0 2.5L9 19.5l1.1-1.1-6.3-6.3c-.2 0-.2-.2-.1-.3z"})});var S=e(R()),f=e(T()),ca=e(ia()),q=e(O());var u=e(_());function ba({clientIds:a,rootClientId:t,onClose:o}){let[r,s]=(0,B.useState)(void 0),[p,m]=(0,B.useState)(!1),[w,i]=(0,B.useState)(""),y=(0,S.useSelect)(n=>{let{canUser:A}=n(q.store),{getBlocksByClientId:_a,canInsertBlockType:Sa,getBlockRootClientId:Ca}=n(na.store),La=t||(a.length>0?Ca(a[0]):void 0),v=_a(a)??[];return!(v.length===1&&v[0]&&(0,U.isReusableBlock)(v[0])&&!!n(q.store).getEntityRecord("postType","wp_block",v[0].attributes.ref))&&Sa("core/block",La)&&v.every(M=>!!M&&M.isValid&&(0,U.hasBlockSupport)(M.name,"reusable",!0))&&!!A("create",{kind:"postType",name:"wp_block"})},[a,t]),{__experimentalConvertBlocksToReusable:K}=(0,S.useDispatch)(k),{createSuccessNotice:W,createErrorNotice:Q}=(0,S.useDispatch)(ca.store),xa=(0,B.useCallback)(async function(n){try{await K(a,n,r),W(r?(0,f.sprintf)((0,f.__)("Unsynced pattern created: %s"),n):(0,f.sprintf)((0,f.__)("Synced pattern created: %s"),n),{type:"snackbar",id:"convert-to-reusable-block-success"})}catch(A){Q(A.message,{type:"snackbar",id:"convert-to-reusable-block-error"})}},[K,a,r,W,Q]);return y?(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(l.MenuItem,{icon:P,onClick:()=>m(!0),children:(0,f.__)("Create pattern")}),p&&(0,u.jsx)(l.Modal,{title:(0,f.__)("Create pattern"),onRequestClose:()=>{m(!1),i("")},overlayClassName:"reusable-blocks-menu-items__convert-modal",children:(0,u.jsx)("form",{onSubmit:n=>{n.preventDefault(),xa(w),m(!1),i(""),o()},children:(0,u.jsxs)(l.__experimentalVStack,{spacing:"5",children:[(0,u.jsx)(l.TextControl,{__next40pxDefaultSize:!0,label:(0,f.__)("Name"),value:w,onChange:i,placeholder:(0,f.__)("My pattern")}),(0,u.jsx)(l.ToggleControl,{label:(0,f._x)("Synced","pattern (singular)"),help:(0,f.__)("Sync this pattern across multiple locations."),checked:!r,onChange:()=>{s(r?void 0:"unsynced")}}),(0,u.jsxs)(l.__experimentalHStack,{justify:"right",children:[(0,u.jsx)(l.Button,{__next40pxDefaultSize:!0,variant:"tertiary",onClick:()=>{m(!1),i("")},children:(0,f.__)("Cancel")}),(0,u.jsx)(l.Button,{__next40pxDefaultSize:!0,variant:"primary",type:"submit",children:(0,f.__)("Create")})]})]})})})]}):null}var H=e(z()),G=e(T()),ga=e(L()),j=e(R()),wa=e(x()),J=e(ka()),Ba=e(O());var g=e(_());function Oa({clientId:a}){let{canRemove:t,isVisible:o,managePatternsUrl:r}=(0,j.useSelect)(p=>{let{getBlock:m,canRemoveBlock:w}=p(wa.store),{canUser:i}=p(Ba.store),y=m(a);return{canRemove:w(a),isVisible:!!y&&(0,ga.isReusableBlock)(y)&&!!i("update",{kind:"postType",name:"wp_block",id:y.attributes.ref}),managePatternsUrl:i("create",{kind:"postType",name:"wp_template"})?(0,J.addQueryArgs)("site-editor.php",{p:"/pattern"}):(0,J.addQueryArgs)("edit.php",{post_type:"wp_block"})}},[a]),{__experimentalConvertBlockToStatic:s}=(0,j.useDispatch)(k);return o?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(H.MenuItem,{href:r,children:(0,G.__)("Manage patterns")}),t&&(0,g.jsx)(H.MenuItem,{onClick:()=>s(a),children:(0,G.__)("Disconnect pattern")})]}):null}var ya=Oa;var b=e(_());function Ra({rootClientId:a}){return(0,b.jsx)(va.BlockSettingsMenuControls,{children:({onClose:t,selectedClientIds:o})=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(ba,{clientIds:o,rootClientId:a,onClose:t}),o.length===1&&(0,b.jsx)(ya,{clientId:o[0]})]})})}return Aa(qa);})();