2022-04-11 08:04:30 -04:00
/******/ ( function ( ) { // webpackBootstrap
/******/ "use strict" ;
/******/ // The require scope
/******/ var _ _webpack _require _ _ = { } ;
/******/
/************************************************************************/
/******/ /* webpack/runtime/compat get default export */
/******/ ! function ( ) {
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ _ _webpack _require _ _ . n = function ( module ) {
/******/ var getter = module && module . _ _esModule ?
/******/ function ( ) { return module [ 'default' ] ; } :
/******/ function ( ) { return module ; } ;
/******/ _ _webpack _require _ _ . d ( getter , { a : getter } ) ;
/******/ return getter ;
/******/ } ;
/******/ } ( ) ;
/******/
/******/ /* webpack/runtime/define property getters */
/******/ ! function ( ) {
/******/ // define getter functions for harmony exports
/******/ _ _webpack _require _ _ . d = function ( exports , definition ) {
/******/ for ( var key in definition ) {
/******/ if ( _ _webpack _require _ _ . o ( definition , key ) && ! _ _webpack _require _ _ . o ( exports , key ) ) {
/******/ Object . defineProperty ( exports , key , { enumerable : true , get : definition [ key ] } ) ;
/******/ }
/******/ }
2020-01-03 08:17:24 -05:00
/******/ } ;
2022-04-11 08:04:30 -04:00
/******/ } ( ) ;
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ ! function ( ) {
/******/ _ _webpack _require _ _ . o = function ( obj , prop ) { return Object . prototype . hasOwnProperty . call ( obj , prop ) ; }
/******/ } ( ) ;
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ ! function ( ) {
/******/ // define __esModule on exports
/******/ _ _webpack _require _ _ . r = function ( exports ) {
/******/ if ( typeof Symbol !== 'undefined' && Symbol . toStringTag ) {
/******/ Object . defineProperty ( exports , Symbol . toStringTag , { value : 'Module' } ) ;
/******/ }
/******/ Object . defineProperty ( exports , '__esModule' , { value : true } ) ;
/******/ } ;
/******/ } ( ) ;
/******/
2020-01-03 08:17:24 -05:00
/************************************************************************/
2022-04-11 08:04:30 -04:00
var _ _webpack _exports _ _ = { } ;
2020-06-29 07:50:29 -04:00
// ESM COMPAT FLAG
2020-01-03 08:17:24 -05:00
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
2020-06-29 07:50:29 -04:00
2021-01-27 21:04:13 -05:00
// EXPORTS
2022-04-11 08:04:30 -04:00
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , {
"store" : function ( ) { return /* reexport */ store ; }
} ) ;
2021-01-27 21:04:13 -05:00
2020-06-29 07:50:29 -04:00
// NAMESPACE OBJECT: ./node_modules/@wordpress/block-directory/build-module/store/selectors.js
2020-01-03 08:17:24 -05:00
var selectors _namespaceObject = { } ;
_ _webpack _require _ _ . r ( selectors _namespaceObject ) ;
2022-04-11 08:04:30 -04:00
_ _webpack _require _ _ . d ( selectors _namespaceObject , {
"getDownloadableBlocks" : function ( ) { return getDownloadableBlocks ; } ,
"getErrorNoticeForBlock" : function ( ) { return getErrorNoticeForBlock ; } ,
"getErrorNotices" : function ( ) { return getErrorNotices ; } ,
"getInstalledBlockTypes" : function ( ) { return getInstalledBlockTypes ; } ,
"getNewBlockTypes" : function ( ) { return getNewBlockTypes ; } ,
"getUnusedBlockTypes" : function ( ) { return getUnusedBlockTypes ; } ,
"isInstalling" : function ( ) { return isInstalling ; } ,
"isRequestingDownloadableBlocks" : function ( ) { return isRequestingDownloadableBlocks ; }
} ) ;
2020-06-29 07:50:29 -04:00
// NAMESPACE OBJECT: ./node_modules/@wordpress/block-directory/build-module/store/actions.js
2020-01-03 08:17:24 -05:00
var actions _namespaceObject = { } ;
_ _webpack _require _ _ . r ( actions _namespaceObject ) ;
2022-04-11 08:04:30 -04:00
_ _webpack _require _ _ . d ( actions _namespaceObject , {
"addInstalledBlockType" : function ( ) { return addInstalledBlockType ; } ,
"clearErrorNotice" : function ( ) { return clearErrorNotice ; } ,
"fetchDownloadableBlocks" : function ( ) { return fetchDownloadableBlocks ; } ,
"installBlockType" : function ( ) { return installBlockType ; } ,
"receiveDownloadableBlocks" : function ( ) { return receiveDownloadableBlocks ; } ,
"removeInstalledBlockType" : function ( ) { return removeInstalledBlockType ; } ,
"setErrorNotice" : function ( ) { return setErrorNotice ; } ,
"setIsInstalling" : function ( ) { return setIsInstalling ; } ,
"uninstallBlockType" : function ( ) { return uninstallBlockType ; }
} ) ;
2020-06-26 09:33:47 -04:00
2021-11-08 09:29:21 -05:00
// NAMESPACE OBJECT: ./node_modules/@wordpress/block-directory/build-module/store/resolvers.js
var resolvers _namespaceObject = { } ;
_ _webpack _require _ _ . r ( resolvers _namespaceObject ) ;
2022-04-11 08:04:30 -04:00
_ _webpack _require _ _ . d ( resolvers _namespaceObject , {
"getDownloadableBlocks" : function ( ) { return resolvers _getDownloadableBlocks ; }
} ) ;
2020-01-03 08:17:24 -05:00
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: external ["wp","element"]
var external _wp _element _namespaceObject = window [ "wp" ] [ "element" ] ;
; // CONCATENATED MODULE: external ["wp","plugins"]
var external _wp _plugins _namespaceObject = window [ "wp" ] [ "plugins" ] ;
; // CONCATENATED MODULE: external ["wp","hooks"]
var external _wp _hooks _namespaceObject = window [ "wp" ] [ "hooks" ] ;
; // CONCATENATED MODULE: external ["wp","blocks"]
var external _wp _blocks _namespaceObject = window [ "wp" ] [ "blocks" ] ;
; // CONCATENATED MODULE: external ["wp","data"]
var external _wp _data _namespaceObject = window [ "wp" ] [ "data" ] ;
; // CONCATENATED MODULE: external ["wp","editor"]
var external _wp _editor _namespaceObject = window [ "wp" ] [ "editor" ] ;
; // CONCATENATED MODULE: external "lodash"
var external _lodash _namespaceObject = window [ "lodash" ] ;
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/store/reducer.js
2020-07-07 10:43:35 -04:00
/ * *
* External dependencies
* /
2020-01-03 08:17:24 -05:00
/ * *
* WordPress dependencies
* /
2020-07-07 10:43:35 -04:00
2020-01-03 08:17:24 -05:00
/ * *
* Reducer returning an array of downloadable blocks .
*
* @ param { Object } state Current state .
* @ param { Object } action Dispatched action .
*
* @ return { Object } Updated state .
* /
2021-11-15 07:50:17 -05:00
const downloadableBlocks = function ( ) {
let state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : { } ;
let action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
2020-01-03 08:17:24 -05:00
switch ( action . type ) {
case 'FETCH_DOWNLOADABLE_BLOCKS' :
2021-05-19 11:09:27 -04:00
return { ... state ,
[ action . filterValue ] : {
isRequesting : true
}
} ;
2020-01-03 08:17:24 -05:00
case 'RECEIVE_DOWNLOADABLE_BLOCKS' :
2021-05-19 11:09:27 -04:00
return { ... state ,
[ action . filterValue ] : {
results : action . downloadableBlocks ,
isRequesting : false
}
} ;
2020-02-06 16:03:31 -05:00
}
2020-01-03 08:17:24 -05:00
2020-02-06 16:03:31 -05:00
return state ;
} ;
/ * *
* Reducer managing the installation and deletion of blocks .
*
* @ param { Object } state Current state .
* @ param { Object } action Dispatched action .
*
* @ return { Object } Updated state .
* /
2021-11-15 07:50:17 -05:00
const blockManagement = function ( ) {
let state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : {
installedBlockTypes : [ ] ,
isInstalling : { }
} ;
let action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
2020-02-06 16:03:31 -05:00
switch ( action . type ) {
2020-01-03 08:17:24 -05:00
case 'ADD_INSTALLED_BLOCK_TYPE' :
2021-05-19 11:09:27 -04:00
return { ... state ,
installedBlockTypes : [ ... state . installedBlockTypes , action . item ]
} ;
2020-01-03 08:17:24 -05:00
case 'REMOVE_INSTALLED_BLOCK_TYPE' :
2021-05-19 11:09:27 -04:00
return { ... state ,
installedBlockTypes : state . installedBlockTypes . filter ( blockType => blockType . name !== action . item . name )
} ;
2020-06-26 09:33:47 -04:00
case 'SET_INSTALLING_BLOCK' :
2021-05-19 11:09:27 -04:00
return { ... state ,
isInstalling : { ... state . isInstalling ,
[ action . blockId ] : action . isInstalling
}
} ;
2020-01-03 08:17:24 -05:00
}
return state ;
} ;
2020-06-26 09:33:47 -04:00
/ * *
* Reducer returning an object of error notices .
*
* @ param { Object } state Current state .
* @ param { Object } action Dispatched action .
*
* @ return { Object } Updated state .
* /
2021-11-15 07:50:17 -05:00
const errorNotices = function ( ) {
let state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : { } ;
let action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
2020-06-26 09:33:47 -04:00
switch ( action . type ) {
case 'SET_ERROR_NOTICE' :
2021-05-19 11:09:27 -04:00
return { ... state ,
[ action . blockId ] : {
message : action . message ,
isFatal : action . isFatal
}
} ;
2020-07-07 10:43:35 -04:00
case 'CLEAR_ERROR_NOTICE' :
2022-04-11 08:04:30 -04:00
return ( 0 , external _lodash _namespaceObject . omit ) ( state , action . blockId ) ;
2020-06-26 09:33:47 -04:00
}
return state ;
} ;
2022-04-11 08:04:30 -04:00
/* harmony default export */ var reducer = ( ( 0 , external _wp _data _namespaceObject . combineReducers ) ( {
2021-05-19 11:09:27 -04:00
downloadableBlocks ,
blockManagement ,
errorNotices
2020-01-03 08:17:24 -05:00
} ) ) ;
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: external ["wp","blockEditor"]
var external _wp _blockEditor _namespaceObject = window [ "wp" ] [ "blockEditor" ] ;
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/store/utils/has-block-type.js
2020-06-26 09:33:47 -04:00
/ * *
* Check if a block list contains a specific block type . Recursively searches
* through ` innerBlocks ` if they exist .
*
2021-11-08 09:29:21 -05:00
* @ param { Object } blockType A block object to search for .
* @ param { Object [ ] } blocks The list of blocks to look through .
2020-06-26 09:33:47 -04:00
*
* @ return { boolean } Whether the blockType is found .
* /
2021-11-15 07:50:17 -05:00
function hasBlockType ( blockType ) {
let blocks = arguments . length > 1 && arguments [ 1 ] !== undefined ? arguments [ 1 ] : [ ] ;
2020-06-26 09:33:47 -04:00
if ( ! blocks . length ) {
return false ;
}
2021-11-15 07:50:17 -05:00
if ( blocks . some ( _ref => {
let {
name
} = _ref ;
return name === blockType . name ;
} ) ) {
2020-06-26 09:33:47 -04:00
return true ;
}
2021-05-19 11:09:27 -04:00
for ( let i = 0 ; i < blocks . length ; i ++ ) {
2020-06-26 09:33:47 -04:00
if ( hasBlockType ( blockType , blocks [ i ] . innerBlocks ) ) {
return true ;
}
}
return false ;
}
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/store/selectors.js
2020-06-26 09:33:47 -04:00
/ * *
* WordPress dependencies
* /
2021-04-15 11:19:43 -04:00
2020-06-26 09:33:47 -04:00
/ * *
* Internal dependencies
* /
2020-01-03 08:17:24 -05:00
/ * *
* Returns true if application is requesting for downloadable blocks .
*
2020-10-13 09:10:30 -04:00
* @ param { Object } state Global application state .
2020-06-26 09:33:47 -04:00
* @ param { string } filterValue Search string .
*
2020-10-13 09:10:30 -04:00
* @ return { boolean } Whether a request is in progress for the blocks list .
2020-01-03 08:17:24 -05:00
* /
2020-06-26 09:33:47 -04:00
2022-04-11 08:04:30 -04:00
function isRequestingDownloadableBlocks ( state , filterValue ) {
2021-11-08 09:29:21 -05:00
var _state$downloadableBl , _state$downloadableBl2 ;
2020-06-26 09:33:47 -04:00
2021-11-08 09:29:21 -05:00
return ( _state$downloadableBl = ( _state$downloadableBl2 = state . downloadableBlocks [ filterValue ] ) === null || _state$downloadableBl2 === void 0 ? void 0 : _state$downloadableBl2 . isRequesting ) !== null && _state$downloadableBl !== void 0 ? _state$downloadableBl : false ;
2020-01-03 08:17:24 -05:00
}
/ * *
2020-10-13 09:10:30 -04:00
* Returns the available uninstalled blocks .
2020-01-03 08:17:24 -05:00
*
* @ param { Object } state Global application state .
* @ param { string } filterValue Search string .
*
2020-10-13 09:10:30 -04:00
* @ return { Array } Downloadable blocks .
2020-01-03 08:17:24 -05:00
* /
2022-04-11 08:04:30 -04:00
function getDownloadableBlocks ( state , filterValue ) {
2021-11-08 09:29:21 -05:00
var _state$downloadableBl3 , _state$downloadableBl4 ;
2020-01-03 08:17:24 -05:00
2021-11-08 09:29:21 -05:00
return ( _state$downloadableBl3 = ( _state$downloadableBl4 = state . downloadableBlocks [ filterValue ] ) === null || _state$downloadableBl4 === void 0 ? void 0 : _state$downloadableBl4 . results ) !== null && _state$downloadableBl3 !== void 0 ? _state$downloadableBl3 : [ ] ;
2020-01-03 08:17:24 -05:00
}
/ * *
2020-10-13 09:10:30 -04:00
* Returns the block types that have been installed on the server in this
* session .
2020-01-03 08:17:24 -05:00
*
* @ param { Object } state Global application state .
*
2020-10-13 09:10:30 -04:00
* @ return { Array } Block type items
2020-01-03 08:17:24 -05:00
* /
function getInstalledBlockTypes ( state ) {
2020-02-06 16:03:31 -05:00
return state . blockManagement . installedBlockTypes ;
2020-01-03 08:17:24 -05:00
}
/ * *
2020-06-26 09:33:47 -04:00
* Returns block types that have been installed on the server and used in the
* current post .
*
* @ param { Object } state Global application state .
*
* @ return { Array } Block type items .
2020-01-03 08:17:24 -05:00
* /
2022-04-11 08:04:30 -04:00
const getNewBlockTypes = ( 0 , external _wp _data _namespaceObject . createRegistrySelector ) ( select => state => {
const usedBlockTree = select ( external _wp _blockEditor _namespaceObject . store ) . getBlocks ( ) ;
2021-05-19 11:09:27 -04:00
const installedBlockTypes = getInstalledBlockTypes ( state ) ;
return installedBlockTypes . filter ( blockType => hasBlockType ( blockType , usedBlockTree ) ) ;
2020-06-26 09:33:47 -04:00
} ) ;
2020-01-03 08:17:24 -05:00
/ * *
2020-06-26 09:33:47 -04:00
* Returns the block types that have been installed on the server but are not
* used in the current post .
*
* @ param { Object } state Global application state .
*
* @ return { Array } Block type items .
2020-01-03 08:17:24 -05:00
* /
2022-04-11 08:04:30 -04:00
const getUnusedBlockTypes = ( 0 , external _wp _data _namespaceObject . createRegistrySelector ) ( select => state => {
const usedBlockTree = select ( external _wp _blockEditor _namespaceObject . store ) . getBlocks ( ) ;
2021-05-19 11:09:27 -04:00
const installedBlockTypes = getInstalledBlockTypes ( state ) ;
return installedBlockTypes . filter ( blockType => ! hasBlockType ( blockType , usedBlockTree ) ) ;
2020-06-26 09:33:47 -04:00
} ) ;
2020-01-03 08:17:24 -05:00
/ * *
2020-10-13 09:10:30 -04:00
* Returns true if a block plugin install is in progress .
2020-01-03 08:17:24 -05:00
*
2020-10-13 09:10:30 -04:00
* @ param { Object } state Global application state .
2020-06-26 09:33:47 -04:00
* @ param { string } blockId Id of the block .
2020-01-03 08:17:24 -05:00
*
2020-10-13 09:10:30 -04:00
* @ return { boolean } Whether this block is currently being installed .
2020-01-03 08:17:24 -05:00
* /
2022-04-11 08:04:30 -04:00
function isInstalling ( state , blockId ) {
2020-06-26 09:33:47 -04:00
return state . blockManagement . isInstalling [ blockId ] || false ;
2020-01-03 08:17:24 -05:00
}
/ * *
2020-10-13 09:10:30 -04:00
* Returns all block error notices .
2020-01-03 08:17:24 -05:00
*
2020-06-26 09:33:47 -04:00
* @ param { Object } state Global application state .
2020-01-03 08:17:24 -05:00
*
2020-06-26 09:33:47 -04:00
* @ return { Object } Object with error notices .
2020-01-03 08:17:24 -05:00
* /
2020-06-26 09:33:47 -04:00
function getErrorNotices ( state ) {
return state . errorNotices ;
2020-01-03 08:17:24 -05:00
}
/ * *
2020-06-26 09:33:47 -04:00
* Returns the error notice for a given block .
2020-01-03 08:17:24 -05:00
*
2020-06-26 09:33:47 -04:00
* @ param { Object } state Global application state .
* @ param { string } blockId The ID of the block plugin . eg : my - block
2020-01-03 08:17:24 -05:00
*
2020-06-26 09:33:47 -04:00
* @ return { string | boolean } The error text , or false if no error .
2020-01-03 08:17:24 -05:00
* /
2022-04-11 08:04:30 -04:00
function getErrorNoticeForBlock ( state , blockId ) {
2020-07-07 10:43:35 -04:00
return state . errorNotices [ blockId ] ;
2020-01-03 08:17:24 -05:00
}
2020-06-26 09:33:47 -04:00
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: external ["wp","i18n"]
var external _wp _i18n _namespaceObject = window [ "wp" ] [ "i18n" ] ;
; // CONCATENATED MODULE: external ["wp","apiFetch"]
var external _wp _apiFetch _namespaceObject = window [ "wp" ] [ "apiFetch" ] ;
var external _wp _apiFetch _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( external _wp _apiFetch _namespaceObject ) ;
; // CONCATENATED MODULE: external ["wp","notices"]
var external _wp _notices _namespaceObject = window [ "wp" ] [ "notices" ] ;
2022-04-12 11:12:47 -04:00
; // CONCATENATED MODULE: external ["wp","url"]
var external _wp _url _namespaceObject = window [ "wp" ] [ "url" ] ;
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/store/load-assets.js
2020-07-07 10:43:35 -04:00
/ * *
* WordPress dependencies
* /
2020-01-03 08:17:24 -05:00
/ * *
2020-07-27 16:10:36 -04:00
* Load an asset for a block .
*
* This function returns a Promise that will resolve once the asset is loaded ,
2021-01-27 21:04:13 -05:00
* or in the case of Stylesheets and Inline JavaScript , will resolve immediately .
2020-06-26 09:33:47 -04:00
*
2020-07-27 16:10:36 -04:00
* @ param { HTMLElement } el A HTML Element asset to inject .
2020-01-03 08:17:24 -05:00
*
2020-06-26 09:33:47 -04:00
* @ return { Promise } Promise which will resolve when the asset is loaded .
2020-01-03 08:17:24 -05:00
* /
2020-07-07 10:43:35 -04:00
2021-05-19 11:09:27 -04:00
const loadAsset = el => {
return new Promise ( ( resolve , reject ) => {
2020-07-27 16:10:36 -04:00
/ *
* Reconstruct the passed element , this is required as inserting the Node directly
* won 't always fire the required onload events, even if the asset wasn' t already loaded .
* /
2021-05-19 11:09:27 -04:00
const newNode = document . createElement ( el . nodeName ) ;
[ 'id' , 'rel' , 'src' , 'href' , 'type' ] . forEach ( attr => {
2020-07-27 16:10:36 -04:00
if ( el [ attr ] ) {
newNode [ attr ] = el [ attr ] ;
}
} ) ; // Append inline <script> contents.
2020-01-03 08:17:24 -05:00
2020-07-27 16:10:36 -04:00
if ( el . innerHTML ) {
newNode . appendChild ( document . createTextNode ( el . innerHTML ) ) ;
2020-06-26 09:33:47 -04:00
}
2021-05-19 11:09:27 -04:00
newNode . onload = ( ) => resolve ( true ) ;
2020-01-03 08:17:24 -05:00
2021-05-19 11:09:27 -04:00
newNode . onerror = ( ) => reject ( new Error ( 'Error loading asset.' ) ) ;
2020-06-26 09:33:47 -04:00
2020-07-27 16:10:36 -04:00
document . body . appendChild ( newNode ) ; // Resolve Stylesheets and Inline JavaScript immediately.
2020-01-03 08:17:24 -05:00
2020-07-27 16:10:36 -04:00
if ( 'link' === newNode . nodeName . toLowerCase ( ) || 'script' === newNode . nodeName . toLowerCase ( ) && ! newNode . src ) {
resolve ( ) ;
}
2020-06-26 09:33:47 -04:00
} ) ;
2020-01-03 08:17:24 -05:00
} ;
/ * *
* Load the asset files for a block
* /
2021-11-08 09:29:21 -05:00
async function loadAssets ( ) {
/ *
* Fetch the current URL ( post - new . php , or post . php ? post = 1 & action = edit ) and compare the
* JavaScript and CSS assets loaded between the pages . This imports the required assets
* for the block into the current page while not requiring that we know them up - front .
* In the future this can be improved by reliance upon block . json and / or a script - loader
* dependency API .
* /
const response = await external _wp _apiFetch _default ( ) ( {
url : document . location . href ,
parse : false
} ) ;
const data = await response . text ( ) ;
const doc = new window . DOMParser ( ) . parseFromString ( data , 'text/html' ) ;
const newAssets = Array . from ( doc . querySelectorAll ( 'link[rel="stylesheet"],script' ) ) . filter ( asset => asset . id && ! document . getElementById ( asset . id ) ) ;
/ *
* Load each asset in order , as they may depend upon an earlier loaded script .
* Stylesheets and Inline Scripts will resolve immediately upon insertion .
* /
for ( const newAsset of newAssets ) {
await loadAsset ( newAsset ) ;
2020-01-03 08:17:24 -05:00
}
2021-11-08 09:29:21 -05:00
}
2020-01-03 08:17:24 -05:00
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/store/utils/get-plugin-url.js
2020-07-07 10:43:35 -04:00
/ * *
* Get the plugin ' s direct API link out of a block - directory response .
*
* @ param { Object } block The block object
*
* @ return { string } The plugin URL , if exists .
* /
function getPluginUrl ( block ) {
if ( ! block ) {
return false ;
}
2021-05-19 11:09:27 -04:00
const link = block . links [ 'wp:plugin' ] || block . links . self ;
2020-07-07 10:43:35 -04:00
if ( link && link . length ) {
return link [ 0 ] . href ;
}
return false ;
}
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/store/actions.js
2022-04-12 11:12:47 -04:00
/ * *
* External dependencies
* /
2020-01-03 08:17:24 -05:00
/ * *
* WordPress dependencies
* /
2020-06-26 09:33:47 -04:00
2021-01-27 21:04:13 -05:00
2022-04-12 11:12:47 -04:00
2020-01-03 08:17:24 -05:00
/ * *
* Internal dependencies
* /
2020-07-07 10:43:35 -04:00
2020-01-03 08:17:24 -05:00
/ * *
2020-06-26 09:33:47 -04:00
* Returns an action object used in signalling that the downloadable blocks
2020-10-13 09:10:30 -04:00
* have been requested and are loading .
2020-06-26 09:33:47 -04:00
*
* @ param { string } filterValue Search string .
2020-01-03 08:17:24 -05:00
*
* @ return { Object } Action object .
* /
2020-06-26 09:33:47 -04:00
function fetchDownloadableBlocks ( filterValue ) {
2020-01-03 08:17:24 -05:00
return {
2020-06-26 09:33:47 -04:00
type : 'FETCH_DOWNLOADABLE_BLOCKS' ,
2021-05-19 11:09:27 -04:00
filterValue
2020-01-03 08:17:24 -05:00
} ;
}
/ * *
2020-06-26 09:33:47 -04:00
* Returns an action object used in signalling that the downloadable blocks
* have been updated .
2020-01-03 08:17:24 -05:00
*
2020-06-26 09:33:47 -04:00
* @ param { Array } downloadableBlocks Downloadable blocks .
* @ param { string } filterValue Search string .
2020-01-03 08:17:24 -05:00
*
* @ return { Object } Action object .
* /
function receiveDownloadableBlocks ( downloadableBlocks , filterValue ) {
return {
type : 'RECEIVE_DOWNLOADABLE_BLOCKS' ,
2021-05-19 11:09:27 -04:00
downloadableBlocks ,
filterValue
2020-01-03 08:17:24 -05:00
} ;
}
/ * *
2020-06-26 09:33:47 -04:00
* Action triggered to install a block plugin .
*
* @ param { Object } block The block item returned by search .
2020-01-03 08:17:24 -05:00
*
2020-06-26 09:33:47 -04:00
* @ return { boolean } Whether the block was successfully installed & loaded .
2020-01-03 08:17:24 -05:00
* /
2022-04-11 08:04:30 -04:00
const installBlockType = block => async _ref => {
2021-11-15 07:50:17 -05:00
let {
registry ,
dispatch
} = _ref ;
2021-05-19 11:09:27 -04:00
const {
2022-04-12 11:12:47 -04:00
id ,
name
2021-05-19 11:09:27 -04:00
} = block ;
let success = false ;
2021-11-08 09:29:21 -05:00
dispatch . clearErrorNotice ( id ) ;
2021-04-15 11:19:43 -04:00
2021-05-19 11:09:27 -04:00
try {
2021-11-08 09:29:21 -05:00
dispatch . setIsInstalling ( id , true ) ; // If we have a wp:plugin link, the plugin is installed but inactive.
2021-05-19 11:09:27 -04:00
const url = getPluginUrl ( block ) ;
let links = { } ;
if ( url ) {
2021-11-08 09:29:21 -05:00
await external _wp _apiFetch _default ( ) ( {
method : 'PUT' ,
2021-05-19 11:09:27 -04:00
url ,
data : {
status : 'active'
2021-11-08 09:29:21 -05:00
}
2021-05-19 11:09:27 -04:00
} ) ;
} else {
2021-11-08 09:29:21 -05:00
const response = await external _wp _apiFetch _default ( ) ( {
method : 'POST' ,
2021-05-19 11:09:27 -04:00
path : 'wp/v2/plugins' ,
data : {
2021-11-08 09:29:21 -05:00
slug : id ,
2021-05-19 11:09:27 -04:00
status : 'active'
2021-11-08 09:29:21 -05:00
}
2021-05-19 11:09:27 -04:00
} ) ; // Add the `self` link for newly-installed blocks.
links = response . _links ;
}
2020-01-03 08:17:24 -05:00
2021-11-08 09:29:21 -05:00
dispatch . addInstalledBlockType ( { ... block ,
2021-05-19 11:09:27 -04:00
links : { ... block . links ,
... links
}
2022-04-12 11:12:47 -04:00
} ) ; // Ensures that the block metadata is propagated to the editor when registered on the server.
const metadataFields = [ 'api_version' , 'title' , 'category' , 'parent' , 'icon' , 'description' , 'keywords' , 'attributes' , 'provides_context' , 'uses_context' , 'supports' , 'styles' , 'example' , 'variations' ] ;
await external _wp _apiFetch _default ( ) ( {
path : ( 0 , external _wp _url _namespaceObject . addQueryArgs ) ( ` /wp/v2/block-types/ ${ name } ` , {
_fields : metadataFields
} )
} ) // Ignore when the block is not registered on the server.
. catch ( ( ) => { } ) . then ( response => {
if ( ! response ) {
return ;
}
( 0 , external _wp _blocks _namespaceObject . unstable _ _bootstrapServerSideBlockDefinitions ) ( {
[ name ] : ( 0 , external _lodash _namespaceObject . pick ) ( response , metadataFields )
} ) ;
2021-05-19 11:09:27 -04:00
} ) ;
2021-11-08 09:29:21 -05:00
await loadAssets ( ) ;
2022-04-11 08:04:30 -04:00
const registeredBlocks = registry . select ( external _wp _blocks _namespaceObject . store ) . getBlockTypes ( ) ;
2020-01-03 08:17:24 -05:00
2022-04-12 11:12:47 -04:00
if ( ! registeredBlocks . some ( i => i . name === name ) ) {
2022-04-11 08:04:30 -04:00
throw new Error ( ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Error registering block. Try reloading the page.' ) ) ;
2021-05-19 11:09:27 -04:00
}
2020-07-07 10:43:35 -04:00
2022-04-11 08:04:30 -04:00
registry . dispatch ( external _wp _notices _namespaceObject . store ) . createInfoNotice ( ( 0 , external _wp _i18n _namespaceObject . sprintf ) ( // translators: %s is the block title.
( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Block %s installed and added.' ) , block . title ) , {
2021-05-19 11:09:27 -04:00
speak : true ,
type : 'snackbar'
} ) ;
success = true ;
} catch ( error ) {
2022-04-12 11:12:47 -04:00
let message = error . message || ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'An error occurred.' ) ; // Errors we throw are fatal.
2020-07-07 10:43:35 -04:00
2022-04-12 11:12:47 -04:00
let isFatal = error instanceof Error ; // Specific API errors that are fatal.
2020-07-07 10:43:35 -04:00
2021-05-19 11:09:27 -04:00
const fatalAPIErrors = {
2022-04-11 08:04:30 -04:00
folder _exists : ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'This block is already installed. Try reloading the page.' ) ,
unable _to _connect _to _filesystem : ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Error installing block. You can reload the page and try again.' )
2021-05-19 11:09:27 -04:00
} ;
2021-04-15 11:19:43 -04:00
2021-05-19 11:09:27 -04:00
if ( fatalAPIErrors [ error . code ] ) {
isFatal = true ;
message = fatalAPIErrors [ error . code ] ;
}
2020-06-26 09:33:47 -04:00
2021-11-08 09:29:21 -05:00
dispatch . setErrorNotice ( id , message , isFatal ) ;
2022-04-11 08:04:30 -04:00
registry . dispatch ( external _wp _notices _namespaceObject . store ) . createErrorNotice ( message , {
2021-05-19 11:09:27 -04:00
speak : true ,
isDismissible : true
} ) ;
}
2020-06-26 09:33:47 -04:00
2021-11-08 09:29:21 -05:00
dispatch . setIsInstalling ( id , false ) ;
2021-05-19 11:09:27 -04:00
return success ;
2021-11-08 09:29:21 -05:00
} ;
2020-01-03 08:17:24 -05:00
/ * *
* Action triggered to uninstall a block plugin .
*
2020-06-26 09:33:47 -04:00
* @ param { Object } block The blockType object .
2020-01-03 08:17:24 -05:00
* /
2022-04-11 08:04:30 -04:00
const uninstallBlockType = block => async _ref2 => {
2021-11-15 07:50:17 -05:00
let {
registry ,
dispatch
} = _ref2 ;
2021-05-19 11:09:27 -04:00
try {
2021-11-08 09:29:21 -05:00
const url = getPluginUrl ( block ) ;
await external _wp _apiFetch _default ( ) ( {
method : 'PUT' ,
url ,
2021-05-19 11:09:27 -04:00
data : {
status : 'inactive'
2021-11-08 09:29:21 -05:00
}
2021-05-19 11:09:27 -04:00
} ) ;
2021-11-08 09:29:21 -05:00
await external _wp _apiFetch _default ( ) ( {
method : 'DELETE' ,
url
2021-05-19 11:09:27 -04:00
} ) ;
2021-11-08 09:29:21 -05:00
dispatch . removeInstalledBlockType ( block ) ;
2021-05-19 11:09:27 -04:00
} catch ( error ) {
2022-04-11 08:04:30 -04:00
registry . dispatch ( external _wp _notices _namespaceObject . store ) . createErrorNotice ( error . message || ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'An error occurred.' ) ) ;
2021-05-19 11:09:27 -04:00
}
2021-11-08 09:29:21 -05:00
} ;
2020-01-03 08:17:24 -05:00
/ * *
2020-10-13 09:10:30 -04:00
* Returns an action object used to add a block type to the "newly installed"
* tracking list .
2020-01-03 08:17:24 -05:00
*
2020-06-26 09:33:47 -04:00
* @ param { Object } item The block item with the block id and name .
2020-01-03 08:17:24 -05:00
*
* @ return { Object } Action object .
* /
function addInstalledBlockType ( item ) {
return {
type : 'ADD_INSTALLED_BLOCK_TYPE' ,
2021-05-19 11:09:27 -04:00
item
2020-01-03 08:17:24 -05:00
} ;
}
/ * *
2020-10-13 09:10:30 -04:00
* Returns an action object used to remove a block type from the "newly installed"
* tracking list .
2020-01-03 08:17:24 -05:00
*
* @ param { string } item The block item with the block id and name .
*
* @ return { Object } Action object .
* /
function removeInstalledBlockType ( item ) {
return {
type : 'REMOVE_INSTALLED_BLOCK_TYPE' ,
2021-05-19 11:09:27 -04:00
item
2020-01-03 08:17:24 -05:00
} ;
}
2020-06-26 09:33:47 -04:00
/ * *
2020-10-13 09:10:30 -04:00
* Returns an action object used to indicate install in progress .
2020-06-26 09:33:47 -04:00
*
2021-11-08 09:29:21 -05:00
* @ param { string } blockId
2020-06-26 09:33:47 -04:00
* @ param { boolean } isInstalling
*
* @ return { Object } Action object .
* /
function setIsInstalling ( blockId , isInstalling ) {
return {
type : 'SET_INSTALLING_BLOCK' ,
2021-05-19 11:09:27 -04:00
blockId ,
isInstalling
2020-06-26 09:33:47 -04:00
} ;
}
/ * *
2020-10-13 09:10:30 -04:00
* Sets an error notice to be displayed to the user for a given block .
2020-06-26 09:33:47 -04:00
*
2021-11-08 09:29:21 -05:00
* @ param { string } blockId The ID of the block plugin . eg : my - block
* @ param { string } message The message shown in the notice .
2020-10-13 09:10:30 -04:00
* @ param { boolean } isFatal Whether the user can recover from the error .
2020-06-26 09:33:47 -04:00
*
* @ return { Object } Action object .
* /
2021-11-15 07:50:17 -05:00
function setErrorNotice ( blockId , message ) {
let isFatal = arguments . length > 2 && arguments [ 2 ] !== undefined ? arguments [ 2 ] : false ;
2020-06-26 09:33:47 -04:00
return {
type : 'SET_ERROR_NOTICE' ,
2021-05-19 11:09:27 -04:00
blockId ,
message ,
isFatal
2020-06-26 09:33:47 -04:00
} ;
}
/ * *
2020-10-13 09:10:30 -04:00
* Sets the error notice to empty for specific block .
2020-06-26 09:33:47 -04:00
*
* @ param { string } blockId The ID of the block plugin . eg : my - block
*
* @ return { Object } Action object .
* /
function clearErrorNotice ( blockId ) {
return {
2020-07-07 10:43:35 -04:00
type : 'CLEAR_ERROR_NOTICE' ,
2021-05-19 11:09:27 -04:00
blockId
2020-06-26 09:33:47 -04:00
} ;
}
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/store/resolvers.js
2020-01-03 08:17:24 -05:00
/ * *
* External dependencies
* /
/ * *
2020-06-26 09:33:47 -04:00
* WordPress dependencies
2020-01-03 08:17:24 -05:00
* /
2020-06-26 09:33:47 -04:00
/ * *
* Internal dependencies
* /
2020-01-03 08:17:24 -05:00
2021-11-15 07:50:17 -05:00
const resolvers _getDownloadableBlocks = filterValue => async _ref => {
let {
dispatch
} = _ref ;
2021-11-08 09:29:21 -05:00
if ( ! filterValue ) {
return ;
2021-05-19 11:09:27 -04:00
}
2020-01-03 08:17:24 -05:00
2021-11-08 09:29:21 -05:00
try {
dispatch ( fetchDownloadableBlocks ( filterValue ) ) ;
const results = await external _wp _apiFetch _default ( ) ( {
path : ` wp/v2/block-directory/search?term= ${ filterValue } `
} ) ;
2022-04-11 08:04:30 -04:00
const blocks = results . map ( result => ( 0 , external _lodash _namespaceObject . mapKeys ) ( result , ( value , key ) => ( 0 , external _lodash _namespaceObject . camelCase ) ( key ) ) ) ;
2021-11-08 09:29:21 -05:00
dispatch ( receiveDownloadableBlocks ( blocks , filterValue ) ) ;
} catch { }
} ;
2020-01-03 08:17:24 -05:00
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/store/index.js
2020-01-03 08:17:24 -05:00
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
/ * *
* Module Constants
* /
2021-05-19 11:09:27 -04:00
const STORE _NAME = 'core/block-directory' ;
2020-01-03 08:17:24 -05:00
/ * *
* Block editor data store configuration .
*
2021-02-02 00:17:13 -05:00
* @ see https : //github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#registerStore
2020-01-03 08:17:24 -05:00
*
* @ type { Object }
* /
2021-05-19 11:09:27 -04:00
const storeConfig = {
2020-01-03 08:17:24 -05:00
reducer : reducer ,
selectors : selectors _namespaceObject ,
actions : actions _namespaceObject ,
2022-04-12 11:12:47 -04:00
resolvers : resolvers _namespaceObject
2020-01-03 08:17:24 -05:00
} ;
2021-01-27 21:04:13 -05:00
/ * *
* Store definition for the block directory namespace .
*
2021-02-02 00:17:13 -05:00
* @ see https : //github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore
2021-01-27 21:04:13 -05:00
*
* @ type { Object }
* /
2020-06-26 09:33:47 -04:00
2022-04-11 08:04:30 -04:00
const store = ( 0 , external _wp _data _namespaceObject . createReduxStore ) ( STORE _NAME , storeConfig ) ;
( 0 , external _wp _data _namespaceObject . register ) ( store ) ;
2020-06-26 09:33:47 -04:00
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/components/auto-block-uninstaller/index.js
2020-06-26 09:33:47 -04:00
/ * *
* WordPress dependencies
* /
2021-04-15 11:19:43 -04:00
2021-01-27 21:04:13 -05:00
/ * *
* Internal dependencies
* /
2020-06-26 09:33:47 -04:00
function AutoBlockUninstaller ( ) {
2021-05-19 11:09:27 -04:00
const {
uninstallBlockType
2022-04-11 08:04:30 -04:00
} = ( 0 , external _wp _data _namespaceObject . useDispatch ) ( store ) ;
const shouldRemoveBlockTypes = ( 0 , external _wp _data _namespaceObject . useSelect ) ( select => {
2021-05-19 11:09:27 -04:00
const {
isAutosavingPost ,
isSavingPost
2022-04-11 08:04:30 -04:00
} = select ( external _wp _editor _namespaceObject . store ) ;
2020-06-26 09:33:47 -04:00
return isSavingPost ( ) && ! isAutosavingPost ( ) ;
2020-07-07 10:43:35 -04:00
} , [ ] ) ;
2022-04-11 08:04:30 -04:00
const unusedBlockTypes = ( 0 , external _wp _data _namespaceObject . useSelect ) ( select => select ( store ) . getUnusedBlockTypes ( ) , [ ] ) ;
( 0 , external _wp _element _namespaceObject . useEffect ) ( ( ) => {
2020-06-26 09:33:47 -04:00
if ( shouldRemoveBlockTypes && unusedBlockTypes . length ) {
2021-05-19 11:09:27 -04:00
unusedBlockTypes . forEach ( blockType => {
2020-06-26 09:33:47 -04:00
uninstallBlockType ( blockType ) ;
2022-04-11 08:04:30 -04:00
( 0 , external _wp _blocks _namespaceObject . unregisterBlockType ) ( blockType . name ) ;
2020-06-26 09:33:47 -04:00
} ) ;
}
} , [ shouldRemoveBlockTypes ] ) ;
return null ;
}
2020-01-08 06:57:23 -05:00
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: external ["wp","components"]
var external _wp _components _namespaceObject = window [ "wp" ] [ "components" ] ;
; // CONCATENATED MODULE: external ["wp","compose"]
var external _wp _compose _namespaceObject = window [ "wp" ] [ "compose" ] ;
; // CONCATENATED MODULE: external ["wp","coreData"]
var external _wp _coreData _namespaceObject = window [ "wp" ] [ "coreData" ] ;
; // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
function _extends ( ) {
_extends = Object . assign || function ( target ) {
for ( var i = 1 ; i < arguments . length ; i ++ ) {
var source = arguments [ i ] ;
2020-01-03 08:17:24 -05:00
2022-04-11 08:04:30 -04:00
for ( var key in source ) {
if ( Object . prototype . hasOwnProperty . call ( source , key ) ) {
target [ key ] = source [ key ] ;
}
}
}
2020-06-26 09:33:47 -04:00
2022-04-11 08:04:30 -04:00
return target ;
} ;
2020-06-26 09:33:47 -04:00
2022-04-11 08:04:30 -04:00
return _extends . apply ( this , arguments ) ;
}
; // CONCATENATED MODULE: external ["wp","htmlEntities"]
var external _wp _htmlEntities _namespaceObject = window [ "wp" ] [ "htmlEntities" ] ;
; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/icon/index.js
/ * *
* WordPress dependencies
* /
2020-06-26 09:33:47 -04:00
2022-04-11 08:04:30 -04:00
/** @typedef {{icon: JSX.Element, size?: number} & import('@wordpress/primitives').SVGProps} IconProps */
2020-10-13 09:10:30 -04:00
2022-04-11 08:04:30 -04:00
/ * *
* Return an SVG icon .
*
* @ param { IconProps } props icon is the SVG component to render
* size is a number specifiying the icon size in pixels
* Other props will be passed to wrapped SVG component
*
* @ return { JSX . Element } Icon component
* /
2020-06-26 09:33:47 -04:00
2022-04-11 08:04:30 -04:00
function Icon ( _ref ) {
let {
icon ,
size = 24 ,
... props
} = _ref ;
return ( 0 , external _wp _element _namespaceObject . cloneElement ) ( icon , {
width : size ,
height : size ,
... props
} ) ;
}
2020-06-26 09:33:47 -04:00
2022-04-11 08:04:30 -04:00
/* harmony default export */ var icon = ( Icon ) ;
2021-05-21 06:14:23 -04:00
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: external ["wp","primitives"]
var external _wp _primitives _namespaceObject = window [ "wp" ] [ "primitives" ] ;
; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/star-filled.js
2021-05-21 06:14:23 -04:00
/ * *
* WordPress dependencies
* /
2022-04-11 08:04:30 -04:00
const starFilled = ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _primitives _namespaceObject . SVG , {
2021-05-21 06:14:23 -04:00
xmlns : "http://www.w3.org/2000/svg" ,
viewBox : "0 0 24 24"
2022-04-11 08:04:30 -04:00
} , ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _primitives _namespaceObject . 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"
} ) ) ;
/* harmony default export */ var star _filled = ( starFilled ) ;
; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/star-half.js
/ * *
* WordPress dependencies
* /
const starHalf = ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _primitives _namespaceObject . SVG , {
xmlns : "http://www.w3.org/2000/svg" ,
viewBox : "0 0 24 24"
} , ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _primitives _namespaceObject . Path , {
2021-05-21 06:14:23 -04:00
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"
} ) ) ;
/* harmony default export */ var star _half = ( starHalf ) ;
2020-06-26 09:33:47 -04:00
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/star-empty.js
2020-06-26 09:33:47 -04:00
2022-04-11 08:04:30 -04:00
/ * *
* WordPress dependencies
* /
const starEmpty = ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _primitives _namespaceObject . SVG , {
xmlns : "http://www.w3.org/2000/svg" ,
viewBox : "0 0 24 24"
} , ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _primitives _namespaceObject . 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"
} ) ) ;
/* harmony default export */ var star _empty = ( starEmpty ) ;
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/components/block-ratings/stars.js
2020-01-03 08:17:24 -05:00
/ * *
* External dependencies
* /
/ * *
* WordPress dependencies
* /
2021-11-15 07:50:17 -05:00
function Stars ( _ref ) {
let {
rating
} = _ref ;
2021-05-19 11:09:27 -04:00
const stars = Math . round ( rating / 0.5 ) * 0.5 ;
const fullStarCount = Math . floor ( rating ) ;
const halfStarCount = Math . ceil ( rating - fullStarCount ) ;
const emptyStarCount = 5 - ( fullStarCount + halfStarCount ) ;
2022-04-11 08:04:30 -04:00
return ( 0 , external _wp _element _namespaceObject . createElement ) ( "span" , {
"aria-label" : ( 0 , external _wp _i18n _namespaceObject . sprintf ) (
2020-06-26 09:33:47 -04:00
/* translators: %s: number of stars. */
2022-04-11 08:04:30 -04:00
( 0 , external _wp _i18n _namespaceObject . _ _ ) ( '%s out of 5 stars' ) , stars )
} , ( 0 , external _lodash _namespaceObject . times ) ( fullStarCount , i => ( 0 , external _wp _element _namespaceObject . createElement ) ( icon , {
2021-05-19 11:09:27 -04:00
key : ` full_stars_ ${ i } ` ,
className : "block-directory-block-ratings__star-full" ,
2022-04-11 08:04:30 -04:00
icon : star _filled ,
2021-05-19 11:09:27 -04:00
size : 16
2022-04-11 08:04:30 -04:00
} ) ) , ( 0 , external _lodash _namespaceObject . times ) ( halfStarCount , i => ( 0 , external _wp _element _namespaceObject . createElement ) ( icon , {
2021-05-19 11:09:27 -04:00
key : ` half_stars_ ${ i } ` ,
className : "block-directory-block-ratings__star-half-full" ,
2021-05-21 06:14:23 -04:00
icon : star _half ,
2021-05-19 11:09:27 -04:00
size : 16
2022-04-11 08:04:30 -04:00
} ) ) , ( 0 , external _lodash _namespaceObject . times ) ( emptyStarCount , i => ( 0 , external _wp _element _namespaceObject . createElement ) ( icon , {
2021-05-19 11:09:27 -04:00
key : ` empty_stars_ ${ i } ` ,
className : "block-directory-block-ratings__star-empty" ,
2022-04-11 08:04:30 -04:00
icon : star _empty ,
2021-05-19 11:09:27 -04:00
size : 16
} ) ) ) ;
2020-01-03 08:17:24 -05:00
}
2022-04-11 08:04:30 -04:00
/* harmony default export */ var stars = ( Stars ) ;
2020-01-03 08:17:24 -05:00
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/components/block-ratings/index.js
2020-01-03 08:17:24 -05:00
/ * *
* Internal dependencies
* /
2021-11-15 07:50:17 -05:00
const BlockRatings = _ref => {
let {
rating
} = _ref ;
2022-04-11 08:04:30 -04:00
return ( 0 , external _wp _element _namespaceObject . createElement ) ( "span" , {
2021-11-15 07:50:17 -05:00
className : "block-directory-block-ratings"
2022-04-11 08:04:30 -04:00
} , ( 0 , external _wp _element _namespaceObject . createElement ) ( stars , {
2021-11-15 07:50:17 -05:00
rating : rating
} ) ) ;
} ;
2021-05-19 11:09:27 -04:00
/* harmony default export */ var block _ratings = ( BlockRatings ) ;
2020-01-03 08:17:24 -05:00
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/components/downloadable-block-icon/index.js
2020-06-26 09:33:47 -04:00
/ * *
* WordPress dependencies
* /
2021-11-15 07:50:17 -05:00
function DownloadableBlockIcon ( _ref ) {
let {
icon
} = _ref ;
2021-05-19 11:09:27 -04:00
const className = 'block-directory-downloadable-block-icon' ;
2022-04-11 08:04:30 -04:00
return icon . match ( /\.(jpeg|jpg|gif|png|svg)(?:\?.*)?$/ ) !== null ? ( 0 , external _wp _element _namespaceObject . createElement ) ( "img" , {
2021-04-15 11:19:43 -04:00
className : className ,
2020-06-26 09:33:47 -04:00
src : icon ,
2021-04-15 11:19:43 -04:00
alt : ""
2022-04-11 08:04:30 -04:00
} ) : ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _blockEditor _namespaceObject . BlockIcon , {
2021-04-15 11:19:43 -04:00
className : className ,
2020-06-26 09:33:47 -04:00
icon : icon ,
showColors : true
2021-04-15 11:19:43 -04:00
} ) ;
2020-06-26 09:33:47 -04:00
}
/* harmony default export */ var downloadable _block _icon = ( DownloadableBlockIcon ) ;
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/components/downloadable-block-notice/index.js
2020-01-03 08:17:24 -05:00
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
2021-11-15 07:50:17 -05:00
const DownloadableBlockNotice = _ref => {
let {
block
} = _ref ;
2022-04-11 08:04:30 -04:00
const errorNotice = ( 0 , external _wp _data _namespaceObject . useSelect ) ( select => select ( store ) . getErrorNoticeForBlock ( block . id ) , [ block ] ) ;
2020-01-03 08:17:24 -05:00
2021-04-15 11:19:43 -04:00
if ( ! errorNotice ) {
return null ;
}
2020-01-03 08:17:24 -05:00
2022-04-11 08:04:30 -04:00
return ( 0 , external _wp _element _namespaceObject . createElement ) ( "div" , {
2021-04-15 11:19:43 -04:00
className : "block-directory-downloadable-block-notice"
2022-04-11 08:04:30 -04:00
} , ( 0 , external _wp _element _namespaceObject . createElement ) ( "div" , {
2021-04-15 11:19:43 -04:00
className : "block-directory-downloadable-block-notice__content"
2022-04-11 08:04:30 -04:00
} , errorNotice . message , errorNotice . isFatal ? ' ' + ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Try reloading the page.' ) : null ) ) ;
2021-04-15 11:19:43 -04:00
} ;
2021-05-19 11:09:27 -04:00
/* harmony default export */ var downloadable _block _notice = ( DownloadableBlockNotice ) ;
2020-01-03 08:17:24 -05:00
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/components/downloadable-block-list-item/index.js
2020-01-03 08:17:24 -05:00
/ * *
* WordPress dependencies
* /
2020-02-10 17:33:27 -05:00
2020-01-03 08:17:24 -05:00
/ * *
2021-04-15 11:19:43 -04:00
* Internal dependencies
2020-01-03 08:17:24 -05:00
* /
2021-04-15 11:19:43 -04:00
// Return the appropriate block item label, given the block data and status.
2020-10-13 09:10:30 -04:00
2021-11-15 07:50:17 -05:00
function getDownloadableBlockLabel ( _ref , _ref2 ) {
let {
title ,
rating ,
ratingCount
} = _ref ;
let {
hasNotice ,
isInstalled ,
isInstalling
} = _ref2 ;
2021-05-19 11:09:27 -04:00
const stars = Math . round ( rating / 0.5 ) * 0.5 ;
2020-10-13 09:10:30 -04:00
2021-04-15 11:19:43 -04:00
if ( ! isInstalled && hasNotice ) {
/* translators: %1$s: block title */
2022-04-11 08:04:30 -04:00
return ( 0 , external _wp _i18n _namespaceObject . sprintf ) ( 'Retry installing %s.' , ( 0 , external _wp _htmlEntities _namespaceObject . decodeEntities ) ( title ) ) ;
2020-10-13 09:10:30 -04:00
}
2021-04-15 11:19:43 -04:00
if ( isInstalled ) {
/* translators: %1$s: block title */
2022-04-11 08:04:30 -04:00
return ( 0 , external _wp _i18n _namespaceObject . sprintf ) ( 'Add %s.' , ( 0 , external _wp _htmlEntities _namespaceObject . decodeEntities ) ( title ) ) ;
2020-06-26 09:33:47 -04:00
}
2021-04-15 11:19:43 -04:00
if ( isInstalling ) {
/* translators: %1$s: block title */
2022-04-11 08:04:30 -04:00
return ( 0 , external _wp _i18n _namespaceObject . sprintf ) ( 'Installing %s.' , ( 0 , external _wp _htmlEntities _namespaceObject . decodeEntities ) ( title ) ) ;
2021-04-15 11:19:43 -04:00
} // No ratings yet, just use the title.
2020-01-03 08:17:24 -05:00
2021-04-15 11:19:43 -04:00
if ( ratingCount < 1 ) {
/* translators: %1$s: block title */
2022-04-11 08:04:30 -04:00
return ( 0 , external _wp _i18n _namespaceObject . sprintf ) ( 'Install %s.' , ( 0 , external _wp _htmlEntities _namespaceObject . decodeEntities ) ( title ) ) ;
2021-04-15 11:19:43 -04:00
}
2020-01-03 08:17:24 -05:00
2022-04-11 08:04:30 -04:00
return ( 0 , external _wp _i18n _namespaceObject . sprintf ) (
2021-04-15 11:19:43 -04:00
/* translators: %1$s: block title, %2$s: average rating, %3$s: total ratings count. */
2022-04-11 08:04:30 -04:00
( 0 , external _wp _i18n _namespaceObject . _n ) ( 'Install %1$s. %2$s stars with %3$s review.' , 'Install %1$s. %2$s stars with %3$s reviews.' , ratingCount ) , ( 0 , external _wp _htmlEntities _namespaceObject . decodeEntities ) ( title ) , stars , ratingCount ) ;
2021-04-15 11:19:43 -04:00
}
2020-06-26 09:33:47 -04:00
2021-11-15 07:50:17 -05:00
function DownloadableBlockListItem ( _ref3 ) {
let {
composite ,
item ,
onClick
} = _ref3 ;
2021-05-19 11:09:27 -04:00
const {
author ,
description ,
icon ,
rating ,
title
} = item ; // getBlockType returns a block object if this block exists, or null if not.
2022-04-11 08:04:30 -04:00
const isInstalled = ! ! ( 0 , external _wp _blocks _namespaceObject . getBlockType ) ( item . name ) ;
2021-05-19 11:09:27 -04:00
const {
hasNotice ,
isInstalling ,
isInstallable
2022-04-11 08:04:30 -04:00
} = ( 0 , external _wp _data _namespaceObject . useSelect ) ( select => {
2021-05-19 11:09:27 -04:00
const {
getErrorNoticeForBlock ,
isInstalling : isBlockInstalling
} = select ( store ) ;
const notice = getErrorNoticeForBlock ( item . id ) ;
const hasFatal = notice && notice . isFatal ;
2020-07-07 10:43:35 -04:00
return {
2021-04-15 11:19:43 -04:00
hasNotice : ! ! notice ,
isInstalling : isBlockInstalling ( item . id ) ,
2020-07-07 10:43:35 -04:00
isInstallable : ! hasFatal
} ;
2021-05-19 11:09:27 -04:00
} , [ item ] ) ;
let statusText = '' ;
2021-04-15 11:19:43 -04:00
if ( isInstalled ) {
2022-04-11 08:04:30 -04:00
statusText = ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Installed!' ) ;
2021-04-15 11:19:43 -04:00
} else if ( isInstalling ) {
2022-04-11 08:04:30 -04:00
statusText = ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Installing…' ) ;
2021-04-15 11:19:43 -04:00
}
2022-04-11 08:04:30 -04:00
return ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _components _namespaceObject . _ _unstableCompositeItem , _extends ( {
2022-04-19 11:11:17 -04:00
_ _experimentalIsFocusable : true ,
2021-04-15 11:19:43 -04:00
role : "option" ,
2022-04-11 08:04:30 -04:00
as : external _wp _components _namespaceObject . Button
2021-04-15 11:19:43 -04:00
} , composite , {
className : "block-directory-downloadable-block-list-item" ,
2021-05-19 11:09:27 -04:00
onClick : event => {
2021-04-15 11:19:43 -04:00
event . preventDefault ( ) ;
2021-05-19 11:09:27 -04:00
onClick ( ) ;
2021-04-15 11:19:43 -04:00
} ,
isBusy : isInstalling ,
disabled : isInstalling || ! isInstallable ,
label : getDownloadableBlockLabel ( item , {
2021-05-19 11:09:27 -04:00
hasNotice ,
isInstalled ,
isInstalling
2021-04-15 11:19:43 -04:00
} ) ,
showTooltip : true ,
tooltipPosition : "top center"
2022-04-11 08:04:30 -04:00
} ) , ( 0 , external _wp _element _namespaceObject . createElement ) ( "div" , {
2021-04-15 11:19:43 -04:00
className : "block-directory-downloadable-block-list-item__icon"
2022-04-11 08:04:30 -04:00
} , ( 0 , external _wp _element _namespaceObject . createElement ) ( downloadable _block _icon , {
2020-01-03 08:17:24 -05:00
icon : icon ,
2021-04-15 11:19:43 -04:00
title : title
2022-04-11 08:04:30 -04:00
} ) , isInstalling ? ( 0 , external _wp _element _namespaceObject . createElement ) ( "span" , {
2021-04-15 11:19:43 -04:00
className : "block-directory-downloadable-block-list-item__spinner"
2022-04-11 08:04:30 -04:00
} , ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _components _namespaceObject . Spinner , null ) ) : ( 0 , external _wp _element _namespaceObject . createElement ) ( block _ratings , {
2021-04-15 11:19:43 -04:00
rating : rating
2022-04-11 08:04:30 -04:00
} ) ) , ( 0 , external _wp _element _namespaceObject . createElement ) ( "span" , {
2021-04-15 11:19:43 -04:00
className : "block-directory-downloadable-block-list-item__details"
2022-04-11 08:04:30 -04:00
} , ( 0 , external _wp _element _namespaceObject . createElement ) ( "span" , {
2021-04-15 11:19:43 -04:00
className : "block-directory-downloadable-block-list-item__title"
2022-04-11 08:04:30 -04:00
} , ( 0 , external _wp _element _namespaceObject . createInterpolateElement ) ( ( 0 , external _wp _i18n _namespaceObject . sprintf ) (
2021-04-15 11:19:43 -04:00
/* translators: %1$s: block title, %2$s: author name. */
2022-04-11 08:04:30 -04:00
( 0 , external _wp _i18n _namespaceObject . _ _ ) ( '%1$s <span>by %2$s</span>' ) , ( 0 , external _wp _htmlEntities _namespaceObject . decodeEntities ) ( title ) , author ) , {
span : ( 0 , external _wp _element _namespaceObject . createElement ) ( "span" , {
2021-04-15 11:19:43 -04:00
className : "block-directory-downloadable-block-list-item__author"
} )
2022-04-11 08:04:30 -04:00
} ) ) , hasNotice ? ( 0 , external _wp _element _namespaceObject . createElement ) ( downloadable _block _notice , {
2020-06-26 09:33:47 -04:00
block : item
2022-04-11 08:04:30 -04:00
} ) : ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _element _namespaceObject . Fragment , null , ( 0 , external _wp _element _namespaceObject . createElement ) ( "span" , {
2021-04-15 11:19:43 -04:00
className : "block-directory-downloadable-block-list-item__desc"
2022-04-11 08:04:30 -04:00
} , ! ! statusText ? statusText : ( 0 , external _wp _htmlEntities _namespaceObject . decodeEntities ) ( description ) ) , isInstallable && ! ( isInstalled || isInstalling ) && ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _components _namespaceObject . VisuallyHidden , null , ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Install block' ) ) ) ) ) ;
2020-01-03 08:17:24 -05:00
}
2021-04-15 11:19:43 -04:00
/* harmony default export */ var downloadable _block _list _item = ( DownloadableBlockListItem ) ;
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/components/downloadable-blocks-list/index.js
2020-01-03 08:17:24 -05:00
2021-04-15 11:19:43 -04:00
2020-01-03 08:17:24 -05:00
/ * *
* External dependencies
* /
/ * *
* WordPress dependencies
* /
2021-01-27 21:04:13 -05:00
2021-04-15 11:19:43 -04:00
2020-01-03 08:17:24 -05:00
/ * *
* Internal dependencies
* /
2021-01-27 21:04:13 -05:00
2021-11-15 07:50:17 -05:00
function DownloadableBlocksList ( _ref ) {
let {
items ,
2022-04-11 08:04:30 -04:00
onHover = external _lodash _namespaceObject . noop ,
2021-11-15 07:50:17 -05:00
onSelect
} = _ref ;
2022-04-11 08:04:30 -04:00
const composite = ( 0 , external _wp _components _namespaceObject . _ _unstableUseCompositeState ) ( ) ;
2021-05-19 11:09:27 -04:00
const {
installBlockType
2022-04-11 08:04:30 -04:00
} = ( 0 , external _wp _data _namespaceObject . useDispatch ) ( store ) ;
2020-06-26 09:33:47 -04:00
if ( ! items . length ) {
return null ;
}
2022-04-11 08:04:30 -04:00
return ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _components _namespaceObject . _ _unstableComposite , _extends ( { } , composite , {
2021-04-15 11:19:43 -04:00
role : "listbox" ,
className : "block-directory-downloadable-blocks-list" ,
2022-04-11 08:04:30 -04:00
"aria-label" : ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Blocks available for install' )
2021-05-19 11:09:27 -04:00
} ) , items . map ( item => {
2022-04-11 08:04:30 -04:00
return ( 0 , external _wp _element _namespaceObject . createElement ) ( downloadable _block _list _item , {
2021-04-15 11:19:43 -04:00
key : item . id ,
composite : composite ,
2021-05-19 11:09:27 -04:00
onClick : ( ) => {
2021-04-15 11:19:43 -04:00
// Check if the block is registered (`getBlockType`
// will return an object). If so, insert the block.
// This prevents installing existing plugins.
2022-04-11 08:04:30 -04:00
if ( ( 0 , external _wp _blocks _namespaceObject . getBlockType ) ( item . name ) ) {
2021-04-15 11:19:43 -04:00
onSelect ( item ) ;
} else {
2021-05-19 11:09:27 -04:00
installBlockType ( item ) . then ( success => {
2021-04-15 11:19:43 -04:00
if ( success ) {
onSelect ( item ) ;
}
} ) ;
}
2020-01-03 08:17:24 -05:00
2021-04-15 11:19:43 -04:00
onHover ( null ) ;
} ,
onHover : onHover ,
item : item
} ) ;
} ) ) ;
}
2021-02-02 00:17:13 -05:00
2021-04-15 11:19:43 -04:00
/* harmony default export */ var downloadable _blocks _list = ( DownloadableBlocksList ) ;
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: external ["wp","a11y"]
var external _wp _a11y _namespaceObject = window [ "wp" ] [ "a11y" ] ;
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/components/downloadable-blocks-panel/inserter-panel.js
2021-04-15 11:19:43 -04:00
/ * *
* WordPress dependencies
* /
2020-01-03 08:17:24 -05:00
2021-04-15 11:19:43 -04:00
2021-11-15 07:50:17 -05:00
function DownloadableBlocksInserterPanel ( _ref ) {
let {
children ,
downloadableItems ,
hasLocalBlocks
} = _ref ;
2021-05-19 11:09:27 -04:00
const count = downloadableItems . length ;
2022-04-11 08:04:30 -04:00
( 0 , external _wp _element _namespaceObject . useEffect ) ( ( ) => {
( 0 , external _wp _a11y _namespaceObject . speak ) ( ( 0 , external _wp _i18n _namespaceObject . sprintf ) (
2021-04-15 11:19:43 -04:00
/* translators: %d: number of available blocks. */
2022-04-11 08:04:30 -04:00
( 0 , external _wp _i18n _namespaceObject . _n ) ( '%d additional block is available to install.' , '%d additional blocks are available to install.' , count ) , count ) ) ;
2021-04-15 11:19:43 -04:00
} , [ count ] ) ;
2022-04-11 08:04:30 -04:00
return ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _element _namespaceObject . Fragment , null , ! hasLocalBlocks && ( 0 , external _wp _element _namespaceObject . createElement ) ( "p" , {
2021-04-15 11:19:43 -04:00
className : "block-directory-downloadable-blocks-panel__no-local"
2022-04-11 08:04:30 -04:00
} , ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'No results available from your installed blocks.' ) ) , ( 0 , external _wp _element _namespaceObject . createElement ) ( "div" , {
2021-04-15 11:19:43 -04:00
className : "block-editor-inserter__quick-inserter-separator"
2022-04-11 08:04:30 -04:00
} ) , ( 0 , external _wp _element _namespaceObject . createElement ) ( "div" , {
2021-04-15 11:19:43 -04:00
className : "block-directory-downloadable-blocks-panel"
2022-04-11 08:04:30 -04:00
} , ( 0 , external _wp _element _namespaceObject . createElement ) ( "div" , {
2021-04-15 11:19:43 -04:00
className : "block-directory-downloadable-blocks-panel__header"
2022-04-11 08:04:30 -04:00
} , ( 0 , external _wp _element _namespaceObject . createElement ) ( "h2" , {
2021-04-15 11:19:43 -04:00
className : "block-directory-downloadable-blocks-panel__title"
2022-04-11 08:04:30 -04:00
} , ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Available to install' ) ) , ( 0 , external _wp _element _namespaceObject . createElement ) ( "p" , {
2021-04-15 11:19:43 -04:00
className : "block-directory-downloadable-blocks-panel__description"
2022-04-11 08:04:30 -04:00
} , ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Select a block to install and add it to your post.' ) ) ) , children ) ) ;
2020-01-03 08:17:24 -05:00
}
2021-04-15 11:19:43 -04:00
/* harmony default export */ var inserter _panel = ( DownloadableBlocksInserterPanel ) ;
2020-01-03 08:17:24 -05:00
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/block-default.js
/ * *
* WordPress dependencies
* /
const blockDefault = ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _primitives _namespaceObject . SVG , {
xmlns : "http://www.w3.org/2000/svg" ,
viewBox : "0 0 24 24"
} , ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _primitives _namespaceObject . 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"
} ) ) ;
/* harmony default export */ var block _default = ( blockDefault ) ;
2021-04-15 11:19:43 -04:00
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/components/downloadable-blocks-panel/no-results.js
2020-01-03 08:17:24 -05:00
/ * *
* WordPress dependencies
* /
2021-04-15 11:19:43 -04:00
function DownloadableBlocksNoResults ( ) {
2022-04-11 08:04:30 -04:00
return ( 0 , external _wp _element _namespaceObject . createElement ) ( "div" , {
2021-04-15 11:19:43 -04:00
className : "block-editor-inserter__no-results"
2022-04-11 08:04:30 -04:00
} , ( 0 , external _wp _element _namespaceObject . createElement ) ( icon , {
2021-04-15 11:19:43 -04:00
className : "block-editor-inserter__no-results-icon" ,
2022-04-11 08:04:30 -04:00
icon : block _default
} ) , ( 0 , external _wp _element _namespaceObject . createElement ) ( "p" , null , ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'No results found.' ) ) ) ;
2021-04-15 11:19:43 -04:00
}
/* harmony default export */ var no _results = ( DownloadableBlocksNoResults ) ;
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/components/downloadable-blocks-panel/index.js
2021-04-15 11:19:43 -04:00
/ * *
* WordPress dependencies
* /
2020-01-03 08:17:24 -05:00
2020-10-20 09:36:16 -04:00
2021-02-02 00:17:13 -05:00
2020-01-03 08:17:24 -05:00
/ * *
* Internal dependencies
* /
2021-01-27 21:04:13 -05:00
2021-04-15 11:19:43 -04:00
2021-11-15 07:50:17 -05:00
function DownloadableBlocksPanel ( _ref ) {
let {
downloadableItems ,
onSelect ,
onHover ,
hasLocalBlocks ,
hasPermission ,
isLoading ,
isTyping
} = _ref ;
2021-04-15 11:19:43 -04:00
if ( typeof hasPermission === 'undefined' || isLoading || isTyping ) {
2022-04-11 08:04:30 -04:00
return ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _element _namespaceObject . Fragment , null , hasPermission && ! hasLocalBlocks && ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _element _namespaceObject . Fragment , null , ( 0 , external _wp _element _namespaceObject . createElement ) ( "p" , {
2021-04-15 11:19:43 -04:00
className : "block-directory-downloadable-blocks-panel__no-local"
2022-04-11 08:04:30 -04:00
} , ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'No results available from your installed blocks.' ) ) , ( 0 , external _wp _element _namespaceObject . createElement ) ( "div" , {
2021-04-15 11:19:43 -04:00
className : "block-editor-inserter__quick-inserter-separator"
2022-04-11 08:04:30 -04:00
} ) ) , ( 0 , external _wp _element _namespaceObject . createElement ) ( "div" , {
2021-04-15 11:19:43 -04:00
className : "block-directory-downloadable-blocks-panel has-blocks-loading"
2022-04-11 08:04:30 -04:00
} , ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _components _namespaceObject . Spinner , null ) ) ) ;
2020-01-03 08:17:24 -05:00
}
2021-04-15 11:19:43 -04:00
if ( false === hasPermission ) {
if ( ! hasLocalBlocks ) {
2022-04-11 08:04:30 -04:00
return ( 0 , external _wp _element _namespaceObject . createElement ) ( no _results , null ) ;
2021-04-15 11:19:43 -04:00
}
2020-01-03 08:17:24 -05:00
2021-04-15 11:19:43 -04:00
return null ;
2020-01-03 08:17:24 -05:00
}
2022-04-11 08:04:30 -04:00
return ! ! downloadableItems . length ? ( 0 , external _wp _element _namespaceObject . createElement ) ( inserter _panel , {
2021-04-15 11:19:43 -04:00
downloadableItems : downloadableItems ,
hasLocalBlocks : hasLocalBlocks
2022-04-11 08:04:30 -04:00
} , ( 0 , external _wp _element _namespaceObject . createElement ) ( downloadable _blocks _list , {
2020-01-03 08:17:24 -05:00
items : downloadableItems ,
onSelect : onSelect ,
onHover : onHover
2022-04-11 08:04:30 -04:00
} ) ) : ! hasLocalBlocks && ( 0 , external _wp _element _namespaceObject . createElement ) ( no _results , null ) ;
2020-01-03 08:17:24 -05:00
}
2022-04-11 08:04:30 -04:00
/* harmony default export */ var downloadable _blocks _panel = ( ( 0 , external _wp _compose _namespaceObject . compose ) ( [ ( 0 , external _wp _data _namespaceObject . withSelect ) ( ( select , _ref2 ) => {
2021-11-15 07:50:17 -05:00
let {
filterValue ,
rootClientId = null
} = _ref2 ;
2021-05-19 11:09:27 -04:00
const {
getDownloadableBlocks ,
isRequestingDownloadableBlocks
} = select ( store ) ;
const {
canInsertBlockType
2022-04-11 08:04:30 -04:00
} = select ( external _wp _blockEditor _namespaceObject . store ) ;
const hasPermission = select ( external _wp _coreData _namespaceObject . store ) . canUser ( 'read' , 'block-directory/search' ) ;
2021-02-02 00:17:13 -05:00
function getInstallableBlocks ( term ) {
2021-05-19 11:09:27 -04:00
return getDownloadableBlocks ( term ) . filter ( block => canInsertBlockType ( block , rootClientId , true ) ) ;
2021-02-02 00:17:13 -05:00
}
2021-05-19 11:09:27 -04:00
const downloadableItems = hasPermission ? getInstallableBlocks ( filterValue ) : [ ] ;
const isLoading = isRequestingDownloadableBlocks ( filterValue ) ;
2020-01-03 08:17:24 -05:00
return {
2021-05-19 11:09:27 -04:00
downloadableItems ,
hasPermission ,
isLoading
2020-01-03 08:17:24 -05:00
} ;
} ) ] ) ( DownloadableBlocksPanel ) ) ;
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/plugins/inserter-menu-downloadable-blocks-panel/index.js
2020-01-08 06:57:23 -05:00
/ * *
* External dependencies
* /
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
function InserterMenuDownloadableBlocksPanel ( ) {
2022-04-11 08:04:30 -04:00
const [ debouncedFilterValue , setFilterValue ] = ( 0 , external _wp _element _namespaceObject . useState ) ( '' ) ;
const debouncedSetFilterValue = ( 0 , external _lodash _namespaceObject . debounce ) ( setFilterValue , 400 ) ;
return ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _blockEditor _namespaceObject . _ _unstableInserterMenuExtension , null , _ref => {
2021-11-15 07:50:17 -05:00
let {
onSelect ,
onHover ,
filterValue ,
hasItems ,
rootClientId
} = _ref ;
2020-01-08 06:57:23 -05:00
if ( debouncedFilterValue !== filterValue ) {
debouncedSetFilterValue ( filterValue ) ;
}
2021-04-15 11:19:43 -04:00
if ( ! debouncedFilterValue ) {
return null ;
}
2022-04-11 08:04:30 -04:00
return ( 0 , external _wp _element _namespaceObject . createElement ) ( downloadable _blocks _panel , {
2020-01-08 06:57:23 -05:00
onSelect : onSelect ,
onHover : onHover ,
2021-02-02 00:17:13 -05:00
rootClientId : rootClientId ,
2020-01-08 06:57:23 -05:00
filterValue : debouncedFilterValue ,
2021-04-15 11:19:43 -04:00
hasLocalBlocks : hasItems ,
isTyping : filterValue !== debouncedFilterValue
2020-01-08 06:57:23 -05:00
} ) ;
} ) ;
}
/* harmony default export */ var inserter _menu _downloadable _blocks _panel = ( InserterMenuDownloadableBlocksPanel ) ;
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: external ["wp","editPost"]
var external _wp _editPost _namespaceObject = window [ "wp" ] [ "editPost" ] ;
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/components/compact-list/index.js
2020-06-26 09:33:47 -04:00
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
2021-11-15 07:50:17 -05:00
function CompactList ( _ref ) {
let {
items
} = _ref ;
2020-06-26 09:33:47 -04:00
if ( ! items . length ) {
return null ;
}
2022-04-11 08:04:30 -04:00
return ( 0 , external _wp _element _namespaceObject . createElement ) ( "ul" , {
2020-06-26 09:33:47 -04:00
className : "block-directory-compact-list"
2021-11-15 07:50:17 -05:00
} , items . map ( _ref2 => {
let {
icon ,
id ,
title ,
author
} = _ref2 ;
2022-04-11 08:04:30 -04:00
return ( 0 , external _wp _element _namespaceObject . createElement ) ( "li" , {
2021-11-15 07:50:17 -05:00
key : id ,
className : "block-directory-compact-list__item"
2022-04-11 08:04:30 -04:00
} , ( 0 , external _wp _element _namespaceObject . createElement ) ( downloadable _block _icon , {
2021-11-15 07:50:17 -05:00
icon : icon ,
title : title
2022-04-11 08:04:30 -04:00
} ) , ( 0 , external _wp _element _namespaceObject . createElement ) ( "div" , {
2021-11-15 07:50:17 -05:00
className : "block-directory-compact-list__item-details"
2022-04-11 08:04:30 -04:00
} , ( 0 , external _wp _element _namespaceObject . createElement ) ( "div" , {
2021-11-15 07:50:17 -05:00
className : "block-directory-compact-list__item-title"
2022-04-11 08:04:30 -04:00
} , title ) , ( 0 , external _wp _element _namespaceObject . createElement ) ( "div" , {
2021-11-15 07:50:17 -05:00
className : "block-directory-compact-list__item-author"
2022-04-11 08:04:30 -04:00
} , ( 0 , external _wp _i18n _namespaceObject . sprintf ) (
2021-11-15 07:50:17 -05:00
/* translators: %s: Name of the block author. */
2022-04-11 08:04:30 -04:00
( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'By %s' ) , author ) ) ) ) ;
2021-11-15 07:50:17 -05:00
} ) ) ;
2020-06-26 09:33:47 -04:00
}
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/plugins/installed-blocks-pre-publish-panel/index.js
2020-06-26 09:33:47 -04:00
/ * *
* WordPress dependencies
* /
2020-10-13 09:10:30 -04:00
2020-06-26 09:33:47 -04:00
/ * *
* Internal dependencies
* /
2021-01-27 21:04:13 -05:00
2020-06-26 09:33:47 -04:00
function InstalledBlocksPrePublishPanel ( ) {
2022-04-11 08:04:30 -04:00
const newBlockTypes = ( 0 , external _wp _data _namespaceObject . useSelect ) ( select => select ( store ) . getNewBlockTypes ( ) , [ ] ) ;
2020-06-26 09:33:47 -04:00
if ( ! newBlockTypes . length ) {
return null ;
}
2022-04-11 08:04:30 -04:00
return ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _editPost _namespaceObject . PluginPrePublishPanel , {
icon : block _default ,
title : ( 0 , external _wp _i18n _namespaceObject . sprintf ) ( // translators: %d: number of blocks (number).
( 0 , external _wp _i18n _namespaceObject . _n ) ( 'Added: %d block' , 'Added: %d blocks' , newBlockTypes . length ) , newBlockTypes . length ) ,
2020-06-26 09:33:47 -04:00
initialOpen : true
2022-04-11 08:04:30 -04:00
} , ( 0 , external _wp _element _namespaceObject . createElement ) ( "p" , {
2020-06-26 09:33:47 -04:00
className : "installed-blocks-pre-publish-panel__copy"
2022-04-11 08:04:30 -04:00
} , ( 0 , external _wp _i18n _namespaceObject . _n ) ( 'The following block has been added to your site.' , 'The following blocks have been added to your site.' , newBlockTypes . length ) ) , ( 0 , external _wp _element _namespaceObject . createElement ) ( CompactList , {
2020-06-26 09:33:47 -04:00
items : newBlockTypes
} ) ) ;
}
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/plugins/get-install-missing/install-button.js
2020-10-13 09:10:30 -04:00
/ * *
* WordPress dependencies
* /
2021-04-15 11:19:43 -04:00
2021-01-27 21:04:13 -05:00
/ * *
* Internal dependencies
* /
2021-11-15 07:50:17 -05:00
function InstallButton ( _ref ) {
let {
attributes ,
block ,
clientId
} = _ref ;
2022-04-11 08:04:30 -04:00
const isInstallingBlock = ( 0 , external _wp _data _namespaceObject . useSelect ) ( select => select ( store ) . isInstalling ( block . id ) , [ block . id ] ) ;
2021-05-19 11:09:27 -04:00
const {
installBlockType
2022-04-11 08:04:30 -04:00
} = ( 0 , external _wp _data _namespaceObject . useDispatch ) ( store ) ;
2021-05-19 11:09:27 -04:00
const {
replaceBlock
2022-04-11 08:04:30 -04:00
} = ( 0 , external _wp _data _namespaceObject . useDispatch ) ( external _wp _blockEditor _namespaceObject . store ) ;
return ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _components _namespaceObject . Button , {
2021-05-19 11:09:27 -04:00
onClick : ( ) => installBlockType ( block ) . then ( success => {
if ( success ) {
2022-04-11 08:04:30 -04:00
const blockType = ( 0 , external _wp _blocks _namespaceObject . getBlockType ) ( block . name ) ;
const [ originalBlock ] = ( 0 , external _wp _blocks _namespaceObject . parse ) ( attributes . originalContent ) ;
2021-05-19 11:09:27 -04:00
2021-11-08 09:29:21 -05:00
if ( originalBlock && blockType ) {
2022-04-11 08:04:30 -04:00
replaceBlock ( clientId , ( 0 , external _wp _blocks _namespaceObject . createBlock ) ( blockType . name , originalBlock . attributes , originalBlock . innerBlocks ) ) ;
2020-10-13 09:10:30 -04:00
}
2021-05-19 11:09:27 -04:00
}
} ) ,
2020-10-13 09:10:30 -04:00
disabled : isInstallingBlock ,
isBusy : isInstallingBlock ,
2021-11-08 09:29:21 -05:00
variant : "primary"
2022-04-11 08:04:30 -04:00
} , ( 0 , external _wp _i18n _namespaceObject . sprintf ) (
2020-10-13 09:10:30 -04:00
/* translators: %s: block name */
2022-04-11 08:04:30 -04:00
( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Install %s' ) , block . title ) ) ;
2020-10-13 09:10:30 -04:00
}
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/plugins/get-install-missing/index.js
2020-01-08 06:57:23 -05:00
2021-01-27 21:04:13 -05:00
2020-01-08 06:57:23 -05:00
/ * *
* WordPress dependencies
* /
2020-10-13 09:10:30 -04:00
2021-04-15 11:19:43 -04:00
2020-01-08 06:57:23 -05:00
/ * *
* Internal dependencies
* /
2020-06-26 09:33:47 -04:00
2021-01-27 21:04:13 -05:00
2021-05-19 11:09:27 -04:00
const getInstallMissing = OriginalComponent => props => {
const {
originalName
} = props . attributes ; // Disable reason: This is a valid component, but it's mistaken for a callback.
// eslint-disable-next-line react-hooks/rules-of-hooks
2020-10-13 09:10:30 -04:00
2021-05-19 11:09:27 -04:00
const {
block ,
hasPermission
2022-04-11 08:04:30 -04:00
} = ( 0 , external _wp _data _namespaceObject . useSelect ) ( select => {
2021-05-19 11:09:27 -04:00
const {
getDownloadableBlocks
} = select ( store ) ;
2021-11-15 07:50:17 -05:00
const blocks = getDownloadableBlocks ( 'block:' + originalName ) . filter ( _ref => {
let {
name
} = _ref ;
return originalName === name ;
} ) ;
2021-05-19 11:09:27 -04:00
return {
2022-04-11 08:04:30 -04:00
hasPermission : select ( external _wp _coreData _namespaceObject . store ) . canUser ( 'read' , 'block-directory/search' ) ,
2021-05-19 11:09:27 -04:00
block : blocks . length && blocks [ 0 ]
} ;
} , [ originalName ] ) ; // The user can't install blocks, or the block isn't available for download.
2020-10-13 09:10:30 -04:00
2021-05-19 11:09:27 -04:00
if ( ! hasPermission || ! block ) {
2022-04-11 08:04:30 -04:00
return ( 0 , external _wp _element _namespaceObject . createElement ) ( OriginalComponent , props ) ;
2021-05-19 11:09:27 -04:00
}
2020-10-13 09:10:30 -04:00
2022-04-11 08:04:30 -04:00
return ( 0 , external _wp _element _namespaceObject . createElement ) ( ModifiedWarning , _extends ( { } , props , {
2021-05-19 11:09:27 -04:00
originalBlock : block
} ) ) ;
2021-01-27 21:04:13 -05:00
} ;
2021-11-15 07:50:17 -05:00
const ModifiedWarning = _ref2 => {
let {
originalBlock ,
... props
} = _ref2 ;
2021-05-19 11:09:27 -04:00
const {
originalName ,
originalUndelimitedContent
} = props . attributes ;
const {
replaceBlock
2022-04-11 08:04:30 -04:00
} = ( 0 , external _wp _data _namespaceObject . useDispatch ) ( external _wp _blockEditor _namespaceObject . store ) ;
2021-05-19 11:09:27 -04:00
const convertToHTML = ( ) => {
2022-04-11 08:04:30 -04:00
replaceBlock ( props . clientId , ( 0 , external _wp _blocks _namespaceObject . createBlock ) ( 'core/html' , {
2021-01-27 21:04:13 -05:00
content : originalUndelimitedContent
} ) ) ;
2020-10-13 09:10:30 -04:00
} ;
2021-01-27 21:04:13 -05:00
2021-05-19 11:09:27 -04:00
const hasContent = ! ! originalUndelimitedContent ;
2022-04-11 08:04:30 -04:00
const hasHTMLBlock = ( 0 , external _wp _blocks _namespaceObject . getBlockType ) ( 'core/html' ) ;
let messageHTML = ( 0 , external _wp _i18n _namespaceObject . sprintf ) (
2021-01-27 21:04:13 -05:00
/* translators: %s: block name */
2022-04-11 08:04:30 -04:00
( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Your site doesn’ t include support for the %s block. You can try installing the block or remove it entirely.' ) , originalBlock . title || originalName ) ;
const actions = [ ( 0 , external _wp _element _namespaceObject . createElement ) ( InstallButton , {
2021-01-27 21:04:13 -05:00
key : "install" ,
block : originalBlock ,
attributes : props . attributes ,
clientId : props . clientId
} ) ] ;
if ( hasContent && hasHTMLBlock ) {
2022-04-11 08:04:30 -04:00
messageHTML = ( 0 , external _wp _i18n _namespaceObject . sprintf ) (
2021-01-27 21:04:13 -05:00
/* translators: %s: block name */
2022-04-11 08:04:30 -04:00
( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Your site doesn’ t include support for the %s block. You can try installing the block, convert it to a Custom HTML block, or remove it entirely.' ) , originalBlock . title || originalName ) ;
actions . push ( ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _components _namespaceObject . Button , {
2021-01-27 21:04:13 -05:00
key : "convert" ,
onClick : convertToHTML ,
2021-11-08 09:29:21 -05:00
variant : "link"
2022-04-11 08:04:30 -04:00
} , ( 0 , external _wp _i18n _namespaceObject . _ _ ) ( 'Keep as HTML' ) ) ) ;
2021-01-27 21:04:13 -05:00
}
2022-04-11 08:04:30 -04:00
return ( 0 , external _wp _element _namespaceObject . createElement ) ( "div" , ( 0 , external _wp _blockEditor _namespaceObject . useBlockProps ) ( ) , ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _blockEditor _namespaceObject . Warning , {
2021-01-27 21:04:13 -05:00
actions : actions
2022-04-11 08:04:30 -04:00
} , messageHTML ) , ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _element _namespaceObject . RawHTML , null , originalUndelimitedContent ) ) ;
2020-10-13 09:10:30 -04:00
} ;
2021-05-19 11:09:27 -04:00
/* harmony default export */ var get _install _missing = ( getInstallMissing ) ;
2020-10-13 09:10:30 -04:00
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/plugins/index.js
2020-06-26 09:33:47 -04:00
2020-01-08 06:57:23 -05:00
2020-07-07 10:43:35 -04:00
/ * *
* WordPress dependencies
* /
2020-10-13 09:10:30 -04:00
2020-01-03 08:17:24 -05:00
/ * *
* Internal dependencies
* /
2020-07-07 10:43:35 -04:00
2022-04-11 08:04:30 -04:00
( 0 , external _wp _plugins _namespaceObject . registerPlugin ) ( 'block-directory' , {
2021-05-19 11:09:27 -04:00
render ( ) {
2022-04-11 08:04:30 -04:00
return ( 0 , external _wp _element _namespaceObject . createElement ) ( external _wp _element _namespaceObject . Fragment , null , ( 0 , external _wp _element _namespaceObject . createElement ) ( AutoBlockUninstaller , null ) , ( 0 , external _wp _element _namespaceObject . createElement ) ( inserter _menu _downloadable _blocks _panel , null ) , ( 0 , external _wp _element _namespaceObject . createElement ) ( InstalledBlocksPrePublishPanel , null ) ) ;
2020-10-13 09:10:30 -04:00
}
2021-05-19 11:09:27 -04:00
2020-10-13 09:10:30 -04:00
} ) ;
2022-04-11 08:04:30 -04:00
( 0 , external _wp _hooks _namespaceObject . addFilter ) ( 'blocks.registerBlockType' , 'block-directory/fallback' , ( settings , name ) => {
2020-10-13 09:10:30 -04:00
if ( name !== 'core/missing' ) {
return settings ;
}
2020-07-27 16:10:36 -04:00
2020-10-13 09:10:30 -04:00
settings . edit = get _install _missing ( settings . edit ) ;
return settings ;
} ) ;
2020-07-27 16:10:36 -04:00
2022-04-11 08:04:30 -04:00
; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/index.js
2020-10-13 09:10:30 -04:00
/ * *
* Internal dependencies
* /
2020-07-27 16:10:36 -04:00
2020-01-08 06:57:23 -05:00
2020-01-03 08:17:24 -05:00
2022-04-11 08:04:30 -04:00
( window . wp = window . wp || { } ) . blockDirectory = _ _webpack _exports _ _ ;
/******/ } ) ( )
;