WordPress/wp-includes/js/dist/block-directory.min.js

2 lines
21 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*! This file is auto-generated */
!function(){"use strict";var e={n:function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,{a:n}),n},d:function(t,n){for(var l in n)e.o(n,l)&&!e.o(t,l)&&Object.defineProperty(t,l,{enumerable:!0,get:n[l]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{store:function(){return G}});var n={};e.r(n),e.d(n,{getDownloadableBlocks:function(){return k},getErrorNoticeForBlock:function(){return y},getErrorNotices:function(){return E},getInstalledBlockTypes:function(){return g},getNewBlockTypes:function(){return _},getUnusedBlockTypes:function(){return f},isInstalling:function(){return w},isRequestingDownloadableBlocks:function(){return b}});var l={};e.r(l),e.d(l,{addInstalledBlockType:function(){return D},clearErrorNotice:function(){return x},fetchDownloadableBlocks:function(){return S},installBlockType:function(){return O},receiveDownloadableBlocks:function(){return C},removeInstalledBlockType:function(){return R},setErrorNotice:function(){return M},setIsInstalling:function(){return P},uninstallBlockType:function(){return A}});var r={};e.r(r),e.d(r,{getDownloadableBlocks:function(){return Y}});var o=window.wp.element,a=window.wp.plugins,s=window.wp.hooks,c=window.wp.blocks,i=window.wp.data,d=window.wp.editor;var u=(0,i.combineReducers)({downloadableBlocks:(e={},t)=>{switch(t.type){case"FETCH_DOWNLOADABLE_BLOCKS":return{...e,[t.filterValue]:{isRequesting:!0}};case"RECEIVE_DOWNLOADABLE_BLOCKS":return{...e,[t.filterValue]:{results:t.downloadableBlocks,isRequesting:!1}}}return e},blockManagement:(e={installedBlockTypes:[],isInstalling:{}},t)=>{switch(t.type){case"ADD_INSTALLED_BLOCK_TYPE":return{...e,installedBlockTypes:[...e.installedBlockTypes,t.item]};case"REMOVE_INSTALLED_BLOCK_TYPE":return{...e,installedBlockTypes:e.installedBlockTypes.filter((e=>e.name!==t.item.name))};case"SET_INSTALLING_BLOCK":return{...e,isInstalling:{...e.isInstalling,[t.blockId]:t.isInstalling}}}return e},errorNotices:(e={},t)=>{switch(t.type){case"SET_ERROR_NOTICE":return{...e,[t.blockId]:{message:t.message,isFatal:t.isFatal}};case"CLEAR_ERROR_NOTICE":const{[t.blockId]:n,...l}=e;return l}return e}}),m=window.wp.blockEditor;function p(e,t=[]){if(!t.length)return!1;if(t.some((({name:t})=>t===e.name)))return!0;for(let n=0;n<t.length;n++)if(p(e,t[n].innerBlocks))return!0;return!1}function b(e,t){var n;return null!==(n=e.downloadableBlocks[t]?.isRequesting)&&void 0!==n&&n}function k(e,t){var n;return null!==(n=e.downloadableBlocks[t]?.results)&&void 0!==n?n:[]}function g(e){return e.blockManagement.installedBlockTypes}const _=(0,i.createRegistrySelector)((e=>t=>{const n=e(m.store).getBlocks();return g(t).filter((e=>p(e,n)))})),f=(0,i.createRegistrySelector)((e=>t=>{const n=e(m.store).getBlocks();return g(t).filter((e=>!p(e,n)))}));function w(e,t){return e.blockManagement.isInstalling[t]||!1}function E(e){return e.errorNotices}function y(e,t){return e.errorNotices[t]}var h=window.wp.i18n,v=window.wp.apiFetch,B=e.n(v),I=window.wp.notices,N=window.wp.url;const T=e=>new Promise(((t,n)=>{const l=document.createElement(e.nodeName);["id","rel","src","href","type"].forEach((t=>{e[t]&&(l[t]=e[t])})),e.innerHTML&&l.appendChild(document.createTextNode(e.innerHTML)),l.onload=()=>t(!0),l.onerror=()=>n(new Error("Error loading asset.")),document.body.appendChild(l),("link"===l.nodeName.toLowerCase()||"script"===l.nodeName.toLowerCase()&&!l.src)&&t()}));function L(e){if(!e)return!1;const t=e.links["wp:plugin"]||e.links.self;return!(!t||!t.length)&&t[0].href}function S(e){return{type:"FETCH_DOWNLOADABLE_BLOCKS",filterValue:e}}function C(e,t){return{type:"RECEIVE_DOWNLOADABLE_BLOCKS",downloadableBlocks:e,filterValue:t}}const O=e=>async({registry:t,dispatch:n})=>{const{id:l,name:r}=e;let o=!1;n.clearErrorNotice(l);try{n.setIsInstalling(l,!0);const a=L(e);let s={};if(a)await B()({method:"PUT",url:a,data:{status:"active"}});else{s=(await B()({method:"POST",path:"wp/v2/plugins",data:{slug:l,status:"active"}}))._links}n.addInstalledBlockType({...e,links:{...e.links,...s}});const i=["api_version","title","category","parent","icon","description","keywords","attributes","provides_context","uses_context","supports","styles","example","variations"];await B()({path:(0,N.addQueryArgs)(`/wp/v2/block-types/${r}`,{_fields:i})}).catch((()=>{})).then((e=>{e&&(0,c.unstable__bootstrapServerSideBlockDefinitions)({[r]:Object.fromEntries(Object.entries(e).filter((([e])=>i.includes(e))))})})),await async function(){const e=await B()({url:document.location.href,parse:!1}),t=await e.text(),n=(new window.DOMParser).parseFromString(t,"text/html"),l=Array.from(n.querySelectorAll('link[rel="stylesheet"],script')).filter((e=>e.id&&!document.getElementById(e.id)));for(const e of l)await T(e)}();if(!t.select(c.store).getBlockTypes().some((e=>e.name===r)))throw new Error((0,h.__)("Error registering block. Try reloading the page."));t.dispatch(I.store).createInfoNotice((0,h.sprintf)((0,h.__)("Block %s installed and added."),e.title),{speak:!0,type:"snackbar"}),o=!0}catch(e){let r=e.message||(0,h.__)("An error occurred."),o=e instanceof Error;const a={folder_exists:(0,h.__)("This block is already installed. Try reloading the page."),unable_to_connect_to_filesystem:(0,h.__)("Error installing block. You can reload the page and try again.")};a[e.code]&&(o=!0,r=a[e.code]),n.setErrorNotice(l,r,o),t.dispatch(I.store).createErrorNotice(r,{speak:!0,isDismissible:!0})}return n.setIsInstalling(l,!1),o},A=e=>async({registry:t,dispatch:n})=>{try{const t=L(e);await B()({method:"PUT",url:t,data:{status:"inactive"}}),await B()({method:"DELETE",url:t}),n.removeInstalledBlockType(e)}catch(e){t.dispatch(I.store).createErrorNotice(e.message||(0,h.__)("An error occurred."))}};function D(e){return{type:"ADD_INSTALLED_BLOCK_TYPE",item:e}}function R(e){return{type:"REMOVE_INSTALLED_BLOCK_TYPE",item:e}}function P(e,t){return{type:"SET_INSTALLING_BLOCK",blockId:e,isInstalling:t}}function M(e,t,n=!1){return{type:"SET_ERROR_NOTICE",blockId:e,message:t,isFatal:n}}function x(e){return{type:"CLEAR_ERROR_NOTICE",blockId:e}}var F=function(){return F=Object.assign||function(e){for(var t,n=1,l=arguments.length;n<l;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},F.apply(this,arguments)};Object.create;Object.create;"function"==typeof SuppressedError&&SuppressedError;function V(e){return e.toLowerCase()}var H=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],$=/[^A-Z0-9]+/gi;function j(e,t,n){return t instanceof RegExp?e.replace(t,n):t.reduce((function(e,t){return e.replace(t,n)}),e)}function z(e,t){var n=e.charAt(0),l=e.substr(1).toLowerCase();return t>0&&n>="0"&&n<="9"?"_"+n+l:""+n.toUpperCase()+l}function K(e,t){return void 0===t&&(t={}),function(e,t){void 0===t&&(t={});for(var n=t.splitRegexp,l=void 0===n?H:n,r=t.stripRegexp,o=void 0===r?$:r,a=t.transform,s=void 0===a?V:a,c=t.delimiter,i=void 0===c?" ":c,d=j(j(e,l,"$1\0$2"),o,"\0"),u=0,m=d.length;"\0"===d.charAt(u);)u++;for(;"\0"===d.charAt(m-1);)m--;return d.slice(u,m).split("\0").map(s).join(i)}(e,F({delimiter:"",transform:z},t))}function U(e,t){return 0===t?e.toLowerCase():z(e,t)}const Y=e=>async({dispatch:t})=>{if(e)try{t(S(e));const n=await B()({path:`wp/v2/block-directory/search?term=${e}`});t(C(n.map((e=>Object.fromEntries(Object.entries(e).map((([e,t])=>{return[(n=e,void 0===l&&(l={}),K(n,F({transform:U},l))),t];var n,l}))))),e))}catch{}},q={reducer:u,selectors:n,actions:l,resolvers:r},G=(0,i.createReduxStore)("core/block-directory",q);function W(){const{uninstallBlockType:e}=(0,i.useDispatch)(G),t=(0,i.useSelect)((e=>{const{isAutosavingPost:t,isSavingPost:n}=e(d.store);return n()&&!t()}),[]),n=(0,i.useSelect)((e=>e(G).getUnusedBlockTypes()),[]);return(0,o.useEffect)((()=>{t&&n.length&&n.forEach((t=>{e(t),(0,c.unregisterBlockType)(t.name)}))}),[t]),null}(0,i.register)(G);var Z=window.wp.compose,Q=window.wp.components,J=window.wp.coreData,X=window.wp.htmlEntities;var ee=(0,o.forwardRef)((function({icon:e,size:t=24,...n},l){return(0,o.cloneElement)(e,{width:t,height:t,...n,ref:l})})),te=window.wp.primitives;var ne=(0,o.createElement)(te.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,o.createElement)(te.Path,{d:"M11.776 4.454a.25.25 0 01.448 0l2.069 4.192a.25.25 0 00.188.137l4.626.672a.25.25 0 01.139.426l-3.348 3.263a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.362.263l-4.138-2.175a.25.25 0 00-.232 0l-4.138 2.175a.25.25 0 01-.363-.263l.79-4.607a.25.25 0 00-.071-.222L4.754 9.881a.25.25 0 01.139-.426l4.626-.672a.25.25 0 00.188-.137l2.069-4.192z"}));var le=(0,o.createElement)(te.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,o.createElement)(te.Path,{d:"M9.518 8.783a.25.25 0 00.188-.137l2.069-4.192a.25.25 0 01.448 0l2.07 4.192a.25.25 0 00.187.137l4.626.672a.25.25 0 01.139.427l-3.347 3.262a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.363.264l-4.137-2.176a.25.25 0 00-.233 0l-4.138 2.175a.25.25 0 01-.362-.263l.79-4.607a.25.25 0 00-.072-.222L4.753 9.882a.25.25 0 01.14-.427l4.625-.672zM12 14.533c.28 0 .559.067.814.2l1.895.997-.362-2.11a1.75 1.75 0 01.504-1.55l1.533-1.495-2.12-.308a1.75 1.75 0 01-1.317-.957L12 7.39v7.143z"}));var re=(0,o.createElement)(te.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,o.createElement)(te.Path,{fillRule:"evenodd",d:"M9.706 8.646a.25.25 0 01-.188.137l-4.626.672a.25.25 0 00-.139.427l3.348 3.262a.25.25 0 01.072.222l-.79 4.607a.25.25 0 00.362.264l4.138-2.176a.25.25 0 01.233 0l4.137 2.175a.25.25 0 00.363-.263l-.79-4.607a.25.25 0 01.072-.222l3.347-3.262a.25.25 0 00-.139-.427l-4.626-.672a.25.25 0 01-.188-.137l-2.069-4.192a.25.25 0 00-.448 0L9.706 8.646zM12 7.39l-.948 1.921a1.75 1.75 0 01-1.317.957l-2.12.308 1.534 1.495c.412.402.6.982.503 1.55l-.362 2.11 1.896-.997a1.75 1.75 0 011.629 0l1.895.997-.362-2.11a1.75 1.75 0 01.504-1.55l1.533-1.495-2.12-.308a1.75 1.75 0 01-1.317-.957L12 7.39z",clipRule:"evenodd"}));var oe=function({rating:e}){const t=.5*Math.round(e/.5),n=Math.floor(e),l=Math.ceil(e-n),r=5-(n+l);return(0,o.createElement)("span",{"aria-label":(0,h.sprintf)((0,h.__)("%s out of 5 stars"),t)},Array.from({length:n}).map(((e,t)=>(0,o.createElement)(ee,{key:`full_stars_${t}`,className:"block-directory-block-ratings__star-full",icon:ne,size:16}))),Array.from({length:l}).map(((e,t)=>(0,o.createElement)(ee,{key:`half_stars_${t}`,className:"block-directory-block-ratings__star-half-full",icon:le,size:16}))),Array.from({length:r}).map(((e,t)=>(0,o.createElement)(ee,{key:`empty_stars_${t}`,className:"block-directory-block-ratings__star-empty",icon:re,size:16}))))};var ae=({rating:e})=>(0,o.createElement)("span",{className:"block-directory-block-ratings"},(0,o.createElement)(oe,{rating:e}));var se=function({icon:e}){const t="block-directory-downloadable-block-icon";return null!==e.match(/\.(jpeg|jpg|gif|png|svg)(?:\?.*)?$/)?(0,o.createElement)("img",{className:t,src:e,alt:""}):(0,o.createElement)(m.BlockIcon,{className:t,icon:e,showColors:!0})};var ce=({block:e})=>{const t=(0,i.useSelect)((t=>t(G).getErrorNoticeForBlock(e.id)),[e]);return t?(0,o.createElement)("div",{className:"block-directory-downloadable-block-notice"},(0,o.createElement)("div",{className:"block-directory-downloadable-block-notice__content"},t.message,t.isFatal?" "+(0,h.__)("Try reloading the page."):null)):null};function ie({title:e,rating:t,ratingCount:n},{hasNotice:l,isInstalled:r,isInstalling:o}){const a=.5*Math.round(t/.5);return!r&&l?(0,h.sprintf)("Retry installing %s.",(0,X.decodeEntities)(e)):r?(0,h.sprintf)("Add %s.",(0,X.decodeEntities)(e)):o?(0,h.sprintf)("Installing %s.",(0,X.decodeEntities)(e)):n<1?(0,h.sprintf)("Install %s.",(0,X.decodeEntities)(e)):(0,h.sprintf)((0,h._n)("Install %1$s. %2$s stars with %3$s review.","Install %1$s. %2$s stars with %3$s reviews.",n),(0,X.decodeEntities)(e),a,n)}var de=function({composite:e,item:t,onClick:n}){const{author:l,description:r,icon:a,rating:s,title:d}=t,u=!!(0,c.getBlockType)(t.name),{hasNotice:m,isInstalling:p,isInstallable:b}=(0,i.useSelect)((e=>{const{getErrorNoticeForBlock:n,isInstalling:l}=e(G),r=n(t.id),o=r&&r.isFatal;return{hasNotice:!!r,isInstalling:l(t.id),isInstallable:!o}}),[t]);let k="";return u?k=(0,h.__)("Installed!"):p&&(k=(0,h.__)("Installing…")),(0,o.createElement)(Q.__unstableCompositeItem,{__experimentalIsFocusable:!0,role:"option",as:Q.Button,...e,className:"block-directory-downloadable-block-list-item",onClick:e=>{e.preventDefault(),n()},isBusy:p,disabled:p||!b,label:ie(t,{hasNotice:m,isInstalled:u,isInstalling:p}),showTooltip:!0,tooltipPosition:"top center"},(0,o.createElement)("div",{className:"block-directory-downloadable-block-list-item__icon"},(0,o.createElement)(se,{icon:a,title:d}),p?(0,o.createElement)("span",{className:"block-directory-downloadable-block-list-item__spinner"},(0,o.createElement)(Q.Spinner,null)):(0,o.createElement)(ae,{rating:s})),(0,o.createElement)("span",{className:"block-directory-downloadable-block-list-item__details"},(0,o.createElement)("span",{className:"block-directory-downloadable-block-list-item__title"},(0,o.createInterpolateElement)((0,h.sprintf)((0,h.__)("%1$s <span>by %2$s</span>"),(0,X.decodeEntities)(d),l),{span:(0,o.createElement)("span",{className:"block-directory-downloadable-block-list-item__author"})})),m?(0,o.createElement)(ce,{block:t}):(0,o.createElement)(o.Fragment,null,(0,o.createElement)("span",{className:"block-directory-downloadable-block-list-item__desc"},k||(0,X.decodeEntities)(r)),b&&!(u||p)&&(0,o.createElement)(Q.VisuallyHidden,null,(0,h.__)("Install block")))))};const ue=()=>{};var me=function({items:e,onHover:t=ue,onSelect:n}){const l=(0,Q.__unstableUseCompositeState)(),{installBlockType:r}=(0,i.useDispatch)(G);return e.length?(0,o.createElement)(Q.__unstableComposite,{...l,role:"listbox",className:"block-directory-downloadable-blocks-list","aria-label":(0,h.__)("Blocks available for install")},e.map((e=>(0,o.createElement)(de,{key:e.id,composite:l,onClick:()=>{(0,c.getBlockType)(e.name)?n(e):r(e).then((t=>{t&&n(e)})),t(null)},onHover:t,item:e})))):null},pe=window.wp.a11y;var be=function({children:e,downloadableItems:t,hasLocalBlocks:n}){const l=t.length;return(0,o.useEffect)((()=>{(0,pe.speak)((0,h.sprintf)((0,h._n)("%d additional block is available to install.","%d additional blocks are available to install.",l),l))}),[l]),(0,o.createElement)(o.Fragment,null,!n&&(0,o.createElement)("p",{className:"block-directory-downloadable-blocks-panel__no-local"},(0,h.__)("No results available from your installed blocks.")),(0,o.createElement)("div",{className:"block-editor-inserter__quick-inserter-separator"}),(0,o.createElement)("div",{className:"block-directory-downloadable-blocks-panel"},(0,o.createElement)("div",{className:"block-directory-downloadable-blocks-panel__header"},(0,o.createElement)("h2",{className:"block-directory-downloadable-blocks-panel__title"},(0,h.__)("Available to install")),(0,o.createElement)("p",{className:"block-directory-downloadable-blocks-panel__description"},(0,h.__)("Select a block to install and add it to your post."))),e))};var ke=(0,o.createElement)(te.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,o.createElement)(te.Path,{d:"M19 8h-1V6h-5v2h-2V6H6v2H5c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm.5 10c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-8c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v8z"}));var ge=function(){return(0,o.createElement)(o.Fragment,null,(0,o.createElement)("div",{className:"block-editor-inserter__no-results"},(0,o.createElement)(ee,{className:"block-editor-inserter__no-results-icon",icon:ke}),(0,o.createElement)("p",null,(0,h.__)("No results found."))),(0,o.createElement)("div",{className:"block-editor-inserter__tips"},(0,o.createElement)(Q.Tip,null,(0,h.__)("Interested in creating your own block?"),(0,o.createElement)("br",null),(0,o.createElement)(Q.ExternalLink,{href:"https://developer.wordpress.org/block-editor/"},(0,h.__)("Get started here"),"."))))};const _e=[];var fe=(0,Z.compose)([(0,i.withSelect)(((e,{filterValue:t,rootClientId:n=null})=>{const{getDownloadableBlocks:l,isRequestingDownloadableBlocks:r}=e(G),{canInsertBlockType:o}=e(m.store),a=e(J.store).canUser("read","block-directory/search");let s=a?function(e){const t=l(e),r=t.filter((e=>o(e,n,!0)));return t.length===r.length?t:r}(t):[];0===s.length&&(s=_e);return{downloadableItems:s,hasPermission:a,isLoading:r(t)}}))])((function({downloadableItems:e,onSelect:t,onHover:n,hasLocalBlocks:l,hasPermission:r,isLoading:a,isTyping:s}){return void 0===r||a||s?(0,o.createElement)(o.Fragment,null,r&&!l&&(0,o.createElement)(o.Fragment,null,(0,o.createElement)("p",{className:"block-directory-downloadable-blocks-panel__no-local"},(0,h.__)("No results available from your installed blocks.")),(0,o.createElement)("div",{className:"block-editor-inserter__quick-inserter-separator"})),(0,o.createElement)("div",{className:"block-directory-downloadable-blocks-panel has-blocks-loading"},(0,o.createElement)(Q.Spinner,null))):!1===r?l?null:(0,o.createElement)(ge,null):e.length?(0,o.createElement)(be,{downloadableItems:e,hasLocalBlocks:l},(0,o.createElement)(me,{items:e,onSelect:t,onHover:n})):!l&&(0,o.createElement)(ge,null)}));var we,Ee=function(){const[e,t]=(0,o.useState)(""),n=(0,Z.debounce)(t,400);return(0,o.createElement)(m.__unstableInserterMenuExtension,null,(({onSelect:t,onHover:l,filterValue:r,hasItems:a,rootClientId:s})=>(e!==r&&n(r),e?(0,o.createElement)(fe,{onSelect:t,onHover:l,rootClientId:s,filterValue:e,hasLocalBlocks:a,isTyping:r!==e}):null)))};function ye({items:e}){return e.length?(0,o.createElement)("ul",{className:"block-directory-compact-list"},e.map((({icon:e,id:t,title:n,author:l})=>(0,o.createElement)("li",{key:t,className:"block-directory-compact-list__item"},(0,o.createElement)(se,{icon:e,title:n}),(0,o.createElement)("div",{className:"block-directory-compact-list__item-details"},(0,o.createElement)("div",{className:"block-directory-compact-list__item-title"},n),(0,o.createElement)("div",{className:"block-directory-compact-list__item-author"},(0,h.sprintf)((0,h.__)("By %s"),l))))))):null}const{PluginPrePublishPanel:he}=null!==(we=window?.wp?.editPost)&&void 0!==we?we:{};function ve(){const e=(0,i.useSelect)((e=>e(G).getNewBlockTypes()),[]);return e.length?(0,o.createElement)(he,{icon:ke,title:(0,h.sprintf)((0,h._n)("Added: %d block","Added: %d blocks",e.length),e.length),initialOpen:!0},(0,o.createElement)("p",{className:"installed-blocks-pre-publish-panel__copy"},(0,h._n)("The following block has been added to your site.","The following blocks have been added to your site.",e.length)),(0,o.createElement)(ye,{items:e})):null}function Be({attributes:e,block:t,clientId:n}){const l=(0,i.useSelect)((e=>e(G).isInstalling(t.id)),[t.id]),{installBlockType:r}=(0,i.useDispatch)(G),{replaceBlock:a}=(0,i.useDispatch)(m.store);return(0,o.createElement)(Q.Button,{onClick:()=>r(t).then((l=>{if(l){const l=(0,c.getBlockType)(t.name),[r]=(0,c.parse)(e.originalContent);r&&l&&a(n,(0,c.createBlock)(l.name,r.attributes,r.innerBlocks))}})),disabled:l,isBusy:l,variant:"primary"},(0,h.sprintf)((0,h.__)("Install %s"),t.title))}const Ie=({originalBlock:e,...t})=>{const{originalName:n,originalUndelimitedContent:l,clientId:r}=t.attributes,{replaceBlock:a}=(0,i.useDispatch)(m.store),s=()=>{a(t.clientId,(0,c.createBlock)("core/html",{content:l}))},d=!!l,u=(0,i.useSelect)((e=>{const{canInsertBlockType:t,getBlockRootClientId:n}=e(m.store);return t("core/html",n(r))}),[r]);let p=(0,h.sprintf)((0,h.__)("Your site doesnt include support for the %s block. You can try installing the block or remove it entirely."),e.title||n);const b=[(0,o.createElement)(Be,{key:"install",block:e,attributes:t.attributes,clientId:t.clientId})];return d&&u&&(p=(0,h.sprintf)((0,h.__)("Your site doesnt include support for the %s block. You can try installing the block, convert it to a Custom HTML block, or remove it entirely."),e.title||n),b.push((0,o.createElement)(Q.Button,{key:"convert",onClick:s,variant:"tertiary"},(0,h.__)("Keep as HTML")))),(0,o.createElement)("div",{...(0,m.useBlockProps)()},(0,o.createElement)(m.Warning,{actions:b},p),(0,o.createElement)(o.RawHTML,null,l))};var Ne=e=>t=>{const{originalName:n}=t.attributes,{block:l,hasPermission:r}=(0,i.useSelect)((e=>{const{getDownloadableBlocks:t}=e(G),l=t("block:"+n).filter((({name:e})=>n===e));return{hasPermission:e(J.store).canUser("read","block-directory/search"),block:l.length&&l[0]}}),[n]);return r&&l?(0,o.createElement)(Ie,{...t,originalBlock:l}):(0,o.createElement)(e,{...t})};(0,a.registerPlugin)("block-directory",{render(){return(0,o.createElement)(o.Fragment,null,(0,o.createElement)(W,null),(0,o.createElement)(Ee,null),(0,o.createElement)(ve,null))}}),(0,s.addFilter)("blocks.registerBlockType","block-directory/fallback",((e,t)=>("core/missing"!==t||(e.edit=Ne(e.edit)),e))),(window.wp=window.wp||{}).blockDirectory=t}();