text: this["wp"] = this["wp"] || {}; this["wp"]["formatLibrary"] =
  /******/ (function(modules) { // webpackBootstrap
  /******/ 	// The module cache
  /******/ 	var installedModules = {};
  /******/
  /******/ 	// The require function
  /******/ 	function __webpack_require__(moduleId) {
  /******/
  /******/ 		// Check if module is in cache
  /******/ 		if(installedModules[moduleId]) {
  /******/ 			return installedModules[moduleId].exports;
  /******/ 		}
  /******/ 		// Create a new module (and put it into the cache)
  /******/ 		var module = installedModules[moduleId] = {
  /******/ 			i: moduleId,
  /******/ 			l: false,
  /******/ 			exports: {}
  /******/ 		};
  /******/
  /******/ 		// Execute the module function
  /******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
  /******/
  /******/ 		// Flag the module as loaded
  /******/ 		module.l = true;
  /******/
  /******/ 		// Return the exports of the module
  /******/ 		return module.exports;
  /******/ 	}
  /******/
  /******/
  /******/ 	// expose the modules object (__webpack_modules__)
  /******/ 	__webpack_require__.m = modules;
  /******/
  /******/ 	// expose the module cache
  /******/ 	__webpack_require__.c = installedModules;
  /******/
  /******/ 	// define getter function for harmony exports
  /******/ 	__webpack_require__.d = function(exports, name, getter) {
  /******/ 		if(!__webpack_require__.o(exports, name)) {
  /******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
  /******/ 		}
  /******/ 	};
  /******/
  /******/ 	// 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 });
  /******/ 	};
  /******/
  /******/ 	// create a fake namespace object
  /******/ 	// mode & 1: value is a module id, require it
  /******/ 	// mode & 2: merge all properties of value into the ns
  /******/ 	// mode & 4: return value when already ns object
  /******/ 	// mode & 8|1: behave like require
  /******/ 	__webpack_require__.t = function(value, mode) {
  /******/ 		if(mode & 1) value = __webpack_require__(value);
  /******/ 		if(mode & 8) return value;
  /******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
  /******/ 		var ns = Object.create(null);
  /******/ 		__webpack_require__.r(ns);
  /******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
  /******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
  /******/ 		return ns;
  /******/ 	};
  /******/
  /******/ 	// getDefaultExport function for compatibility with non-harmony modules
  /******/ 	__webpack_require__.n = function(module) {
  /******/ 		var getter = module && module.__esModule ?
  /******/ 			function getDefault() { return module['default']; } :
  /******/ 			function getModuleExports() { return module; };
  /******/ 		__webpack_require__.d(getter, 'a', getter);
  /******/ 		return getter;
  /******/ 	};
  /******/
  /******/ 	// Object.prototype.hasOwnProperty.call
  /******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
  /******/
  /******/ 	// __webpack_public_path__
  /******/ 	__webpack_require__.p = "";
  /******/
  /******/
  /******/ 	// Load entry module and return exports
  /******/ 	return __webpack_require__(__webpack_require__.s = 313);
  /******/ })
  /************************************************************************/
  /******/ ({
  
  /***/ 0:
  /***/ (function(module, exports) {
  
  (function() { module.exports = this["wp"]["element"]; }());
  
  /***/ }),
  
  /***/ 1:
  /***/ (function(module, exports) {
  
  (function() { module.exports = this["wp"]["i18n"]; }());
  
  /***/ }),
  
  /***/ 10:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _classCallCheck; });
  function _classCallCheck(instance, Constructor) {
    if (!(instance instanceof Constructor)) {
      throw new TypeError("Cannot call a class as a function");
    }
  }
  
  /***/ }),
  
  /***/ 12:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _possibleConstructorReturn; });
  /* harmony import */ var _helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(28);
  /* harmony import */ var _assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);
  
  
  function _possibleConstructorReturn(self, call) {
    if (call && (Object(_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(call) === "object" || typeof call === "function")) {
      return call;
    }
  
    return Object(_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(self);
  }
  
  /***/ }),
  
  /***/ 13:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _getPrototypeOf; });
  function _getPrototypeOf(o) {
    _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
      return o.__proto__ || Object.getPrototypeOf(o);
    };
    return _getPrototypeOf(o);
  }
  
  /***/ }),
  
  /***/ 14:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  
  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
  function _setPrototypeOf(o, p) {
    _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
      o.__proto__ = p;
      return o;
    };
  
    return _setPrototypeOf(o, p);
  }
  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _inherits; });
  
  function _inherits(subClass, superClass) {
    if (typeof superClass !== "function" && superClass !== null) {
      throw new TypeError("Super expression must either be null or a function");
    }
  
    subClass.prototype = Object.create(superClass && superClass.prototype, {
      constructor: {
        value: subClass,
        writable: true,
        configurable: true
      }
    });
    if (superClass) _setPrototypeOf(subClass, superClass);
  }
  
  /***/ }),
  
  /***/ 16:
  /***/ (function(module, exports) {
  
  (function() { module.exports = this["wp"]["keycodes"]; }());
  
  /***/ }),
  
  /***/ 17:
  /***/ (function(module, exports, __webpack_require__) {
  
  var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
    Copyright (c) 2017 Jed Watson.
    Licensed under the MIT License (MIT), see
    http://jedwatson.github.io/classnames
  */
  /* global define */
  
  (function () {
  	'use strict';
  
  	var hasOwn = {}.hasOwnProperty;
  
  	function classNames () {
  		var classes = [];
  
  		for (var i = 0; i < arguments.length; i++) {
  			var arg = arguments[i];
  			if (!arg) continue;
  
  			var argType = typeof arg;
  
  			if (argType === 'string' || argType === 'number') {
  				classes.push(arg);
  			} else if (Array.isArray(arg) && arg.length) {
  				var inner = classNames.apply(null, arg);
  				if (inner) {
  					classes.push(inner);
  				}
  			} else if (argType === 'object') {
  				for (var key in arg) {
  					if (hasOwn.call(arg, key) && arg[key]) {
  						classes.push(key);
  					}
  				}
  			}
  		}
  
  		return classes.join(' ');
  	}
  
  	if ( true && module.exports) {
  		classNames.default = classNames;
  		module.exports = classNames;
  	} else if (true) {
  		// register as 'classnames', consistent with npm package name
  		!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {
  			return classNames;
  		}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
  				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
  	} else {}
  }());
  
  
  /***/ }),
  
  /***/ 2:
  /***/ (function(module, exports) {
  
  (function() { module.exports = this["lodash"]; }());
  
  /***/ }),
  
  /***/ 20:
  /***/ (function(module, exports) {
  
  (function() { module.exports = this["wp"]["richText"]; }());
  
  /***/ }),
  
  /***/ 21:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  
  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
  function _objectWithoutPropertiesLoose(source, excluded) {
    if (source == null) return {};
    var target = {};
    var sourceKeys = Object.keys(source);
    var key, i;
  
    for (i = 0; i < sourceKeys.length; i++) {
      key = sourceKeys[i];
      if (excluded.indexOf(key) >= 0) continue;
      target[key] = source[key];
    }
  
    return target;
  }
  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutProperties; });
  
  function _objectWithoutProperties(source, excluded) {
    if (source == null) return {};
    var target = _objectWithoutPropertiesLoose(source, excluded);
    var key, i;
  
    if (Object.getOwnPropertySymbols) {
      var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
  
      for (i = 0; i < sourceSymbolKeys.length; i++) {
        key = sourceSymbolKeys[i];
        if (excluded.indexOf(key) >= 0) continue;
        if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
        target[key] = source[key];
      }
    }
  
    return target;
  }
  
  /***/ }),
  
  /***/ 22:
  /***/ (function(module, exports) {
  
  (function() { module.exports = this["wp"]["dom"]; }());
  
  /***/ }),
  
  /***/ 24:
  /***/ (function(module, exports) {
  
  (function() { module.exports = this["wp"]["url"]; }());
  
  /***/ }),
  
  /***/ 28:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _typeof; });
  function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); }
  
  function _typeof(obj) {
    if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") {
      _typeof = function _typeof(obj) {
        return _typeof2(obj);
      };
    } else {
      _typeof = function _typeof(obj) {
        return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj);
      };
    }
  
    return _typeof(obj);
  }
  
  /***/ }),
  
  /***/ 3:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _assertThisInitialized; });
  function _assertThisInitialized(self) {
    if (self === void 0) {
      throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
    }
  
    return self;
  }
  
  /***/ }),
  
  /***/ 313:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  
  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js + 1 modules
  var objectWithoutProperties = __webpack_require__(21);
  
  // EXTERNAL MODULE: external {"this":["wp","element"]}
  var external_this_wp_element_ = __webpack_require__(0);
  
  // EXTERNAL MODULE: external {"this":["wp","i18n"]}
  var external_this_wp_i18n_ = __webpack_require__(1);
  
  // EXTERNAL MODULE: external {"this":["wp","richText"]}
  var external_this_wp_richText_ = __webpack_require__(20);
  
  // EXTERNAL MODULE: external {"this":["wp","editor"]}
  var external_this_wp_editor_ = __webpack_require__(6);
  
  // CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/bold/index.js
  
  
  /**
   * WordPress dependencies
   */
  
  
  
  
  var bold_name = 'core/bold';
  var bold = {
    name: bold_name,
    title: Object(external_this_wp_i18n_["__"])('Bold'),
    tagName: 'strong',
    className: null,
    edit: function edit(_ref) {
      var isActive = _ref.isActive,
          value = _ref.value,
          onChange = _ref.onChange;
  
      var onToggle = function onToggle() {
        return onChange(Object(external_this_wp_richText_["toggleFormat"])(value, {
          type: bold_name
        }));
      };
  
      return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_editor_["RichTextShortcut"], {
        type: "primary",
        character: "b",
        onUse: onToggle
      }), Object(external_this_wp_element_["createElement"])(external_this_wp_editor_["RichTextToolbarButton"], {
        name: "bold",
        icon: "editor-bold",
        title: Object(external_this_wp_i18n_["__"])('Bold'),
        onClick: onToggle,
        isActive: isActive,
        shortcutType: "primary",
        shortcutCharacter: "b"
      }));
    }
  };
  
  // CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/code/index.js
  
  
  /**
   * WordPress dependencies
   */
  
  
  
  var code_name = 'core/code';
  var code = {
    name: code_name,
    title: Object(external_this_wp_i18n_["__"])('Code'),
    tagName: 'code',
    className: null,
    edit: function edit(_ref) {
      var value = _ref.value,
          onChange = _ref.onChange;
  
      var onToggle = function onToggle() {
        return onChange(Object(external_this_wp_richText_["toggleFormat"])(value, {
          type: code_name
        }));
      };
  
      return Object(external_this_wp_element_["createElement"])(external_this_wp_editor_["RichTextShortcut"], {
        type: "access",
        character: "x",
        onUse: onToggle
      });
    }
  };
  
  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
  var classCallCheck = __webpack_require__(10);
  
  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
  var createClass = __webpack_require__(9);
  
  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js
  var possibleConstructorReturn = __webpack_require__(12);
  
  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
  var getPrototypeOf = __webpack_require__(13);
  
  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules
  var inherits = __webpack_require__(14);
  
  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
  var assertThisInitialized = __webpack_require__(3);
  
  // EXTERNAL MODULE: external {"this":["wp","components"]}
  var external_this_wp_components_ = __webpack_require__(4);
  
  // CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/image/index.js
  
  
  
  
  
  
  
  
  /**
   * WordPress dependencies
   */
  
  
  
  
  
  var ALLOWED_MEDIA_TYPES = ['image'];
  var image_name = 'core/image';
  var image_image = {
    name: image_name,
    title: Object(external_this_wp_i18n_["__"])('Image'),
    keywords: [Object(external_this_wp_i18n_["__"])('photo'), Object(external_this_wp_i18n_["__"])('media')],
    object: true,
    tagName: 'img',
    className: null,
    attributes: {
      className: 'class',
      style: 'style',
      url: 'src',
      alt: 'alt'
    },
    edit:
    /*#__PURE__*/
    function (_Component) {
      Object(inherits["a" /* default */])(ImageEdit, _Component);
  
      function ImageEdit() {
        var _this;
  
        Object(classCallCheck["a" /* default */])(this, ImageEdit);
  
        _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(ImageEdit).apply(this, arguments));
        _this.openModal = _this.openModal.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
        _this.closeModal = _this.closeModal.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
        _this.state = {
          modal: false
        };
        return _this;
      }
  
      Object(createClass["a" /* default */])(ImageEdit, [{
        key: "openModal",
        value: function openModal() {
          this.setState({
            modal: true
          });
        }
      }, {
        key: "closeModal",
        value: function closeModal() {
          this.setState({
            modal: false
          });
        }
      }, {
        key: "render",
        value: function render() {
          var _this2 = this;
  
          var _this$props = this.props,
              value = _this$props.value,
              onChange = _this$props.onChange;
          return Object(external_this_wp_element_["createElement"])(external_this_wp_editor_["MediaUploadCheck"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_editor_["RichTextInserterItem"], {
            name: image_name,
            icon: Object(external_this_wp_element_["createElement"])(external_this_wp_components_["SVG"], {
              xmlns: "http://www.w3.org/2000/svg",
              viewBox: "0 0 24 24"
            }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Path"], {
              d: "M4 16h10c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2zM4 5h10v9H4V5zm14 9v2h4v-2h-4zM2 20h20v-2H2v2zm6.4-8.8L7 9.4 5 12h8l-2.6-3.4-2 2.6z"
            })),
            title: Object(external_this_wp_i18n_["__"])('Inline Image'),
            onClick: this.openModal
          }), this.state.modal && Object(external_this_wp_element_["createElement"])(external_this_wp_editor_["MediaUpload"], {
            allowedTypes: ALLOWED_MEDIA_TYPES,
            onSelect: function onSelect(_ref) {
              var id = _ref.id,
                  url = _ref.url,
                  alt = _ref.alt,
                  width = _ref.width;
  
              _this2.closeModal();
  
              onChange(Object(external_this_wp_richText_["insertObject"])(value, {
                type: image_name,
                attributes: {
                  className: "wp-image-".concat(id),
                  style: "width: ".concat(Math.min(width, 150), "px;"),
                  url: url,
                  alt: alt
                }
              }));
            },
            onClose: this.closeModal,
            render: function render(_ref2) {
              var open = _ref2.open;
              open();
              return null;
            }
          }));
        }
      }]);
  
      return ImageEdit;
    }(external_this_wp_element_["Component"])
  };
  
  // CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/italic/index.js
  
  
  /**
   * WordPress dependencies
   */
  
  
  
  
  var italic_name = 'core/italic';
  var italic = {
    name: italic_name,
    title: Object(external_this_wp_i18n_["__"])('Italic'),
    tagName: 'em',
    className: null,
    edit: function edit(_ref) {
      var isActive = _ref.isActive,
          value = _ref.value,
          onChange = _ref.onChange;
  
      var onToggle = function onToggle() {
        return onChange(Object(external_this_wp_richText_["toggleFormat"])(value, {
          type: italic_name
        }));
      };
  
      return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_editor_["RichTextShortcut"], {
        type: "primary",
        character: "i",
        onUse: onToggle
      }), Object(external_this_wp_element_["createElement"])(external_this_wp_editor_["RichTextToolbarButton"], {
        name: "italic",
        icon: "editor-italic",
        title: Object(external_this_wp_i18n_["__"])('Italic'),
        onClick: onToggle,
        isActive: isActive,
        shortcutType: "primary",
        shortcutCharacter: "i"
      }));
    }
  };
  
  // EXTERNAL MODULE: external {"this":["wp","url"]}
  var external_this_wp_url_ = __webpack_require__(24);
  
  // EXTERNAL MODULE: ./node_modules/classnames/index.js
  var classnames = __webpack_require__(17);
  var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
  
  // EXTERNAL MODULE: external {"this":["wp","keycodes"]}
  var external_this_wp_keycodes_ = __webpack_require__(16);
  
  // EXTERNAL MODULE: external {"this":["wp","dom"]}
  var external_this_wp_dom_ = __webpack_require__(22);
  
  // CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/link/positioned-at-selection.js
  
  
  
  
  
  
  
  /**
   * WordPress dependencies
   */
  
  
  /**
   * Returns a style object for applying as `position: absolute` for an element
   * relative to the bottom-center of the current selection. Includes `top` and
   * `left` style properties.
   *
   * @return {Object} Style object.
   */
  
  function getCurrentCaretPositionStyle() {
    var selection = window.getSelection(); // Unlikely, but in the case there is no selection, return empty styles so
    // as to avoid a thrown error by `Selection#getRangeAt` on invalid index.
  
    if (selection.rangeCount === 0) {
      return {};
    } // Get position relative viewport.
  
  
    var rect = Object(external_this_wp_dom_["getRectangleFromRange"])(selection.getRangeAt(0));
    var top = rect.top + rect.height;
    var left = rect.left + rect.width / 2; // Offset by positioned parent, if one exists.
  
    var offsetParent = Object(external_this_wp_dom_["getOffsetParent"])(selection.anchorNode);
  
    if (offsetParent) {
      var parentRect = offsetParent.getBoundingClientRect();
      top -= parentRect.top;
      left -= parentRect.left;
    }
  
    return {
      top: top,
      left: left
    };
  }
  /**
   * Component which renders itself positioned under the current caret selection.
   * The position is calculated at the time of the component being mounted, so it
   * should only be mounted after the desired selection has been made.
   *
   * @type {WPComponent}
   */
  
  
  var positioned_at_selection_PositionedAtSelection =
  /*#__PURE__*/
  function (_Component) {
    Object(inherits["a" /* default */])(PositionedAtSelection, _Component);
  
    function PositionedAtSelection() {
      var _this;
  
      Object(classCallCheck["a" /* default */])(this, PositionedAtSelection);
  
      _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(PositionedAtSelection).apply(this, arguments));
      _this.state = {
        style: getCurrentCaretPositionStyle()
      };
      return _this;
    }
  
    Object(createClass["a" /* default */])(PositionedAtSelection, [{
      key: "render",
      value: function render() {
        var children = this.props.children;
        var style = this.state.style;
        return Object(external_this_wp_element_["createElement"])("div", {
          className: "editor-format-toolbar__selection-position",
          style: style
        }, children);
      }
    }]);
  
    return PositionedAtSelection;
  }(external_this_wp_element_["Component"]);
  
  /* harmony default export */ var positioned_at_selection = (positioned_at_selection_PositionedAtSelection);
  
  // EXTERNAL MODULE: external "lodash"
  var external_lodash_ = __webpack_require__(2);
  
  // CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/link/utils.js
  /**
   * External dependencies
   */
  
  /**
   * WordPress dependencies
   */
  
  
  /**
   * Check for issues with the provided href.
   *
   * @param {string} href The href.
   *
   * @return {boolean} Is the href invalid?
   */
  
  function isValidHref(href) {
    if (!href) {
      return false;
    }
  
    var trimmedHref = href.trim();
  
    if (!trimmedHref) {
      return false;
    } // Does the href start with something that looks like a URL protocol?
  
  
    if (/^\S+:/.test(trimmedHref)) {
      var protocol = Object(external_this_wp_url_["getProtocol"])(trimmedHref);
  
      if (!Object(external_this_wp_url_["isValidProtocol"])(protocol)) {
        return false;
      } // Add some extra checks for http(s) URIs, since these are the most common use-case.
      // This ensures URIs with an http protocol have exactly two forward slashes following the protocol.
  
  
      if (Object(external_lodash_["startsWith"])(protocol, 'http') && !/^https?:\/\/[^\/\s]/i.test(trimmedHref)) {
        return false;
      }
  
      var authority = Object(external_this_wp_url_["getAuthority"])(trimmedHref);
  
      if (!Object(external_this_wp_url_["isValidAuthority"])(authority)) {
        return false;
      }
  
      var path = Object(external_this_wp_url_["getPath"])(trimmedHref);
  
      if (path && !Object(external_this_wp_url_["isValidPath"])(path)) {
        return false;
      }
  
      var queryString = Object(external_this_wp_url_["getQueryString"])(trimmedHref);
  
      if (queryString && !Object(external_this_wp_url_["isValidQueryString"])(queryString)) {
        return false;
      }
  
      var fragment = Object(external_this_wp_url_["getFragment"])(trimmedHref);
  
      if (fragment && !Object(external_this_wp_url_["isValidFragment"])(fragment)) {
        return false;
      }
    } // Validate anchor links.
  
  
    if (Object(external_lodash_["startsWith"])(trimmedHref, '#') && !Object(external_this_wp_url_["isValidFragment"])(trimmedHref)) {
      return false;
    }
  
    return true;
  }
  
  // CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/link/inline.js
  
  
  
  
  
  
  
  
  /**
   * External dependencies
   */
  
  /**
   * WordPress dependencies
   */
  
  
  
  
  
  
  
  
  /**
   * Internal dependencies
   */
  
  
  
  
  var stopKeyPropagation = function stopKeyPropagation(event) {
    return event.stopPropagation();
  };
  /**
   * Generates the format object that will be applied to the link text.
   *
   * @param {string}  url              The href of the link.
   * @param {boolean} opensInNewWindow Whether this link will open in a new window.
   * @param {Object}  text             The text that is being hyperlinked.
   *
   * @return {Object} The final format object.
   */
  
  
  function createLinkFormat(_ref) {
    var url = _ref.url,
        opensInNewWindow = _ref.opensInNewWindow,
        text = _ref.text;
    var format = {
      type: 'core/link',
      attributes: {
        url: url
      }
    };
  
    if (opensInNewWindow) {
      // translators: accessibility label for external links, where the argument is the link text
      var label = Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('%s (opens in a new tab)'), text);
      format.attributes.target = '_blank';
      format.attributes.rel = 'noreferrer noopener';
      format.attributes['aria-label'] = label;
    }
  
    return format;
  }
  
  function isShowingInput(props, state) {
    return props.addingLink || state.editLink;
  }
  
  var inline_LinkEditor = function LinkEditor(_ref2) {
    var value = _ref2.value,
        onChangeInputValue = _ref2.onChangeInputValue,
        onKeyDown = _ref2.onKeyDown,
        submitLink = _ref2.submitLink,
        autocompleteRef = _ref2.autocompleteRef;
    return (// Disable reason: KeyPress must be suppressed so the block doesn't hide the toolbar
  
      /* eslint-disable jsx-a11y/no-noninteractive-element-interactions */
      Object(external_this_wp_element_["createElement"])("form", {
        className: "editor-format-toolbar__link-container-content",
        onKeyPress: stopKeyPropagation,
        onKeyDown: onKeyDown,
        onSubmit: submitLink
      }, Object(external_this_wp_element_["createElement"])(external_this_wp_editor_["URLInput"], {
        value: value,
        onChange: onChangeInputValue,
        autocompleteRef: autocompleteRef
      }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["IconButton"], {
        icon: "editor-break",
        label: Object(external_this_wp_i18n_["__"])('Apply'),
        type: "submit"
      }))
      /* eslint-enable jsx-a11y/no-noninteractive-element-interactions */
  
    );
  };
  
  var inline_LinkViewerUrl = function LinkViewerUrl(_ref3) {
    var url = _ref3.url;
    var prependedURL = Object(external_this_wp_url_["prependHTTP"])(url);
    var linkClassName = classnames_default()('editor-format-toolbar__link-container-value', {
      'has-invalid-link': !isValidHref(prependedURL)
    });
  
    if (!url) {
      return Object(external_this_wp_element_["createElement"])("span", {
        className: linkClassName
      });
    }
  
    return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ExternalLink"], {
      className: linkClassName,
      href: url
    }, Object(external_this_wp_url_["filterURLForDisplay"])(Object(external_this_wp_url_["safeDecodeURI"])(url)));
  };
  
  var inline_LinkViewer = function LinkViewer(_ref4) {
    var url = _ref4.url,
        editLink = _ref4.editLink;
    return (// Disable reason: KeyPress must be suppressed so the block doesn't hide the toolbar
  
      /* eslint-disable jsx-a11y/no-static-element-interactions */
      Object(external_this_wp_element_["createElement"])("div", {
        className: "editor-format-toolbar__link-container-content",
        onKeyPress: stopKeyPropagation
      }, Object(external_this_wp_element_["createElement"])(inline_LinkViewerUrl, {
        url: url
      }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["IconButton"], {
        icon: "edit",
        label: Object(external_this_wp_i18n_["__"])('Edit'),
        onClick: editLink
      }))
      /* eslint-enable jsx-a11y/no-static-element-interactions */
  
    );
  };
  
  var inline_InlineLinkUI =
  /*#__PURE__*/
  function (_Component) {
    Object(inherits["a" /* default */])(InlineLinkUI, _Component);
  
    function InlineLinkUI() {
      var _this;
  
      Object(classCallCheck["a" /* default */])(this, InlineLinkUI);
  
      _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(InlineLinkUI).apply(this, arguments));
      _this.editLink = _this.editLink.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
      _this.submitLink = _this.submitLink.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
      _this.onKeyDown = _this.onKeyDown.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
      _this.onChangeInputValue = _this.onChangeInputValue.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
      _this.setLinkTarget = _this.setLinkTarget.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
      _this.onClickOutside = _this.onClickOutside.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
      _this.resetState = _this.resetState.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
      _this.autocompleteRef = Object(external_this_wp_element_["createRef"])();
      _this.state = {
        opensInNewWindow: false,
        inputValue: ''
      };
      return _this;
    }
  
    Object(createClass["a" /* default */])(InlineLinkUI, [{
      key: "onKeyDown",
      value: function onKeyDown(event) {
        if ([external_this_wp_keycodes_["LEFT"], external_this_wp_keycodes_["DOWN"], external_this_wp_keycodes_["RIGHT"], external_this_wp_keycodes_["UP"], external_this_wp_keycodes_["BACKSPACE"], external_this_wp_keycodes_["ENTER"]].indexOf(event.keyCode) > -1) {
          // Stop the key event from propagating up to ObserveTyping.startTypingInTextField.
          event.stopPropagation();
        }
      }
    }, {
      key: "onChangeInputValue",
      value: function onChangeInputValue(inputValue) {
        this.setState({
          inputValue: inputValue
        });
      }
    }, {
      key: "setLinkTarget",
      value: function setLinkTarget(opensInNewWindow) {
        var _this$props = this.props,
            _this$props$activeAtt = _this$props.activeAttributes.url,
            url = _this$props$activeAtt === void 0 ? '' : _this$props$activeAtt,
            value = _this$props.value,
            onChange = _this$props.onChange;
        this.setState({
          opensInNewWindow: opensInNewWindow
        }); // Apply now if URL is not being edited.
  
        if (!isShowingInput(this.props, this.state)) {
          var selectedText = Object(external_this_wp_richText_["getTextContent"])(Object(external_this_wp_richText_["slice"])(value));
          onChange(Object(external_this_wp_richText_["applyFormat"])(value, createLinkFormat({
            url: url,
            opensInNewWindow: opensInNewWindow,
            text: selectedText
          })));
        }
      }
    }, {
      key: "editLink",
      value: function editLink(event) {
        this.setState({
          editLink: true
        });
        event.preventDefault();
      }
    }, {
      key: "submitLink",
      value: function submitLink(event) {
        var _this$props2 = this.props,
            isActive = _this$props2.isActive,
            value = _this$props2.value,
            onChange = _this$props2.onChange,
            speak = _this$props2.speak;
        var _this$state = this.state,
            inputValue = _this$state.inputValue,
            opensInNewWindow = _this$state.opensInNewWindow;
        var url = Object(external_this_wp_url_["prependHTTP"])(inputValue);
        var selectedText = Object(external_this_wp_richText_["getTextContent"])(Object(external_this_wp_richText_["slice"])(value));
        var format = createLinkFormat({
          url: url,
          opensInNewWindow: opensInNewWindow,
          text: selectedText
        });
        event.preventDefault();
  
        if (Object(external_this_wp_richText_["isCollapsed"])(value) && !isActive) {
          var toInsert = Object(external_this_wp_richText_["applyFormat"])(Object(external_this_wp_richText_["create"])({
            text: url
          }), format, 0, url.length);
          onChange(Object(external_this_wp_richText_["insert"])(value, toInsert));
        } else {
          onChange(Object(external_this_wp_richText_["applyFormat"])(value, format));
        }
  
        this.resetState();
  
        if (!isValidHref(url)) {
          speak(Object(external_this_wp_i18n_["__"])('Warning: the link has been inserted but may have errors. Please test it.'), 'assertive');
        } else if (isActive) {
          speak(Object(external_this_wp_i18n_["__"])('Link edited.'), 'assertive');
        } else {
          speak(Object(external_this_wp_i18n_["__"])('Link inserted.'), 'assertive');
        }
      }
    }, {
      key: "onClickOutside",
      value: function onClickOutside(event) {
        // The autocomplete suggestions list renders in a separate popover (in a portal),
        // so onClickOutside fails to detect that a click on a suggestion occured in the
        // LinkContainer. Detect clicks on autocomplete suggestions using a ref here, and
        // return to avoid the popover being closed.
        var autocompleteElement = this.autocompleteRef.current;
  
        if (autocompleteElement && autocompleteElement.contains(event.target)) {
          return;
        }
  
        this.resetState();
      }
    }, {
      key: "resetState",
      value: function resetState() {
        this.props.stopAddingLink();
        this.setState({
          editLink: false
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;
  
        var _this$props3 = this.props,
            isActive = _this$props3.isActive,
            url = _this$props3.activeAttributes.url,
            addingLink = _this$props3.addingLink,
            value = _this$props3.value;
  
        if (!isActive && !addingLink) {
          return null;
        }
  
        var _this$state2 = this.state,
            inputValue = _this$state2.inputValue,
            opensInNewWindow = _this$state2.opensInNewWindow;
        var showInput = isShowingInput(this.props, this.state);
        return Object(external_this_wp_element_["createElement"])(positioned_at_selection, {
          key: "".concat(value.start).concat(value.end)
          /* Used to force rerender on selection change */
  
        }, Object(external_this_wp_element_["createElement"])(external_this_wp_editor_["URLPopover"], {
          onClickOutside: this.onClickOutside,
          onClose: this.resetState,
          focusOnMount: showInput ? 'firstElement' : false,
          renderSettings: function renderSettings() {
            return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["ToggleControl"], {
              label: Object(external_this_wp_i18n_["__"])('Open in New Tab'),
              checked: opensInNewWindow,
              onChange: _this2.setLinkTarget
            });
          }
        }, showInput ? Object(external_this_wp_element_["createElement"])(inline_LinkEditor, {
          value: inputValue,
          onChangeInputValue: this.onChangeInputValue,
          onKeyDown: this.onKeyDown,
          submitLink: this.submitLink,
          autocompleteRef: this.autocompleteRef
        }) : Object(external_this_wp_element_["createElement"])(inline_LinkViewer, {
          url: url,
          editLink: this.editLink
        })));
      }
    }], [{
      key: "getDerivedStateFromProps",
      value: function getDerivedStateFromProps(props, state) {
        var _props$activeAttribut = props.activeAttributes,
            url = _props$activeAttribut.url,
            target = _props$activeAttribut.target;
        var opensInNewWindow = target === '_blank';
  
        if (!isShowingInput(props, state)) {
          if (url !== state.inputValue) {
            return {
              inputValue: url
            };
          }
  
          if (opensInNewWindow !== state.opensInNewWindow) {
            return {
              opensInNewWindow: opensInNewWindow
            };
          }
        }
  
        return null;
      }
    }]);
  
    return InlineLinkUI;
  }(external_this_wp_element_["Component"]);
  
  /* harmony default export */ var inline = (Object(external_this_wp_components_["withSpokenMessages"])(inline_InlineLinkUI));
  
  // CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/link/index.js
  
  
  
  
  
  
  
  
  /**
   * WordPress dependencies
   */
  
  
  
  
  
  
  /**
   * Internal dependencies
   */
  
  
  var link_name = 'core/link';
  var link_link = {
    name: link_name,
    title: Object(external_this_wp_i18n_["__"])('Link'),
    tagName: 'a',
    className: null,
    attributes: {
      url: 'href',
      target: 'target'
    },
    edit: Object(external_this_wp_components_["withSpokenMessages"])(
    /*#__PURE__*/
    function (_Component) {
      Object(inherits["a" /* default */])(LinkEdit, _Component);
  
      function LinkEdit() {
        var _this;
  
        Object(classCallCheck["a" /* default */])(this, LinkEdit);
  
        _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(LinkEdit).apply(this, arguments));
        _this.addLink = _this.addLink.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
        _this.stopAddingLink = _this.stopAddingLink.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
        _this.onRemoveFormat = _this.onRemoveFormat.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
        _this.state = {
          addingLink: false
        };
        return _this;
      }
  
      Object(createClass["a" /* default */])(LinkEdit, [{
        key: "addLink",
        value: function addLink() {
          var _this$props = this.props,
              value = _this$props.value,
              onChange = _this$props.onChange;
          var text = Object(external_this_wp_richText_["getTextContent"])(Object(external_this_wp_richText_["slice"])(value));
  
          if (text && Object(external_this_wp_url_["isURL"])(text)) {
            onChange(Object(external_this_wp_richText_["applyFormat"])(value, {
              type: link_name,
              attributes: {
                url: text
              }
            }));
          } else {
            this.setState({
              addingLink: true
            });
          }
        }
      }, {
        key: "stopAddingLink",
        value: function stopAddingLink() {
          this.setState({
            addingLink: false
          });
        }
      }, {
        key: "onRemoveFormat",
        value: function onRemoveFormat() {
          var _this$props2 = this.props,
              value = _this$props2.value,
              onChange = _this$props2.onChange,
              speak = _this$props2.speak;
          onChange(Object(external_this_wp_richText_["removeFormat"])(value, link_name));
          speak(Object(external_this_wp_i18n_["__"])('Link removed.'), 'assertive');
        }
      }, {
        key: "render",
        value: function render() {
          var _this$props3 = this.props,
              isActive = _this$props3.isActive,
              activeAttributes = _this$props3.activeAttributes,
              value = _this$props3.value,
              onChange = _this$props3.onChange;
          return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_editor_["RichTextShortcut"], {
            type: "access",
            character: "a",
            onUse: this.addLink
          }), Object(external_this_wp_element_["createElement"])(external_this_wp_editor_["RichTextShortcut"], {
            type: "access",
            character: "s",
            onUse: this.onRemoveFormat
          }), Object(external_this_wp_element_["createElement"])(external_this_wp_editor_["RichTextShortcut"], {
            type: "primary",
            character: "k",
            onUse: this.addLink
          }), Object(external_this_wp_element_["createElement"])(external_this_wp_editor_["RichTextShortcut"], {
            type: "primaryShift",
            character: "k",
            onUse: this.onRemoveFormat
          }), isActive && Object(external_this_wp_element_["createElement"])(external_this_wp_editor_["RichTextToolbarButton"], {
            name: "link",
            icon: "editor-unlink",
            title: Object(external_this_wp_i18n_["__"])('Unlink'),
            onClick: this.onRemoveFormat,
            isActive: isActive,
            shortcutType: "primaryShift",
            shortcutCharacter: "k"
          }), !isActive && Object(external_this_wp_element_["createElement"])(external_this_wp_editor_["RichTextToolbarButton"], {
            name: "link",
            icon: "admin-links",
            title: Object(external_this_wp_i18n_["__"])('Link'),
            onClick: this.addLink,
            isActive: isActive,
            shortcutType: "primary",
            shortcutCharacter: "k"
          }), Object(external_this_wp_element_["createElement"])(inline, {
            addingLink: this.state.addingLink,
            stopAddingLink: this.stopAddingLink,
            isActive: isActive,
            activeAttributes: activeAttributes,
            value: value,
            onChange: onChange
          }));
        }
      }]);
  
      return LinkEdit;
    }(external_this_wp_element_["Component"]))
  };
  
  // CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/strikethrough/index.js
  
  
  /**
   * WordPress dependencies
   */
  
  
  
  
  var strikethrough_name = 'core/strikethrough';
  var strikethrough = {
    name: strikethrough_name,
    title: Object(external_this_wp_i18n_["__"])('Strikethrough'),
    tagName: 'del',
    className: null,
    edit: function edit(_ref) {
      var isActive = _ref.isActive,
          value = _ref.value,
          onChange = _ref.onChange;
  
      var onToggle = function onToggle() {
        return onChange(Object(external_this_wp_richText_["toggleFormat"])(value, {
          type: strikethrough_name
        }));
      };
  
      return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_editor_["RichTextShortcut"], {
        type: "access",
        character: "d",
        onUse: onToggle
      }), Object(external_this_wp_element_["createElement"])(external_this_wp_editor_["RichTextToolbarButton"], {
        name: "strikethrough",
        icon: "editor-strikethrough",
        title: Object(external_this_wp_i18n_["__"])('Strikethrough'),
        onClick: onToggle,
        isActive: isActive,
        shortcutType: "access",
        shortcutCharacter: "d"
      }));
    }
  };
  
  // CONCATENATED MODULE: ./node_modules/@wordpress/format-library/build-module/index.js
  
  
  /**
   * Internal dependencies
   */
  
  
  
  
  
  
  /**
   * WordPress dependencies
   */
  
  
  [bold, code, image_image, italic, link_link, strikethrough].forEach(function (_ref) {
    var name = _ref.name,
        settings = Object(objectWithoutProperties["a" /* default */])(_ref, ["name"]);
  
    return Object(external_this_wp_richText_["registerFormatType"])(name, settings);
  });
  
  
  /***/ }),
  
  /***/ 4:
  /***/ (function(module, exports) {
  
  (function() { module.exports = this["wp"]["components"]; }());
  
  /***/ }),
  
  /***/ 6:
  /***/ (function(module, exports) {
  
  (function() { module.exports = this["wp"]["editor"]; }());
  
  /***/ }),
  
  /***/ 9:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _createClass; });
  function _defineProperties(target, props) {
    for (var i = 0; i < props.length; i++) {
      var descriptor = props[i];
      descriptor.enumerable = descriptor.enumerable || false;
      descriptor.configurable = true;
      if ("value" in descriptor) descriptor.writable = true;
      Object.defineProperty(target, descriptor.key, descriptor);
    }
  }
  
  function _createClass(Constructor, protoProps, staticProps) {
    if (protoProps) _defineProperties(Constructor.prototype, protoProps);
    if (staticProps) _defineProperties(Constructor, staticProps);
    return Constructor;
  }
  
  /***/ })
  
  /******/ });