[ Index ] |
PHP Cross Reference of WordPress Trunk (Updated Daily) |
[Summary view] [Print] [Text view]
1 this["wp"] = this["wp"] || {}; this["wp"]["blockDirectory"] = 2 /******/ (function(modules) { // webpackBootstrap 3 /******/ // The module cache 4 /******/ var installedModules = {}; 5 /******/ 6 /******/ // The require function 7 /******/ function __webpack_require__(moduleId) { 8 /******/ 9 /******/ // Check if module is in cache 10 /******/ if(installedModules[moduleId]) { 11 /******/ return installedModules[moduleId].exports; 12 /******/ } 13 /******/ // Create a new module (and put it into the cache) 14 /******/ var module = installedModules[moduleId] = { 15 /******/ i: moduleId, 16 /******/ l: false, 17 /******/ exports: {} 18 /******/ }; 19 /******/ 20 /******/ // Execute the module function 21 /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 22 /******/ 23 /******/ // Flag the module as loaded 24 /******/ module.l = true; 25 /******/ 26 /******/ // Return the exports of the module 27 /******/ return module.exports; 28 /******/ } 29 /******/ 30 /******/ 31 /******/ // expose the modules object (__webpack_modules__) 32 /******/ __webpack_require__.m = modules; 33 /******/ 34 /******/ // expose the module cache 35 /******/ __webpack_require__.c = installedModules; 36 /******/ 37 /******/ // define getter function for harmony exports 38 /******/ __webpack_require__.d = function(exports, name, getter) { 39 /******/ if(!__webpack_require__.o(exports, name)) { 40 /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); 41 /******/ } 42 /******/ }; 43 /******/ 44 /******/ // define __esModule on exports 45 /******/ __webpack_require__.r = function(exports) { 46 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 47 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 48 /******/ } 49 /******/ Object.defineProperty(exports, '__esModule', { value: true }); 50 /******/ }; 51 /******/ 52 /******/ // create a fake namespace object 53 /******/ // mode & 1: value is a module id, require it 54 /******/ // mode & 2: merge all properties of value into the ns 55 /******/ // mode & 4: return value when already ns object 56 /******/ // mode & 8|1: behave like require 57 /******/ __webpack_require__.t = function(value, mode) { 58 /******/ if(mode & 1) value = __webpack_require__(value); 59 /******/ if(mode & 8) return value; 60 /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; 61 /******/ var ns = Object.create(null); 62 /******/ __webpack_require__.r(ns); 63 /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); 64 /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); 65 /******/ return ns; 66 /******/ }; 67 /******/ 68 /******/ // getDefaultExport function for compatibility with non-harmony modules 69 /******/ __webpack_require__.n = function(module) { 70 /******/ var getter = module && module.__esModule ? 71 /******/ function getDefault() { return module['default']; } : 72 /******/ function getModuleExports() { return module; }; 73 /******/ __webpack_require__.d(getter, 'a', getter); 74 /******/ return getter; 75 /******/ }; 76 /******/ 77 /******/ // Object.prototype.hasOwnProperty.call 78 /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; 79 /******/ 80 /******/ // __webpack_public_path__ 81 /******/ __webpack_require__.p = ""; 82 /******/ 83 /******/ 84 /******/ // Load entry module and return exports 85 /******/ return __webpack_require__(__webpack_require__.s = 427); 86 /******/ }) 87 /************************************************************************/ 88 /******/ ({ 89 90 /***/ 0: 91 /***/ (function(module, exports) { 92 93 (function() { module.exports = this["wp"]["element"]; }()); 94 95 /***/ }), 96 97 /***/ 1: 98 /***/ (function(module, exports) { 99 100 (function() { module.exports = this["wp"]["i18n"]; }()); 101 102 /***/ }), 103 104 /***/ 10: 105 /***/ (function(module, exports) { 106 107 (function() { module.exports = this["wp"]["blocks"]; }()); 108 109 /***/ }), 110 111 /***/ 18: 112 /***/ (function(module, __webpack_exports__, __webpack_require__) { 113 114 "use strict"; 115 116 // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js 117 function _arrayWithoutHoles(arr) { 118 if (Array.isArray(arr)) { 119 for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { 120 arr2[i] = arr[i]; 121 } 122 123 return arr2; 124 } 125 } 126 // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js 127 var iterableToArray = __webpack_require__(32); 128 129 // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js 130 function _nonIterableSpread() { 131 throw new TypeError("Invalid attempt to spread non-iterable instance"); 132 } 133 // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js 134 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _toConsumableArray; }); 135 136 137 138 function _toConsumableArray(arr) { 139 return _arrayWithoutHoles(arr) || Object(iterableToArray["a" /* default */])(arr) || _nonIterableSpread(); 140 } 141 142 /***/ }), 143 144 /***/ 2: 145 /***/ (function(module, exports) { 146 147 (function() { module.exports = this["lodash"]; }()); 148 149 /***/ }), 150 151 /***/ 22: 152 /***/ (function(module, __webpack_exports__, __webpack_require__) { 153 154 "use strict"; 155 156 // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js 157 var arrayWithHoles = __webpack_require__(36); 158 159 // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js 160 function _iterableToArrayLimit(arr, i) { 161 if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { 162 return; 163 } 164 165 var _arr = []; 166 var _n = true; 167 var _d = false; 168 var _e = undefined; 169 170 try { 171 for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { 172 _arr.push(_s.value); 173 174 if (i && _arr.length === i) break; 175 } 176 } catch (err) { 177 _d = true; 178 _e = err; 179 } finally { 180 try { 181 if (!_n && _i["return"] != null) _i["return"](); 182 } finally { 183 if (_d) throw _e; 184 } 185 } 186 187 return _arr; 188 } 189 // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js 190 var nonIterableRest = __webpack_require__(37); 191 192 // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js 193 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _slicedToArray; }); 194 195 196 197 function _slicedToArray(arr, i) { 198 return Object(arrayWithHoles["a" /* default */])(arr) || _iterableToArrayLimit(arr, i) || Object(nonIterableRest["a" /* default */])(); 199 } 200 201 /***/ }), 202 203 /***/ 23: 204 /***/ (function(module, exports) { 205 206 (function() { module.exports = this["regeneratorRuntime"]; }()); 207 208 /***/ }), 209 210 /***/ 3: 211 /***/ (function(module, exports) { 212 213 (function() { module.exports = this["wp"]["components"]; }()); 214 215 /***/ }), 216 217 /***/ 32: 218 /***/ (function(module, __webpack_exports__, __webpack_require__) { 219 220 "use strict"; 221 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _iterableToArray; }); 222 function _iterableToArray(iter) { 223 if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); 224 } 225 226 /***/ }), 227 228 /***/ 36: 229 /***/ (function(module, __webpack_exports__, __webpack_require__) { 230 231 "use strict"; 232 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _arrayWithHoles; }); 233 function _arrayWithHoles(arr) { 234 if (Array.isArray(arr)) return arr; 235 } 236 237 /***/ }), 238 239 /***/ 37: 240 /***/ (function(module, __webpack_exports__, __webpack_require__) { 241 242 "use strict"; 243 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _nonIterableRest; }); 244 function _nonIterableRest() { 245 throw new TypeError("Invalid attempt to destructure non-iterable instance"); 246 } 247 248 /***/ }), 249 250 /***/ 4: 251 /***/ (function(module, exports) { 252 253 (function() { module.exports = this["wp"]["data"]; }()); 254 255 /***/ }), 256 257 /***/ 40: 258 /***/ (function(module, exports) { 259 260 (function() { module.exports = this["wp"]["apiFetch"]; }()); 261 262 /***/ }), 263 264 /***/ 427: 265 /***/ (function(module, __webpack_exports__, __webpack_require__) { 266 267 "use strict"; 268 __webpack_require__.r(__webpack_exports__); 269 var selectors_namespaceObject = {}; 270 __webpack_require__.r(selectors_namespaceObject); 271 __webpack_require__.d(selectors_namespaceObject, "isRequestingDownloadableBlocks", function() { return isRequestingDownloadableBlocks; }); 272 __webpack_require__.d(selectors_namespaceObject, "getDownloadableBlocks", function() { return selectors_getDownloadableBlocks; }); 273 __webpack_require__.d(selectors_namespaceObject, "hasInstallBlocksPermission", function() { return selectors_hasInstallBlocksPermission; }); 274 __webpack_require__.d(selectors_namespaceObject, "getInstalledBlockTypes", function() { return getInstalledBlockTypes; }); 275 var actions_namespaceObject = {}; 276 __webpack_require__.r(actions_namespaceObject); 277 __webpack_require__.d(actions_namespaceObject, "fetchDownloadableBlocks", function() { return fetchDownloadableBlocks; }); 278 __webpack_require__.d(actions_namespaceObject, "receiveDownloadableBlocks", function() { return receiveDownloadableBlocks; }); 279 __webpack_require__.d(actions_namespaceObject, "setInstallBlocksPermission", function() { return setInstallBlocksPermission; }); 280 __webpack_require__.d(actions_namespaceObject, "downloadBlock", function() { return actions_downloadBlock; }); 281 __webpack_require__.d(actions_namespaceObject, "installBlock", function() { return actions_installBlock; }); 282 __webpack_require__.d(actions_namespaceObject, "uninstallBlock", function() { return uninstallBlock; }); 283 __webpack_require__.d(actions_namespaceObject, "addInstalledBlockType", function() { return addInstalledBlockType; }); 284 __webpack_require__.d(actions_namespaceObject, "removeInstalledBlockType", function() { return removeInstalledBlockType; }); 285 286 // EXTERNAL MODULE: external {"this":["wp","data"]} 287 var external_this_wp_data_ = __webpack_require__(4); 288 289 // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 2 modules 290 var toConsumableArray = __webpack_require__(18); 291 292 // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js 293 var defineProperty = __webpack_require__(5); 294 295 // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/store/reducer.js 296 297 298 299 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 300 301 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 302 303 /** 304 * WordPress dependencies 305 */ 306 307 /** 308 * Reducer returning an array of downloadable blocks. 309 * 310 * @param {Object} state Current state. 311 * @param {Object} action Dispatched action. 312 * 313 * @return {Object} Updated state. 314 */ 315 316 var reducer_downloadableBlocks = function downloadableBlocks() { 317 var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { 318 results: {}, 319 filterValue: undefined, 320 isRequestingDownloadableBlocks: true 321 }; 322 var action = arguments.length > 1 ? arguments[1] : undefined; 323 324 switch (action.type) { 325 case 'FETCH_DOWNLOADABLE_BLOCKS': 326 return _objectSpread({}, state, { 327 isRequestingDownloadableBlocks: true 328 }); 329 330 case 'RECEIVE_DOWNLOADABLE_BLOCKS': 331 return _objectSpread({}, state, { 332 results: Object.assign({}, state.results, Object(defineProperty["a" /* default */])({}, action.filterValue, action.downloadableBlocks)), 333 isRequestingDownloadableBlocks: false 334 }); 335 } 336 337 return state; 338 }; 339 /** 340 * Reducer managing the installation and deletion of blocks. 341 * 342 * @param {Object} state Current state. 343 * @param {Object} action Dispatched action. 344 * 345 * @return {Object} Updated state. 346 */ 347 348 var reducer_blockManagement = function blockManagement() { 349 var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { 350 installedBlockTypes: [] 351 }; 352 var action = arguments.length > 1 ? arguments[1] : undefined; 353 354 switch (action.type) { 355 case 'ADD_INSTALLED_BLOCK_TYPE': 356 return _objectSpread({}, state, { 357 installedBlockTypes: [].concat(Object(toConsumableArray["a" /* default */])(state.installedBlockTypes), [action.item]) 358 }); 359 360 case 'REMOVE_INSTALLED_BLOCK_TYPE': 361 return _objectSpread({}, state, { 362 installedBlockTypes: state.installedBlockTypes.filter(function (blockType) { 363 return blockType.name !== action.item.name; 364 }) 365 }); 366 } 367 368 return state; 369 }; 370 /** 371 * Reducer returns whether the user can install blocks. 372 * 373 * @param {Object} state Current state. 374 * @param {Object} action Dispatched action. 375 * 376 * @return {Object} Updated state. 377 */ 378 379 function reducer_hasPermission() { 380 var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; 381 var action = arguments.length > 1 ? arguments[1] : undefined; 382 383 if (action.type === 'SET_INSTALL_BLOCKS_PERMISSION') { 384 return action.hasPermission; 385 } 386 387 return state; 388 } 389 /* harmony default export */ var reducer = (Object(external_this_wp_data_["combineReducers"])({ 390 downloadableBlocks: reducer_downloadableBlocks, 391 blockManagement: reducer_blockManagement, 392 hasPermission: reducer_hasPermission 393 })); 394 395 // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/store/selectors.js 396 /** 397 * Returns true if application is requesting for downloadable blocks. 398 * 399 * @param {Object} state Global application state. 400 * 401 * @return {Array} Downloadable blocks 402 */ 403 function isRequestingDownloadableBlocks(state) { 404 return state.downloadableBlocks.isRequestingDownloadableBlocks; 405 } 406 /** 407 * Returns the available uninstalled blocks 408 * 409 * @param {Object} state Global application state. 410 * @param {string} filterValue Search string. 411 * 412 * @return {Array} Downloadable blocks 413 */ 414 415 function selectors_getDownloadableBlocks(state, filterValue) { 416 if (!state.downloadableBlocks.results[filterValue]) { 417 return []; 418 } 419 420 return state.downloadableBlocks.results[filterValue]; 421 } 422 /** 423 * Returns true if user has permission to install blocks. 424 * 425 * @param {Object} state Global application state. 426 * 427 * @return {boolean} User has permission to install blocks. 428 */ 429 430 function selectors_hasInstallBlocksPermission(state) { 431 return state.hasPermission; 432 } 433 /** 434 * Returns the block types that have been installed on the server. 435 * 436 * @param {Object} state Global application state. 437 * 438 * @return {Array} Block type items. 439 */ 440 441 function getInstalledBlockTypes(state) { 442 return state.blockManagement.installedBlockTypes; 443 } 444 445 // EXTERNAL MODULE: external {"this":"regeneratorRuntime"} 446 var external_this_regeneratorRuntime_ = __webpack_require__(23); 447 var external_this_regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(external_this_regeneratorRuntime_); 448 449 // EXTERNAL MODULE: external {"this":["wp","blocks"]} 450 var external_this_wp_blocks_ = __webpack_require__(10); 451 452 // EXTERNAL MODULE: external {"this":"lodash"} 453 var external_this_lodash_ = __webpack_require__(2); 454 455 // EXTERNAL MODULE: external {"this":["wp","apiFetch"]} 456 var external_this_wp_apiFetch_ = __webpack_require__(40); 457 var external_this_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_this_wp_apiFetch_); 458 459 // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/store/controls.js 460 461 462 463 464 function controls_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 465 466 function controls_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { controls_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { controls_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 467 468 var _marked = 469 /*#__PURE__*/ 470 external_this_regeneratorRuntime_default.a.mark(loadAssets); 471 472 /** 473 * External dependencies 474 */ 475 476 /** 477 * WordPress dependencies 478 */ 479 480 481 482 /** 483 * Calls a selector using the current state. 484 * 485 * @param {string} storeName Store name. 486 * @param {string} selectorName Selector name. 487 * @param {Array} args Selector arguments. 488 * 489 * @return {Object} Control descriptor. 490 */ 491 492 function controls_select(storeName, selectorName) { 493 for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { 494 args[_key - 2] = arguments[_key]; 495 } 496 497 return { 498 type: 'SELECT', 499 storeName: storeName, 500 selectorName: selectorName, 501 args: args 502 }; 503 } 504 /** 505 * Calls a dispatcher using the current state. 506 * 507 * @param {string} storeName Store name. 508 * @param {string} dispatcherName Dispatcher name. 509 * @param {Array} args Selector arguments. 510 * 511 * @return {Object} Control descriptor. 512 */ 513 514 function controls_dispatch(storeName, dispatcherName) { 515 for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { 516 args[_key2 - 2] = arguments[_key2]; 517 } 518 519 return { 520 type: 'DISPATCH', 521 storeName: storeName, 522 dispatcherName: dispatcherName, 523 args: args 524 }; 525 } 526 /** 527 * Trigger an API Fetch request. 528 * 529 * @param {Object} request API Fetch Request Object. 530 * 531 * @return {Object} Control descriptor. 532 */ 533 534 function apiFetch(request) { 535 return { 536 type: 'API_FETCH', 537 request: request 538 }; 539 } 540 /** 541 * Loads JavaScript 542 * 543 * @param {Array} asset The url for the JavaScript. 544 * @param {Function} onLoad Callback function on success. 545 * @param {Function} onError Callback function on failure. 546 */ 547 548 var loadScript = function loadScript(asset, onLoad, onError) { 549 if (!asset) { 550 return; 551 } 552 553 var existing = document.querySelector("script[src=\"".concat(asset.src, "\"]")); 554 555 if (existing) { 556 existing.parentNode.removeChild(existing); 557 } 558 559 var script = document.createElement('script'); 560 script.src = typeof asset === 'string' ? asset : asset.src; 561 script.onload = onLoad; 562 script.onerror = onError; 563 document.body.appendChild(script); 564 }; 565 /** 566 * Loads CSS file. 567 * 568 * @param {*} asset the url for the CSS file. 569 */ 570 571 572 var loadStyle = function loadStyle(asset) { 573 if (!asset) { 574 return; 575 } 576 577 var link = document.createElement('link'); 578 link.rel = 'stylesheet'; 579 link.href = typeof asset === 'string' ? asset : asset.src; 580 document.body.appendChild(link); 581 }; 582 /** 583 * Load the asset files for a block 584 * 585 * @param {Array} assets A collection of URL for the assets. 586 * 587 * @return {Object} Control descriptor. 588 */ 589 590 591 function loadAssets(assets) { 592 return external_this_regeneratorRuntime_default.a.wrap(function loadAssets$(_context) { 593 while (1) { 594 switch (_context.prev = _context.next) { 595 case 0: 596 return _context.abrupt("return", { 597 type: 'LOAD_ASSETS', 598 assets: assets 599 }); 600 601 case 1: 602 case "end": 603 return _context.stop(); 604 } 605 } 606 }, _marked); 607 } 608 var controls = { 609 SELECT: Object(external_this_wp_data_["createRegistryControl"])(function (registry) { 610 return function (_ref) { 611 var _registry$select; 612 613 var storeName = _ref.storeName, 614 selectorName = _ref.selectorName, 615 args = _ref.args; 616 return (_registry$select = registry.select(storeName))[selectorName].apply(_registry$select, Object(toConsumableArray["a" /* default */])(args)); 617 }; 618 }), 619 DISPATCH: Object(external_this_wp_data_["createRegistryControl"])(function (registry) { 620 return function (_ref2) { 621 var _registry$dispatch; 622 623 var storeName = _ref2.storeName, 624 dispatcherName = _ref2.dispatcherName, 625 args = _ref2.args; 626 return (_registry$dispatch = registry.dispatch(storeName))[dispatcherName].apply(_registry$dispatch, Object(toConsumableArray["a" /* default */])(args)); 627 }; 628 }), 629 API_FETCH: function API_FETCH(_ref3) { 630 var request = _ref3.request; 631 return external_this_wp_apiFetch_default()(controls_objectSpread({}, request)); 632 }, 633 LOAD_ASSETS: function LOAD_ASSETS(_ref4) { 634 var assets = _ref4.assets; 635 return new Promise(function (resolve, reject) { 636 if (Array.isArray(assets)) { 637 var scriptsCount = 0; 638 Object(external_this_lodash_["forEach"])(assets, function (asset) { 639 if (asset.match(/\.js$/) !== null) { 640 scriptsCount++; 641 loadScript(asset, function () { 642 scriptsCount--; 643 644 if (scriptsCount === 0) { 645 return resolve(scriptsCount); 646 } 647 }, reject); 648 } else { 649 loadStyle(asset); 650 } 651 }); 652 } else { 653 loadScript(assets.editor_script, function () { 654 return resolve(0); 655 }, reject); 656 loadStyle(assets.style); 657 } 658 }); 659 } 660 }; 661 /* harmony default export */ var store_controls = (controls); 662 663 // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/store/actions.js 664 665 666 var actions_marked = 667 /*#__PURE__*/ 668 external_this_regeneratorRuntime_default.a.mark(actions_downloadBlock), 669 _marked2 = 670 /*#__PURE__*/ 671 external_this_regeneratorRuntime_default.a.mark(actions_installBlock), 672 _marked3 = 673 /*#__PURE__*/ 674 external_this_regeneratorRuntime_default.a.mark(uninstallBlock); 675 676 /** 677 * WordPress dependencies 678 */ 679 680 /** 681 * Internal dependencies 682 */ 683 684 685 /** 686 * Returns an action object used in signalling that the downloadable blocks have been requested and is loading. 687 * 688 * @return {Object} Action object. 689 */ 690 691 function fetchDownloadableBlocks() { 692 return { 693 type: 'FETCH_DOWNLOADABLE_BLOCKS' 694 }; 695 } 696 /** 697 * Returns an action object used in signalling that the downloadable blocks have been updated. 698 * 699 * @param {Array} downloadableBlocks Downloadable blocks. 700 * @param {string} filterValue Search string. 701 * 702 * @return {Object} Action object. 703 */ 704 705 function receiveDownloadableBlocks(downloadableBlocks, filterValue) { 706 return { 707 type: 'RECEIVE_DOWNLOADABLE_BLOCKS', 708 downloadableBlocks: downloadableBlocks, 709 filterValue: filterValue 710 }; 711 } 712 /** 713 * Returns an action object used in signalling that the user does not have permission to install blocks. 714 * 715 @param {boolean} hasPermission User has permission to install blocks. 716 * 717 * @return {Object} Action object. 718 */ 719 720 function setInstallBlocksPermission(hasPermission) { 721 return { 722 type: 'SET_INSTALL_BLOCKS_PERMISSION', 723 hasPermission: hasPermission 724 }; 725 } 726 /** 727 * Action triggered to download block assets. 728 * 729 * @param {Object} item The selected block item 730 * @param {Function} onSuccess The callback function when the action has succeeded. 731 * @param {Function} onError The callback function when the action has failed. 732 */ 733 734 function actions_downloadBlock(item, onSuccess, onError) { 735 var registeredBlocks; 736 return external_this_regeneratorRuntime_default.a.wrap(function downloadBlock$(_context) { 737 while (1) { 738 switch (_context.prev = _context.next) { 739 case 0: 740 _context.prev = 0; 741 742 if (item.assets.length) { 743 _context.next = 3; 744 break; 745 } 746 747 throw new Error('Block has no assets'); 748 749 case 3: 750 _context.next = 5; 751 return loadAssets(item.assets); 752 753 case 5: 754 registeredBlocks = Object(external_this_wp_blocks_["getBlockTypes"])(); 755 756 if (!registeredBlocks.length) { 757 _context.next = 10; 758 break; 759 } 760 761 onSuccess(item); 762 _context.next = 11; 763 break; 764 765 case 10: 766 throw new Error('Unable to get block types'); 767 768 case 11: 769 _context.next = 17; 770 break; 771 772 case 13: 773 _context.prev = 13; 774 _context.t0 = _context["catch"](0); 775 _context.next = 17; 776 return onError(_context.t0); 777 778 case 17: 779 case "end": 780 return _context.stop(); 781 } 782 } 783 }, actions_marked, null, [[0, 13]]); 784 } 785 /** 786 * Action triggered to install a block plugin. 787 * 788 * @param {string} item The block item returned by search. 789 * @param {Function} onSuccess The callback function when the action has succeeded. 790 * @param {Function} onError The callback function when the action has failed. 791 * 792 */ 793 794 function actions_installBlock(_ref, onSuccess, onError) { 795 var id, name, response; 796 return external_this_regeneratorRuntime_default.a.wrap(function installBlock$(_context2) { 797 while (1) { 798 switch (_context2.prev = _context2.next) { 799 case 0: 800 id = _ref.id, name = _ref.name; 801 _context2.prev = 1; 802 _context2.next = 4; 803 return apiFetch({ 804 path: '__experimental/block-directory/install', 805 data: { 806 slug: id 807 }, 808 method: 'POST' 809 }); 810 811 case 4: 812 response = _context2.sent; 813 814 if (!(response.success === false)) { 815 _context2.next = 7; 816 break; 817 } 818 819 throw new Error(response.errorMessage); 820 821 case 7: 822 _context2.next = 9; 823 return addInstalledBlockType({ 824 id: id, 825 name: name 826 }); 827 828 case 9: 829 onSuccess(); 830 _context2.next = 15; 831 break; 832 833 case 12: 834 _context2.prev = 12; 835 _context2.t0 = _context2["catch"](1); 836 onError(_context2.t0); 837 838 case 15: 839 case "end": 840 return _context2.stop(); 841 } 842 } 843 }, _marked2, null, [[1, 12]]); 844 } 845 /** 846 * Action triggered to uninstall a block plugin. 847 * 848 * @param {string} item The block item returned by search. 849 * @param {Function} onSuccess The callback function when the action has succeeded. 850 * @param {Function} onError The callback function when the action has failed. 851 * 852 */ 853 854 function uninstallBlock(_ref2, onSuccess, onError) { 855 var id, name, response; 856 return external_this_regeneratorRuntime_default.a.wrap(function uninstallBlock$(_context3) { 857 while (1) { 858 switch (_context3.prev = _context3.next) { 859 case 0: 860 id = _ref2.id, name = _ref2.name; 861 _context3.prev = 1; 862 _context3.next = 4; 863 return apiFetch({ 864 path: '__experimental/block-directory/uninstall', 865 data: { 866 slug: id 867 }, 868 method: 'DELETE' 869 }); 870 871 case 4: 872 response = _context3.sent; 873 874 if (!(response.success === false)) { 875 _context3.next = 7; 876 break; 877 } 878 879 throw new Error(response.errorMessage); 880 881 case 7: 882 _context3.next = 9; 883 return removeInstalledBlockType({ 884 id: id, 885 name: name 886 }); 887 888 case 9: 889 onSuccess(); 890 _context3.next = 15; 891 break; 892 893 case 12: 894 _context3.prev = 12; 895 _context3.t0 = _context3["catch"](1); 896 onError(_context3.t0); 897 898 case 15: 899 case "end": 900 return _context3.stop(); 901 } 902 } 903 }, _marked3, null, [[1, 12]]); 904 } 905 /** 906 * Returns an action object used to add a newly installed block type. 907 * 908 * @param {string} item The block item with the block id and name. 909 * 910 * @return {Object} Action object. 911 */ 912 913 function addInstalledBlockType(item) { 914 return { 915 type: 'ADD_INSTALLED_BLOCK_TYPE', 916 item: item 917 }; 918 } 919 /** 920 * Returns an action object used to remove a newly installed block type. 921 * 922 * @param {string} item The block item with the block id and name. 923 * 924 * @return {Object} Action object. 925 */ 926 927 function removeInstalledBlockType(item) { 928 return { 929 type: 'REMOVE_INSTALLED_BLOCK_TYPE', 930 item: item 931 }; 932 } 933 934 // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/store/resolvers.js 935 936 937 /** 938 * External dependencies 939 */ 940 941 /** 942 * Internal dependencies 943 */ 944 945 946 947 /* harmony default export */ var resolvers = ({ 948 getDownloadableBlocks: 949 /*#__PURE__*/ 950 external_this_regeneratorRuntime_default.a.mark(function getDownloadableBlocks(filterValue) { 951 var results, blocks; 952 return external_this_regeneratorRuntime_default.a.wrap(function getDownloadableBlocks$(_context) { 953 while (1) { 954 switch (_context.prev = _context.next) { 955 case 0: 956 if (filterValue) { 957 _context.next = 2; 958 break; 959 } 960 961 return _context.abrupt("return"); 962 963 case 2: 964 _context.prev = 2; 965 _context.next = 5; 966 return fetchDownloadableBlocks(filterValue); 967 968 case 5: 969 _context.next = 7; 970 return apiFetch({ 971 path: "__experimental/block-directory/search?term=".concat(filterValue) 972 }); 973 974 case 7: 975 results = _context.sent; 976 blocks = results.map(function (result) { 977 return Object(external_this_lodash_["mapKeys"])(result, function (value, key) { 978 return Object(external_this_lodash_["camelCase"])(key); 979 }); 980 }); 981 _context.next = 11; 982 return receiveDownloadableBlocks(blocks, filterValue); 983 984 case 11: 985 _context.next = 18; 986 break; 987 988 case 13: 989 _context.prev = 13; 990 _context.t0 = _context["catch"](2); 991 992 if (!(_context.t0.code === 'rest_user_cannot_view')) { 993 _context.next = 18; 994 break; 995 } 996 997 _context.next = 18; 998 return setInstallBlocksPermission(false); 999 1000 case 18: 1001 case "end": 1002 return _context.stop(); 1003 } 1004 } 1005 }, getDownloadableBlocks, null, [[2, 13]]); 1006 }), 1007 hasInstallBlocksPermission: 1008 /*#__PURE__*/ 1009 external_this_regeneratorRuntime_default.a.mark(function hasInstallBlocksPermission() { 1010 return external_this_regeneratorRuntime_default.a.wrap(function hasInstallBlocksPermission$(_context2) { 1011 while (1) { 1012 switch (_context2.prev = _context2.next) { 1013 case 0: 1014 _context2.prev = 0; 1015 _context2.next = 3; 1016 return apiFetch({ 1017 path: "__experimental/block-directory/search?term=" 1018 }); 1019 1020 case 3: 1021 _context2.next = 5; 1022 return setInstallBlocksPermission(true); 1023 1024 case 5: 1025 _context2.next = 12; 1026 break; 1027 1028 case 7: 1029 _context2.prev = 7; 1030 _context2.t0 = _context2["catch"](0); 1031 1032 if (!(_context2.t0.code === 'rest_user_cannot_view')) { 1033 _context2.next = 12; 1034 break; 1035 } 1036 1037 _context2.next = 12; 1038 return setInstallBlocksPermission(false); 1039 1040 case 12: 1041 case "end": 1042 return _context2.stop(); 1043 } 1044 } 1045 }, hasInstallBlocksPermission, null, [[0, 7]]); 1046 }) 1047 }); 1048 1049 // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/store/index.js 1050 /** 1051 * WordPress dependencies 1052 */ 1053 1054 /** 1055 * Internal dependencies 1056 */ 1057 1058 1059 1060 1061 1062 1063 /** 1064 * Module Constants 1065 */ 1066 1067 var MODULE_KEY = 'core/block-directory'; 1068 /** 1069 * Block editor data store configuration. 1070 * 1071 * @see https://github.com/WordPress/gutenberg/blob/master/packages/data/README.md#registerStore 1072 * 1073 * @type {Object} 1074 */ 1075 1076 var storeConfig = { 1077 reducer: reducer, 1078 selectors: selectors_namespaceObject, 1079 actions: actions_namespaceObject, 1080 controls: store_controls, 1081 resolvers: resolvers 1082 }; 1083 var store = Object(external_this_wp_data_["registerStore"])(MODULE_KEY, storeConfig); 1084 /* harmony default export */ var build_module_store = (store); 1085 1086 // EXTERNAL MODULE: external {"this":["wp","element"]} 1087 var external_this_wp_element_ = __webpack_require__(0); 1088 1089 // EXTERNAL MODULE: external {"this":["wp","plugins"]} 1090 var external_this_wp_plugins_ = __webpack_require__(53); 1091 1092 // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules 1093 var slicedToArray = __webpack_require__(22); 1094 1095 // EXTERNAL MODULE: external {"this":["wp","blockEditor"]} 1096 var external_this_wp_blockEditor_ = __webpack_require__(6); 1097 1098 // EXTERNAL MODULE: external {"this":["wp","compose"]} 1099 var external_this_wp_compose_ = __webpack_require__(8); 1100 1101 // EXTERNAL MODULE: external {"this":["wp","i18n"]} 1102 var external_this_wp_i18n_ = __webpack_require__(1); 1103 1104 // EXTERNAL MODULE: external {"this":["wp","components"]} 1105 var external_this_wp_components_ = __webpack_require__(3); 1106 1107 // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/components/block-ratings/stars.js 1108 1109 1110 /** 1111 * External dependencies 1112 */ 1113 1114 /** 1115 * WordPress dependencies 1116 */ 1117 1118 1119 1120 1121 function Stars(_ref) { 1122 var rating = _ref.rating; 1123 var stars = Math.round(rating / 0.5) * 0.5; 1124 var fullStarCount = Math.floor(rating); 1125 var halfStarCount = Math.ceil(rating - fullStarCount); 1126 var emptyStarCount = 5 - (fullStarCount + halfStarCount); 1127 return Object(external_this_wp_element_["createElement"])("div", { 1128 "aria-label": Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('%s out of 5 stars'), stars) 1129 }, Object(external_this_lodash_["times"])(fullStarCount, function (i) { 1130 return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Icon"], { 1131 key: "full_stars_".concat(i), 1132 icon: "star-filled", 1133 size: 16 1134 }); 1135 }), Object(external_this_lodash_["times"])(halfStarCount, function (i) { 1136 return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Icon"], { 1137 key: "half_stars_".concat(i), 1138 icon: "star-half", 1139 size: 16 1140 }); 1141 }), Object(external_this_lodash_["times"])(emptyStarCount, function (i) { 1142 return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Icon"], { 1143 key: "empty_stars_".concat(i), 1144 icon: "star-empty", 1145 size: 16 1146 }); 1147 })); 1148 } 1149 1150 /* harmony default export */ var block_ratings_stars = (Stars); 1151 1152 // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/components/block-ratings/index.js 1153 1154 1155 /** 1156 * WordPress dependencies 1157 */ 1158 1159 /** 1160 * Internal dependencies 1161 */ 1162 1163 1164 var block_ratings_BlockRatings = function BlockRatings(_ref) { 1165 var rating = _ref.rating, 1166 ratingCount = _ref.ratingCount; 1167 return Object(external_this_wp_element_["createElement"])("div", { 1168 className: "block-directory-block-ratings" 1169 }, Object(external_this_wp_element_["createElement"])(block_ratings_stars, { 1170 rating: rating 1171 }), Object(external_this_wp_element_["createElement"])("span", { 1172 className: "block-directory-block-ratings__rating-count", 1173 "aria-label": // translators: %d: number of ratings (number). 1174 Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["_n"])('%d total rating', '%d total ratings', ratingCount), ratingCount) 1175 }, "(", ratingCount, ")")); 1176 }; 1177 /* harmony default export */ var block_ratings = (block_ratings_BlockRatings); 1178 1179 // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/components/downloadable-block-header/index.js 1180 1181 1182 /** 1183 * WordPress dependencies 1184 */ 1185 1186 1187 /** 1188 * Internal dependencies 1189 */ 1190 1191 1192 1193 1194 function DownloadableBlockHeader(_ref) { 1195 var icon = _ref.icon, 1196 title = _ref.title, 1197 rating = _ref.rating, 1198 ratingCount = _ref.ratingCount, 1199 _onClick = _ref.onClick; 1200 return Object(external_this_wp_element_["createElement"])("div", { 1201 className: "block-directory-downloadable-block-header__row" 1202 }, icon.match(/\.(jpeg|jpg|gif|png)(?:\?.*)?$/) !== null ? // translators: %s: Name of the plugin e.g: "Akismet". 1203 Object(external_this_wp_element_["createElement"])("img", { 1204 src: icon, 1205 alt: Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('%s block icon'), title) 1206 }) : Object(external_this_wp_element_["createElement"])("span", null, Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["BlockIcon"], { 1207 icon: icon, 1208 showColors: true 1209 })), Object(external_this_wp_element_["createElement"])("div", { 1210 className: "block-directory-downloadable-block-header__column" 1211 }, Object(external_this_wp_element_["createElement"])("span", { 1212 role: "heading", 1213 className: "block-directory-downloadable-block-header__title" 1214 }, title), Object(external_this_wp_element_["createElement"])(block_ratings, { 1215 rating: rating, 1216 ratingCount: ratingCount 1217 })), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], { 1218 isDefault: true, 1219 onClick: function onClick(event) { 1220 event.preventDefault(); 1221 1222 _onClick(); 1223 } 1224 }, Object(external_this_wp_i18n_["__"])('Add block'))); 1225 } 1226 1227 /* harmony default export */ var downloadable_block_header = (DownloadableBlockHeader); 1228 1229 // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/components/downloadable-block-author-info/index.js 1230 1231 1232 /** 1233 * WordPress dependencies 1234 */ 1235 1236 1237 1238 function DownloadableBlockAuthorInfo(_ref) { 1239 var author = _ref.author, 1240 authorBlockCount = _ref.authorBlockCount, 1241 authorBlockRating = _ref.authorBlockRating; 1242 return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])("span", { 1243 className: "block-directory-downloadable-block-author-info__content-author" 1244 }, Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('Authored by %s'), author)), Object(external_this_wp_element_["createElement"])("span", { 1245 className: "block-directory-downloadable-block-author-info__content" 1246 }, Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["_n"])('This author has %d block, with an average rating of %d.', 'This author has %d blocks, with an average rating of %d.', authorBlockCount), authorBlockCount, authorBlockRating))); 1247 } 1248 1249 /* harmony default export */ var downloadable_block_author_info = (DownloadableBlockAuthorInfo); 1250 1251 // EXTERNAL MODULE: external {"this":["wp","primitives"]} 1252 var external_this_wp_primitives_ = __webpack_require__(9); 1253 1254 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/update.js 1255 1256 1257 /** 1258 * WordPress dependencies 1259 */ 1260 1261 var update = Object(external_this_wp_element_["createElement"])(external_this_wp_primitives_["SVG"], { 1262 xmlns: "http://www.w3.org/2000/svg", 1263 viewBox: "-2 -2 24 24" 1264 }, Object(external_this_wp_element_["createElement"])(external_this_wp_primitives_["Path"], { 1265 d: "M10.2 3.28c3.53 0 6.43 2.61 6.92 6h2.08l-3.5 4-3.5-4h2.32c-.45-1.97-2.21-3.45-4.32-3.45-1.45 0-2.73.71-3.54 1.78L4.95 5.66C6.23 4.2 8.11 3.28 10.2 3.28zm-.4 13.44c-3.52 0-6.43-2.61-6.92-6H.8l3.5-4c1.17 1.33 2.33 2.67 3.5 4H5.48c.45 1.97 2.21 3.45 4.32 3.45 1.45 0 2.73-.71 3.54-1.78l1.71 1.95c-1.28 1.46-3.15 2.38-5.25 2.38z" 1266 })); 1267 /* harmony default export */ var library_update = (update); 1268 1269 // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/components/downloadable-block-info/index.js 1270 1271 1272 /** 1273 * WordPress dependencies 1274 */ 1275 1276 1277 1278 1279 1280 function DownloadableBlockInfo(_ref) { 1281 var description = _ref.description, 1282 activeInstalls = _ref.activeInstalls, 1283 humanizedUpdated = _ref.humanizedUpdated; 1284 return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])("p", { 1285 className: "block-directory-downloadable-block-info__content" 1286 }, description), Object(external_this_wp_element_["createElement"])("div", { 1287 className: "block-directory-downloadable-block-info__row" 1288 }, Object(external_this_wp_element_["createElement"])("div", { 1289 className: "block-directory-downloadable-block-info__column" 1290 }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Icon"], { 1291 icon: "chart-line" 1292 }), Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["_n"])('%d active installation', '%d active installations', activeInstalls), activeInstalls)), Object(external_this_wp_element_["createElement"])("div", { 1293 className: "block-directory-downloadable-block-info__column" 1294 }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Icon"], { 1295 icon: library_update 1296 }), // translators: %s: Humanized date of last update e.g: "2 months ago". 1297 Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('Updated %s'), humanizedUpdated)))); 1298 } 1299 1300 /* harmony default export */ var downloadable_block_info = (DownloadableBlockInfo); 1301 1302 // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/components/downloadable-block-list-item/index.js 1303 1304 1305 /** 1306 * Internal dependencies 1307 */ 1308 1309 1310 1311 1312 function DownloadableBlockListItem(_ref) { 1313 var item = _ref.item, 1314 onClick = _ref.onClick; 1315 var icon = item.icon, 1316 title = item.title, 1317 description = item.description, 1318 rating = item.rating, 1319 activeInstalls = item.activeInstalls, 1320 ratingCount = item.ratingCount, 1321 author = item.author, 1322 humanizedUpdated = item.humanizedUpdated, 1323 authorBlockCount = item.authorBlockCount, 1324 authorBlockRating = item.authorBlockRating; 1325 return Object(external_this_wp_element_["createElement"])("li", { 1326 className: "block-directory-downloadable-block-list-item" 1327 }, Object(external_this_wp_element_["createElement"])("article", { 1328 className: "block-directory-downloadable-block-list-item__panel" 1329 }, Object(external_this_wp_element_["createElement"])("header", { 1330 className: "block-directory-downloadable-block-list-item__header" 1331 }, Object(external_this_wp_element_["createElement"])(downloadable_block_header, { 1332 icon: icon, 1333 onClick: onClick, 1334 title: title, 1335 rating: rating, 1336 ratingCount: ratingCount 1337 })), Object(external_this_wp_element_["createElement"])("section", { 1338 className: "block-directory-downloadable-block-list-item__body" 1339 }, Object(external_this_wp_element_["createElement"])(downloadable_block_info, { 1340 activeInstalls: activeInstalls, 1341 description: description, 1342 humanizedUpdated: humanizedUpdated 1343 })), Object(external_this_wp_element_["createElement"])("footer", { 1344 className: "block-directory-downloadable-block-list-item__footer" 1345 }, Object(external_this_wp_element_["createElement"])(downloadable_block_author_info, { 1346 author: author, 1347 authorBlockCount: authorBlockCount, 1348 authorBlockRating: authorBlockRating 1349 })))); 1350 } 1351 1352 /* harmony default export */ var downloadable_block_list_item = (DownloadableBlockListItem); 1353 1354 // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/components/downloadable-blocks-list/index.js 1355 1356 1357 /** 1358 * External dependencies 1359 */ 1360 1361 /** 1362 * WordPress dependencies 1363 */ 1364 1365 1366 1367 1368 1369 /** 1370 * Internal dependencies 1371 */ 1372 1373 1374 var DOWNLOAD_ERROR_NOTICE_ID = 'block-download-error'; 1375 var INSTALL_ERROR_NOTICE_ID = 'block-install-error'; 1376 1377 function DownloadableBlocksList(_ref) { 1378 var items = _ref.items, 1379 _ref$onHover = _ref.onHover, 1380 onHover = _ref$onHover === void 0 ? external_this_lodash_["noop"] : _ref$onHover, 1381 children = _ref.children, 1382 downloadAndInstallBlock = _ref.downloadAndInstallBlock; 1383 return ( 1384 /* 1385 * Disable reason: The `list` ARIA role is redundant but 1386 * Safari+VoiceOver won't announce the list otherwise. 1387 */ 1388 1389 /* eslint-disable jsx-a11y/no-redundant-roles */ 1390 Object(external_this_wp_element_["createElement"])("ul", { 1391 role: "list", 1392 className: "block-directory-downloadable-blocks-list" 1393 }, items && items.map(function (item) { 1394 return Object(external_this_wp_element_["createElement"])(downloadable_block_list_item, { 1395 key: item.id, 1396 className: Object(external_this_wp_blocks_["getBlockMenuDefaultClassName"])(item.id), 1397 icons: item.icons, 1398 onClick: function onClick() { 1399 downloadAndInstallBlock(item); 1400 onHover(null); 1401 }, 1402 onFocus: function onFocus() { 1403 return onHover(item); 1404 }, 1405 onMouseEnter: function onMouseEnter() { 1406 return onHover(item); 1407 }, 1408 onMouseLeave: function onMouseLeave() { 1409 return onHover(null); 1410 }, 1411 onBlur: function onBlur() { 1412 return onHover(null); 1413 }, 1414 item: item 1415 }); 1416 }), children) 1417 /* eslint-enable jsx-a11y/no-redundant-roles */ 1418 1419 ); 1420 } 1421 1422 /* harmony default export */ var downloadable_blocks_list = (Object(external_this_wp_compose_["compose"])(Object(external_this_wp_data_["withDispatch"])(function (dispatch, props) { 1423 var _dispatch = dispatch('core/block-directory'), 1424 installBlock = _dispatch.installBlock, 1425 downloadBlock = _dispatch.downloadBlock; 1426 1427 var _dispatch2 = dispatch('core/notices'), 1428 createErrorNotice = _dispatch2.createErrorNotice, 1429 removeNotice = _dispatch2.removeNotice; 1430 1431 var _dispatch3 = dispatch('core/block-editor'), 1432 removeBlocks = _dispatch3.removeBlocks; 1433 1434 var onSelect = props.onSelect; 1435 return { 1436 downloadAndInstallBlock: function downloadAndInstallBlock(item) { 1437 var onDownloadError = function onDownloadError() { 1438 createErrorNotice(Object(external_this_wp_i18n_["__"])('Block previews can’t load.'), { 1439 id: DOWNLOAD_ERROR_NOTICE_ID, 1440 actions: [{ 1441 label: Object(external_this_wp_i18n_["__"])('Retry'), 1442 onClick: function onClick() { 1443 removeNotice(DOWNLOAD_ERROR_NOTICE_ID); 1444 downloadBlock(item, onSuccess, onDownloadError); 1445 } 1446 }] 1447 }); 1448 }; 1449 1450 var onSuccess = function onSuccess() { 1451 var createdBlock = onSelect(item); 1452 1453 var onInstallBlockError = function onInstallBlockError() { 1454 createErrorNotice(Object(external_this_wp_i18n_["__"])("Block previews can't install."), { 1455 id: INSTALL_ERROR_NOTICE_ID, 1456 actions: [{ 1457 label: Object(external_this_wp_i18n_["__"])('Retry'), 1458 onClick: function onClick() { 1459 removeNotice(INSTALL_ERROR_NOTICE_ID); 1460 installBlock(item, external_this_lodash_["noop"], onInstallBlockError); 1461 } 1462 }, { 1463 label: Object(external_this_wp_i18n_["__"])('Remove'), 1464 onClick: function onClick() { 1465 removeNotice(INSTALL_ERROR_NOTICE_ID); 1466 removeBlocks(createdBlock.clientId); 1467 Object(external_this_wp_blocks_["unregisterBlockType"])(item.name); 1468 } 1469 }] 1470 }); 1471 }; 1472 1473 installBlock(item, external_this_lodash_["noop"], onInstallBlockError); 1474 }; 1475 1476 downloadBlock(item, onSuccess, onDownloadError); 1477 } 1478 }; 1479 }))(DownloadableBlocksList)); 1480 1481 // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/components/downloadable-blocks-panel/index.js 1482 1483 1484 /** 1485 * WordPress dependencies 1486 */ 1487 1488 1489 1490 1491 1492 /** 1493 * Internal dependencies 1494 */ 1495 1496 1497 1498 function DownloadableBlocksPanel(_ref) { 1499 var downloadableItems = _ref.downloadableItems, 1500 onSelect = _ref.onSelect, 1501 onHover = _ref.onHover, 1502 hasPermission = _ref.hasPermission, 1503 isLoading = _ref.isLoading, 1504 isWaiting = _ref.isWaiting, 1505 debouncedSpeak = _ref.debouncedSpeak; 1506 1507 if (!hasPermission) { 1508 debouncedSpeak(Object(external_this_wp_i18n_["__"])('No blocks found in your library. Please contact your site administrator to install new blocks.')); 1509 return Object(external_this_wp_element_["createElement"])("p", { 1510 className: "block-directory-downloadable-blocks-panel__description has-no-results" 1511 }, Object(external_this_wp_i18n_["__"])('No blocks found in your library.'), Object(external_this_wp_element_["createElement"])("br", null), Object(external_this_wp_i18n_["__"])('Please contact your site administrator to install new blocks.')); 1512 } 1513 1514 if (isLoading || isWaiting) { 1515 return Object(external_this_wp_element_["createElement"])("p", { 1516 className: "block-directory-downloadable-blocks-panel__description has-no-results" 1517 }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Spinner"], null)); 1518 } 1519 1520 if (!downloadableItems.length) { 1521 return Object(external_this_wp_element_["createElement"])("p", { 1522 className: "block-directory-downloadable-blocks-panel__description has-no-results" 1523 }, Object(external_this_wp_i18n_["__"])('No blocks found in your library.')); 1524 } 1525 1526 var resultsFoundMessage = Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["_n"])('No blocks found in your library. We did find %d block available for download.', 'No blocks found in your library. We did find %d blocks available for download.', downloadableItems.length), downloadableItems.length); 1527 debouncedSpeak(resultsFoundMessage); 1528 return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])("p", { 1529 className: "block-directory-downloadable-blocks-panel__description" 1530 }, Object(external_this_wp_i18n_["__"])('No blocks found in your library. These blocks can be downloaded and installed:')), Object(external_this_wp_element_["createElement"])(downloadable_blocks_list, { 1531 items: downloadableItems, 1532 onSelect: onSelect, 1533 onHover: onHover 1534 })); 1535 } 1536 1537 /* harmony default export */ var downloadable_blocks_panel = (Object(external_this_wp_compose_["compose"])([external_this_wp_components_["withSpokenMessages"], Object(external_this_wp_data_["withSelect"])(function (select, _ref2) { 1538 var filterValue = _ref2.filterValue; 1539 1540 var _select = select('core/block-directory'), 1541 getDownloadableBlocks = _select.getDownloadableBlocks, 1542 hasInstallBlocksPermission = _select.hasInstallBlocksPermission, 1543 isRequestingDownloadableBlocks = _select.isRequestingDownloadableBlocks; 1544 1545 var hasPermission = hasInstallBlocksPermission(); 1546 var downloadableItems = hasPermission ? getDownloadableBlocks(filterValue) : []; 1547 var isLoading = isRequestingDownloadableBlocks(); 1548 return { 1549 downloadableItems: downloadableItems, 1550 hasPermission: hasPermission, 1551 isLoading: isLoading 1552 }; 1553 })])(DownloadableBlocksPanel)); 1554 1555 // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/plugins/inserter-menu-downloadable-blocks-panel/index.js 1556 1557 1558 1559 /** 1560 * External dependencies 1561 */ 1562 1563 /** 1564 * WordPress dependencies 1565 */ 1566 1567 1568 1569 /** 1570 * Internal dependencies 1571 */ 1572 1573 1574 1575 function InserterMenuDownloadableBlocksPanel() { 1576 var _useState = Object(external_this_wp_element_["useState"])(''), 1577 _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2), 1578 debouncedFilterValue = _useState2[0], 1579 setFilterValue = _useState2[1]; 1580 1581 var debouncedSetFilterValue = Object(external_this_lodash_["debounce"])(setFilterValue, 400); 1582 return Object(external_this_wp_element_["createElement"])(external_this_wp_blockEditor_["__experimentalInserterMenuExtension"], null, function (_ref) { 1583 var onSelect = _ref.onSelect, 1584 onHover = _ref.onHover, 1585 filterValue = _ref.filterValue, 1586 hasItems = _ref.hasItems; 1587 1588 if (hasItems || !filterValue) { 1589 return null; 1590 } 1591 1592 if (debouncedFilterValue !== filterValue) { 1593 debouncedSetFilterValue(filterValue); 1594 } 1595 1596 return Object(external_this_wp_element_["createElement"])(downloadable_blocks_panel, { 1597 onSelect: onSelect, 1598 onHover: onHover, 1599 filterValue: debouncedFilterValue, 1600 isWaiting: filterValue !== debouncedFilterValue 1601 }); 1602 }); 1603 } 1604 1605 /* harmony default export */ var inserter_menu_downloadable_blocks_panel = (InserterMenuDownloadableBlocksPanel); 1606 1607 // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/plugins/index.js 1608 1609 1610 /** 1611 * WordPress dependencies 1612 */ 1613 1614 /** 1615 * Internal dependencies 1616 */ 1617 1618 1619 Object(external_this_wp_plugins_["registerPlugin"])('block-directory', { 1620 render: function render() { 1621 return Object(external_this_wp_element_["createElement"])(inserter_menu_downloadable_blocks_panel, null); 1622 } 1623 }); 1624 1625 // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/index.js 1626 /** 1627 * Internal dependencies 1628 */ 1629 1630 1631 1632 1633 /***/ }), 1634 1635 /***/ 5: 1636 /***/ (function(module, __webpack_exports__, __webpack_require__) { 1637 1638 "use strict"; 1639 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _defineProperty; }); 1640 function _defineProperty(obj, key, value) { 1641 if (key in obj) { 1642 Object.defineProperty(obj, key, { 1643 value: value, 1644 enumerable: true, 1645 configurable: true, 1646 writable: true 1647 }); 1648 } else { 1649 obj[key] = value; 1650 } 1651 1652 return obj; 1653 } 1654 1655 /***/ }), 1656 1657 /***/ 53: 1658 /***/ (function(module, exports) { 1659 1660 (function() { module.exports = this["wp"]["plugins"]; }()); 1661 1662 /***/ }), 1663 1664 /***/ 6: 1665 /***/ (function(module, exports) { 1666 1667 (function() { module.exports = this["wp"]["blockEditor"]; }()); 1668 1669 /***/ }), 1670 1671 /***/ 8: 1672 /***/ (function(module, exports) { 1673 1674 (function() { module.exports = this["wp"]["compose"]; }()); 1675 1676 /***/ }), 1677 1678 /***/ 9: 1679 /***/ (function(module, exports) { 1680 1681 (function() { module.exports = this["wp"]["primitives"]; }()); 1682 1683 /***/ }) 1684 1685 /******/ });
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated : Sat Dec 21 08:20:01 2024 | Cross-referenced by PHPXref |